Search code examples
owl

OWL universal quantification


I am half way reading the OWL2 primer and is having problem understanding the universal quantification

The example given is

EquivalentClasses(
    :HappyPerson 
    ObjectAllValuesFrom( :hasChild :HappyPerson )
)

It says somebody is a happy person exactly if all their children are happy persons. But what if John Doe has no children can he be an instance of HappyPerson? What about his parent?

I also find this part very confusing, it says:

Hence, by our above statement, every childless person would be qualified as happy.

but wouldn't it violate the ObjectAllValuesFrom() constructor?


Solution

  • I think the primer actually does quite a good job at explaining this, particularly the following:

    Natural language indicators for the usage of universal quantification are words like “only,” “exclusively,” or “nothing but.”

    To simplify this a bit further, consider the expression you've given:

    HappyPerson ≡ ∀ hasChild . HappyPerson

    This says that a HappyPerson is someone who only has children who are also HappyPerson (are also happy). Logically, this actually says nothing about the existence of instances of happy children. It simply serves as a universal constraint on any children that may exist (note that this includes any instances of HappyPerson that don't have any children).

    Compare this to the existential quantifier, exists (∃):

    HappyPerson ≡ ∃ hasChild . HappyPerson

    This says that a HappyPerson is someone who has at least one child that is also a HappyPerson. In constrast to (∀), this expression actually implies the existence of a happy child for every instance of a HappyPerson.

    The answer, albeit initially unintuitive, lies in the interpretation/semantics of the ObjectAllValuesFrom OWL construct in first-order logic (actually, Description Logic). Fundamentally, the ObjectAllValuesFrom construct relates to the logical universal quantifier (∀), and the ObjectSomeValuesFrom construct relates to the logical existential quantifier (∃).