我是Manchester syntax for 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
等效,以及它们不相交时,你能解释一下吗?
答案 0 :(得分:12)
类表达式的含义在 OWL 2 Web Ontology Language Direct Semantics W3C推荐的2.2.3 Class Expressions部分中定义。
问题中给出的四个类表达式并不是很好,因为我理解曼彻斯特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
。
表达式hasChild only X
表示个人类,如果 if 它们与hasChild
属性的任何其他个人相关,则另一个人是 X
的实例。它没有强加 这样的个人的任何约束,但只有如果有任何约束,那么它们必须是X
s。
表达式hasChild some X
表示与X
属性为hasChild
的另一个人至少相关的个人类别。它没有强加任何与hasChild
相关的每个人都是X
的约束,只有至少一个是。
此问题中的类表达式目前尚未形成,应该是hasChild some (A or/and B)
或hasChild only (A or/and B)
。这意味着需要考虑一些案例,但幸运的是,其中一些案例已经缩减。
如果A
和B
相同,则(A or B)
和(A and B)
都相当于A
和B
。这意味着问题中的表达式可以简化为两种情况,具体取决于左侧的限制是some
还是only
。
(hasChild some A) and (hasChild exactly 1 Thing)
此类表达式表示由hasChild
属性与至少一个类型{{ 1}},并且与A
属性恰好与另一个人相关(在左侧,一个人必须是hasChild
类型的个人)。
A
此类表达式表示由(hasChild some A) and (hasChild exactly 2 Thing)
属性与至少一个类型{{ 1}},并且与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 and B
都不能同时出现。这意味着其中四个案例是不可满足的。
涉及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)
不是0),它就表示个人必须与exactly n
完全相关事情,并且每个n
事物都必须是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)
。
A
这是一类只有两个孩子的东西,每个孩子必须是B
或(hasChild only (A or B)) and (hasChild exactly 2 Thing)
(hasChild some (A or B)) and (hasChild exactly 2 Thing)
。