These examples relate to the ontology of friends introduced earlier.
Individual: :patricia Facts: :hasFriend :arthur
Arthur is a Student and he's Happy. However, we find that Patricia is not an instance of
hasFriend only (Student and Happy)
Why not?
This is due to the open world assumption (OWA). We cannot assume that if we don't know something then it is false. In this example, there may be other friends that Patricia has that are not Students. Reasoning in DLs is monotonic — if we know that x is an instance of A, then adding more information to the model cannot cause this to become false.
Some of the individuals in the ontology have additional cardinality constraints which close the relation, allowing us to make further inferences about all the friends they have.
Individual: :xanthe Types: :hasFriend exactly 1 owl:Thing Facts: :hasFriend :arthur
Thus Xanthe is an instance of:
hasFriend only (Student and Happy)
as we know all the friends that she has (and they all match the description).
Making inferences about universal quantification requires us to know about all the fillers that an individual has for a particular property.
Individual: :william Types: :hasFriend exactly 0 owl:Thing
So William has no friends. However, William is an instance of:
hasFriend only (Student and Happy)
Why?
A common source of confusion in OWL semantics is when we have universal quantification over an empty set.
In this case, we know that William has no friends. So William is an instance of:
hasFriend only (Student and Happy)
and
hasFriend only (Student or Happy)
In fact he's an instance of
hasFriend only X
for any class description X (even Nothing).
Universal quantification over an empty collection is trivially true.