Protege multiple equivalentTo 公理与公理并集
Protege multiple equivalentTo axioms vs union of axioms
我试图理解使用多个 equivalentTo 公理和使用这些公理的并集(即析取)之间的区别。我用这个结构设置了一个玩具ontology:
Class_A
- Class_A.1
Class_B
Class_C
Class_D
- Class_D.1
有一个名为 has_part
.
的对象 属性
Class_A.1
是使用等价公理定义的:
EquivalentTo
(Class_A and (has_part some Class_B)) or (Class_A and (has_part some Class_C))
Class_D1
使用两个等价公理定义:
EquivalentTo
Class_D and (has_part some Class_B)
EquivalentTo
Class_D and (has_part some Class_C)
我使用 HermiT 1.3.8.413 执行 DL 查询 has_part some Class_B
。
这个 returns 子类 Class_D.1
,这是有道理的。
但是,我不明白为什么Class_A.1
没有返回。我想因为 Class_A.1
的等价公理是一个析取,它被包含在 has_part some Class_B
析取中。
让我试试一个更简单的例子。我们不一定需要引入对象属性来说明这个概念。我们可以用任意命名的 class 替换 'has_part some X' 而不改变蕴含,因为我们没有说任何关于 X 的事情。同样为了你的例子的目的,我们可以省略 'A' 在交集元素列表中。
代替你的 A.1,让我们试试:
Prokaryote EquivalentTo Bacteria OR Archaea
选择一个我知道你很熟悉的生物学例子,但对于其他人来说,细菌、古细菌和真核生物是生命的 3 个领域。术语 "prokaryote" 指的是人工但有时有用的细菌和古细菌分组。
好的,现在我们尝试 DL 查询 "Bacteria"。这并不是 return 原核生物作为亚class,因为我们知道实际上原核生物是细菌的 超级class。
希望映射到这个具体示例有助于理解基本的直觉。我个人发现 UnionOf 可以奇怪地 counter-intuitive 抽象示例,但当替换为具体示例时,它会更明显。
对于更正式的说明,我认为回应 ASKW 的评论就足够了,即等价性需要相互 subClassOf,但没有 A subClassOf B or C
需要 A subClassOf B
的蕴涵。希望这有帮助。
我试图理解使用多个 equivalentTo 公理和使用这些公理的并集(即析取)之间的区别。我用这个结构设置了一个玩具ontology:
Class_A
- Class_A.1
Class_B
Class_C
Class_D
- Class_D.1
有一个名为 has_part
.
Class_A.1
是使用等价公理定义的:
EquivalentTo
(Class_A and (has_part some Class_B)) or (Class_A and (has_part some Class_C))
Class_D1
使用两个等价公理定义:
EquivalentTo
Class_D and (has_part some Class_B)
EquivalentTo
Class_D and (has_part some Class_C)
我使用 HermiT 1.3.8.413 执行 DL 查询 has_part some Class_B
。
这个 returns 子类 Class_D.1
,这是有道理的。
但是,我不明白为什么Class_A.1
没有返回。我想因为 Class_A.1
的等价公理是一个析取,它被包含在 has_part some Class_B
析取中。
让我试试一个更简单的例子。我们不一定需要引入对象属性来说明这个概念。我们可以用任意命名的 class 替换 'has_part some X' 而不改变蕴含,因为我们没有说任何关于 X 的事情。同样为了你的例子的目的,我们可以省略 'A' 在交集元素列表中。
代替你的 A.1,让我们试试:
Prokaryote EquivalentTo Bacteria OR Archaea
选择一个我知道你很熟悉的生物学例子,但对于其他人来说,细菌、古细菌和真核生物是生命的 3 个领域。术语 "prokaryote" 指的是人工但有时有用的细菌和古细菌分组。
好的,现在我们尝试 DL 查询 "Bacteria"。这并不是 return 原核生物作为亚class,因为我们知道实际上原核生物是细菌的 超级class。
希望映射到这个具体示例有助于理解基本的直觉。我个人发现 UnionOf 可以奇怪地 counter-intuitive 抽象示例,但当替换为具体示例时,它会更明显。
对于更正式的说明,我认为回应 ASKW 的评论就足够了,即等价性需要相互 subClassOf,但没有 A subClassOf B or C
需要 A subClassOf B
的蕴涵。希望这有帮助。