1

我是OWL 的曼彻斯特语法的新手编码。我需要了解exactly. 以下哪些限制是正确的:

(hasChild (A or B)) and (hasChild exactly 1 Thing)
(hasChild (A or B)) and (hasChild exactly 2 Thing)
(hasChild (A and B)) and (hasChild exactly 1 Thing)
(hasChild (A and B)) and (hasChild exactly 2 Thing)

你能解释一下什么时候A和什么时候B等价,什么时候不相交吗?

4

1 回答 1

12

类表达式的含义在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 1hasChild exactly 2

Universal 或 AllValuesFrom 限制

该表达式hasChild only X表示这样的个体类别,如果他们通过hasChild属性与任何其他个体相关,其他个体是 的一个实例 X。它没有对存在这样的个体施加任何限制而只是如果存在,那么它们必须是Xs。

Existential 或 SomeValuesFrom 限制

该表达式表示与属性相关的至少一个其他个人的hasChild some X个人类别。它没有强加任何与 相关的其他个人都是一个 的约束,只是至少有一个是。XhasChildhasChildX

表达式的含义

问题中的类表达式目前格式不正确,应该是hasChild some (A or/and B)hasChild only (A or/and B)。这意味着有许多案例需要考虑,但幸运的是其中一些案例浓缩了下来。

如果 A 和 B 等价

如果AB等价,则(A or B)(A and B)都等价于AB。这意味着问题中的表达式可以简化为两种情况,具体取决于左侧的限制应该是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 不相交

如果AB不相交,则类表达式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

于 2013-06-17T00:18:31.697 回答