Hi, I am reading some materials about OWL and SWRL. The materials I read are SWRLLanguageFAQ and OWL 2 and SWRL Tutorial. In the SWRL LanguageFAQ, it mentioned that owl class expressions could be used in SWRL rules, especially the property cardinality restriction. For example,
According to my understanding, this means all individuals that are members of an OWL class with the restriction that its hasChild property has a minimum cardinality of one are parents. If we have the following definition:
For each individual of Class1, no matter whether it has the hasChild Property, it can be inferred as individual of Class Parent. For a class that has no such restriction, even its individual has the property hasChild, it can not be classified as individual of Parent. But I tried the example in OWL 2 and SWRL Tutorial. There's no restriction on Person Class, and there are three individuals Martin, Lenka and Ivan of Person. Martin and Lenka both hasChild Ivan. Use the SWRL rule mentioned above, Martin and Lenka are classified as individuals of Parent. Then I am quite confused. I tried to change the rule to
with ObjectExactCardinality, and it does not classify any more. I tried to change the rule to
with ObjectMaxCardinality, and it does not classify again. Can someone explain why and help to understand property restriction in SWRL? Thanks in advance.