I am using Sesame2.3-pr1 together with OWLIM3-beta10
and have had very odd problems with the following
SERQL query:

   select distinct A FROM {A} rdfs:subClassOf {_:bnodenn}
     WHERE A!=x:theClass MINUS
     select distinct B FROM {B} owl:equivalentClass {_:bnodenn}

This query consistently returned some _:bnodeXY in the result set
that was quite definitely an owl:equivalentClass of _:bnodenn

In other words, running the query
  select distinct B FROM {B} owl:equivalentClass {_:bnodenn}

indeed DID return _:bnodeXY and yet it is also included in the
result set for the original query where the MINUS operator should
have removed it!

If I instead use this query:
  select distinct A FROM {A} rdfs:subClassOf {_:bnodenn}
     WHERE A!=x:theClass AND A!=ALL (
       select distinct B FROM {B} owl:equivalentClass {_:bnodenn})

_:bnodeXY is correctly not in the result set any more.

I tried to re-creating the repository and I tried all combinations
of owl-max with partialRDFS, no partialRDFS, persistent and not
persistent and in all cases the same incorrect output of
the first query is created (of course, each time the actual
blank node ids are different)

I also tried this with a native repository with rdfs and direct
type inference and there, this problem did not occur.

I have trouble to see how this can be anything else but a bug:

Should not the output of
  SetA MINUS SetB
always be exactly identical to
  elements el from SetA WHERE el != ALL SetB?

Cheers,
  Johann
_______________________________________________
OWLIM-discussion mailing list
[email protected]
http://ontotext.com/mailman/listinfo/owlim-discussion

Reply via email to