类表达式的含义在OWL 2 Web Ontology Language Direct Semantics W3C 推荐的第2.2.3节类表达式中定义。
问题中给出的四个类表达式的格式不是很好,因为我理解曼彻斯特 OWL 语法,因为hasChild (A or/and B)
确实需要hasChild some/only (A or/and B)
。也就是说,我们仍然可以讨论各种组合的含义。
精确基数限制
限制hasChild exactly 1 Thing
和分别表示通过属性hasChild exactly 2 Thing
与一个或两个其他个人完全相关的个人类别。hasChild
由于限制中的类表达式是Thing
,因此可能更常见的是没有类的版本:hasChild exactly 1
和hasChild exactly 2
。
Universal 或 AllValuesFrom 限制
该表达式hasChild only X
表示这样的个体类别,如果他们通过hasChild
属性与任何其他个体相关,则其他个体是 的一个实例 X
。它没有对存在这样的个体施加任何限制,而只是如果存在,那么它们必须是X
s。
Existential 或 SomeValuesFrom 限制
该表达式表示与属性相关的至少一个其他个人的hasChild some X
个人类别。它没有强加任何与 相关的其他个人都是一个 的约束,只是至少有一个是。X
hasChild
hasChild
X
表达式的含义
问题中的类表达式目前格式不正确,应该是hasChild some (A or/and B)
或hasChild only (A or/and B)
。这意味着有许多案例需要考虑,但幸运的是其中一些案例浓缩了下来。
如果 A 和 B 等价
如果A
和B
等价,则(A or B)
和(A and B)
都等价于A
和B
。这意味着问题中的表达式可以简化为两种情况,具体取决于左侧的限制应该是some
还是only
。
(hasChild some A) and (hasChild exactly 1 Thing)
这个类表达式表示通过hasChild
属性与至少一个类型的个体相关的个体类A
,并且通过属性与另一个个体完全相关hasChild
(并且在左侧,一个个体必须是那个类型的个体A
)。
(hasChild some A) and (hasChild exactly 2 Thing)
这个类表达式表示通过hasChild
属性与至少一个类型的个体相关的个体类A
,并且通过属性恰好与两个个体相关hasChild
(并且在左侧,这些个体中的一个必须是类型的个体A
) .
(hasChild only A) and (hasChild exactly 1 Thing)
这个类表达式表示通过hasChild
属性仅与类型 的个体相关的个体类A
,并且通过属性与另一个个体完全相关hasChild
(并且在左侧,一个个体必须是类型A
)。
(hasChild only A) and (hasChild exactly 2 Thing)
这个类表达式表示通过hasChild
属性与某个类型的个体相关的个体类A
,并且通过属性恰好与两个个体相关hasChild
(并且在左侧,这两个个体都必须是类型的个体A
)。
如果 A 和 B 不相交
如果A
和B
不相交,则类表达式A and B
表示空类,因为没有任何东西可以同时是 anA
和 a B
。这意味着其中四个案例无法满足。
涉及的案例hasChild some (A and B)
是不能满足的,因为没有A and B
什么可以关联的。有两种这样的情况:
(hasChild some (A and B)) and (hasChild exactly 1 Thing)
(hasChild some (A and B)) and (hasChild exactly 2 Thing)
only (A and B)
和的组合exactly n
是不可满足的,因为(只要n
不为 0),它表示一个人必须与n
事物完全相关,并且这些n
事物中的每一个都必须是一个A and B
(其中不可能没有。有两个这样的案例:
(hasChild only (A and B)) and (hasChild exactly 1 Thing)
(hasChild only (A and B)) and (hasChild exactly 2 Thing)
some
考虑到和的含义,其余情况都相当简单only
。尽管有四个类表达式,但只有两个不同的类。
(hasChild only (A or B)) and (hasChild exactly 1 Thing)
(hasChild some (A or B)) and (hasChild exactly 1 Thing)
这是一类只有一个孩子的事物,孩子必须是 anA
或 a B
。
(hasChild only (A or B)) and (hasChild exactly 2 Thing)
(hasChild some (A or B)) and (hasChild exactly 2 Thing)
这是一类恰好有两个孩子的事物,每个孩子都必须是 anA
或 a B
。