XSB not reading all rules

47 views Asked by At

I am trying to load some rules in XSB in order to query. My rule file consists of some facts extracted from ontology after translation and some reasoning mentioned below. The problem is xsb read the facts but does not use the given rules that were supposed to do the reasoning.

subclass('iri#a','iri#b').
subclass('iri#b','iri#c').
disjoint('iri#d','iri#f').
subclass(c1,c2) :- subclass(c1,c3),subclass(c3,c2).
disjoint(c1,c2) :- disjoint(c2,c1).

if I query disjoint('iri#f','iri#d') xsb return "no/false" and if I disjoint('iri#d','iri#f') xsb return true. I do not understand why disjoint is not reading in both direction.

I am giving file in xsb like this:

| ?- [myfile].
[myfile loaded]

yes
| ?- disjoint(X, Y).
0

There are 0 answers