![]() If A and B are disjoint, then the class expression A and B denotes the empty class, since nothing can be both an A and a B. (hasChild only A) and (hasChild exactly 2 Thing) This class expression denotes the class of individuals which are related by the hasChild property to some individual of type A, and that are related to exactly two individuals by the hasChild property (and by the left side, both of these individuals must that individual of type A). (hasChild only A) and (hasChild exactly 1 Thing) This class expression denotes the class of individuals which are related by the hasChild property only to individuals of type A, and that are related to exactly one other individual by the hasChild property (and by the left side, that one individual must be of type A). (hasChild some A) and (hasChild exactly 2 Thing) This class expression denotes the class of individuals which are related by the hasChild property to at least one individual of type A, and that are related to exactly two individuals by the hasChild property (and by the left side, one of these individuals must that individual of type A). (hasChild some A) and (hasChild exactly 1 Thing) This class expression denotes the class of individuals which are related by the hasChild property to at least one individual of type A, and that are related to exactly one other individual by the hasChild property (and by the left side, that one individual must be that individual of type A). This means that the expressions in the question can be simplified into two cases, depending on whether the restriction on the left hand side should be some or only. If A and B are equivalent, then both (A or B) and (A and B) are equivalent to A and to B. This means that there are a number of cases to consider, but fortunately some of them condense down. The class expressions in the problem aren't well formed at the moment, and should either be hasChild some (A or/and B) or hasChild only (A or/and B). It does not impose any constraint that every other individual related by the hasChild is an X, just that at least one is. The expression hasChild some X denotes the class of individuals which are related to at least one other individual that is an X by the hasChild property. Existential or SomeValuesFrom Restrictions It does not impose any constraint that there are such individuals, but only that if there are any, then they must be Xs. The expression hasChild only X denotes the class of individuals which are such that if they are related to any other individual by the hasChild property, then the other individual is an instance of X. ![]() Since the class expression in the restriction is Thing, it is probably more common to see the versions without a class: hasChild exactly 1 and hasChild exactly 2. The restrictions hasChild exactly 1 Thing and hasChild exactly 2 Thing denote the classes of individuals which are related to exactly one or two other individuals by the hasChild property, respectively. That said, we can still discuss the meaning of the various combinations. The four class expressions given in the question aren't quite well formed, as I understand the Manchester OWL syntax, as hasChild (A or/and B) really needs to be hasChild some/only (A or/and B). The meaning of class expressions is defined in section 2.2.3 Class Expressions of the OWL 2 Web Ontology Language Direct Semantics W3C recommendation.
0 Comments
Leave a Reply. |