0

In OWL ontology, let's have:

P Domain A
P Range B
A subClassOf P max 1 Thing

Asking a DL query

(1) P max 1 Thing

will return A; OK

Asking

(2) P exactly 1 Thing or P exactly 0 Thing

will return A as well.

However; asking

(3) P exactly 1 Thing

will return Nothing. And asking

(4) P exactly 0 Thing

will return Nothing as well.

I thought that the union of (3) + (4) results is equivalent to the result of (2). Unfortunately, it's not! Why?

Median Hilal
  • 1,483
  • 9
  • 17

1 Answers1

0

Because OWL semantics is not extensional. The "or" is not a set union. Based on your axioms, there is just no named class that is a subclass of (3) or (4).

In particular, when you ask DL Queries about classes, you ask queries about axioms that are entailed by your theory/ontology. They must be true in all possible interpretations of your theory. This includes (at least) one where all A's stand in P to exactly one other thing, one where all A's stand in P to exactly zero other things, and one in which there are no instances of A. DLQuerys will only return things that are true in all interpretations, and in some interpretations, the instances of A do not satisfy either (3) or (4).