[Pellet-users] Inconsistent Behavior of SelfRestriction

Wolfgang May may at informatik.uni-goettingen.de
Fri Nov 14 13:58:57 UTC 2008


Hi,

> > **** cyclic.sparql
> > prefix : <foo://bla/>
> > select ?N ?N2
> > from <file:cyclic.n3>
> > where {{?N a :Cyclic} UNION
> >       {:a a :Cyclic} UNION
> >       {?N :to ?N2}}
> > ****
> >
> > ---------------------------------
> > | N             | N2            |
> > =================================
> > | <foo://bla/b> |               |
> > | <foo://bla/a> | <foo://bla/a> |
> > | <foo://bla/a> | <foo://bla/b> |
> > | <foo://bla/b> | <foo://bla/b> |
> > ---------------------------------
> >
> > Cyclic: :b is detected (as asserted), but :a does not qualify (although,
> > as a->a, it should).
> 
> Yes, it looks like boolean queries asking if a is cyclic return the
> correct answer

No (at least not wrt. answering external queries): then, there 
would be a row without bindings for the 
 {:a a :Cyclic}
part of the query (if I add {:b a :Cyclic}, then there is such
an row for :b).

> but retrieval queries return incomplete answers. I've
> recorded this issue at [1].
> 
> >
> > When I remove the # in the last line of the n3,
> > i.e., asserting   not(:a a :Cyclic), it complains about an
> > inconsistent ontology -> so it "knows" that :a must be a :Cyclic.
> > (I read in some draft that SelfRestriction is only read as "if ... then
> > ...", not "iff", but then the inconcistency should not occur).
> 
> I'm not sure which draft you are referring

I found it again:
http://www.w3.org/2007/OWL/wiki/FullSemanticsSelfRestrictions

Cheers,
Wolfgang




More information about the Pellet-users mailing list