d199224
d199224

Reputation: 541

SWI Prolog Database

is there a way I can query a SWI Prolog database to check if it doesn't contain an element?

I have tried using "not" but doesn't seem to work with this version of Prolog.

Upvotes: 0

Views: 384

Answers (1)

CapelliC
CapelliC

Reputation: 60004

maybe you're looking for clause/2. A dummy session sample

1 ?- [user].
|: a(1).
|: a(2).
|: a(X) :- b(X).
|: b(3).
|: b(4).
% user://1 compiled 0.03 sec, 6 clauses
true.

2 ?- clause(a(X),Body).
X = 1,
Body = true ;
X = 2,
Body = true ;
Body = b(X).

3 ?- clause(b(X),Body).
X = 3,
Body = true ;
X = 4,
Body = true.

4 ?- clause(c(X),Body).
false.

you can see that c/1 is not defined...

Anyway, SWi-Prolog database is a complex beast, and it offers much more control about its contents.

Upvotes: 2

Related Questions