Dear friends
I think, that your class HappyPerson is same as Person (the thirst description of HappyPerson - see Green color) or empty (the second description - see red color).
Why?
Ad 1.
If x is ChildLessPerson then x is HappyPerson, because no person, which is not HappyPerson, is his Child. So everybody, who has children is HappyPerson, because number of his descendants is final and leaves of his family tree are ChildLessPerson, so their parents are HappyPerson etc. So Parent is subclassof HappyPerson and ChildLessPerson too. And Union Of Parent and ChildlessPerson is Person, q.e.d. So people of "your" Family are
Ad 2.
If x is ChildLessPerson then x is not HappyPerson, because nobody exist who is person and child of x so ObjectSomeValuesFrom( :hasChild :HappyPerson ) is empty and Intersectionof is empty too. So everybody, who has children is not HappyPerson, because number of his descendants is final and leaves of his family tree are not HappyPerson, so their parents are not HappyPerson etc. q.e.d.
I think that every reasoner must generate such conlussion or not? If yes, such result was not propably your idea. And if not, why?
Thanks you for your next comment.
Best regards
Jiri Halir
Used example is from http://www.w3.org/TR/2009/REC-owl2-primer-20091027/#ref-rdf-concepts:
Another property restriction, called universal quantification is used to describe a class of individuals for which all related individuals must be instances of a given class. We can use the following statement to indicate that somebody is a happy person exactly if all their children are happy persons.
Functional-Style Syntax EquivalentClasses(
:HappyPerson
ObjectAllValuesFrom( :hasChild :HappyPerson )
)
This example also shows that OWL statements are allowed to by kind of self-referential; the class HappyPerson is used on both sides of the equivalence statement.
The usage of property restrictions may cause some conceptual confusion to "modeling beginners." As a rule of thumb, when translating a natural language statement into a logical axiom, existential quantification occurs far more frequently. Natural language indicators for the usage of universal quantification are words like "only," "exclusively," or "nothing but."
There is one particular misconception concerning the universal role restriction. As an example, consider the above happiness axiom. The intuitive reading suggests that in order to be happy, a person must have at least one happy child. Yet, this is not the case: any individual that is not a "starting point" of the property hasChild is class member of any class defined by universal quantification over hasChild. Hence, by our above statement, every childless person would be qualified as happy. In order to formalize the aforementioned intended reading, the statement would have to read as follows:
Functional-Style Syntax EquivalentClasses(
:HappyPerson
ObjectIntersectionOf(
ObjectAllValuesFrom( :hasChild :HappyPerson )
ObjectSomeValuesFrom( :hasChild :HappyPerson )
)
)
This example also illustrates how property restrictions can be nested with complex classes.
S pozdravem
JiÂ°Ă HalĂÂ°