Closed iamcrowd closed 2 years ago
If Adult is a subclass of the complement of Minor, Adult and Minor are disjoint (all instances of Adult are not Minor, and vice versa). Bug would be in Protege not showing that, I assume.
oh you are right. I just checked again the OWL specs. My mistake we take Protege as an "oracle". Thanks for the quick reply. Germán
I loaded a toy ontology with the axiom:
Subclass(Adult, ObjectComplementOf(Minor))
After reasoning I got the following inferences:
DisjointClasses(Minor, owl:Nothing) DisjointClasses(Adult, Minor) DisjointClasses(Adult, owl:Nothing) SubClassOf(Minor, owl:Thing) DisjointClasses(owl:Nothing owl:Thing) SubClassOf(Adult, owl:Thing)
However, Subclass(A, ObjectComplementOf(B)) does not imply DisjointClasses(Adult, Minor).
I checked by loading my owl in Protege and such a disjoint is not inferred there either.