【问题标题】:Why is HermiT or Pellet Reasoner for Protegev5.5 is not detecting inconsistency in Ontology为什么 Protegev5.5 的 HermiT 或 Pellet Reasoner 没有检测到本体中的不一致
【发布时间】:2020-12-12 09:10:27
【问题描述】:
我使用对象属性O 将A 类与B 类相关联。我也分别有 A 和 B 类的实例 a 和 b。我使用了相同的对象属性O 来关联实例a 和b。
再次,我使用相同的对象属性O 将a 与c 链接起来,其中c 是类C 的一个实例,它没有与类A 或B 链接使用任何对象属性。
推理者仍在证明本体是一致的。
我的问题是“这不应该被推理者标记为不一致吗?请告诉我你的答案,答案是'是'还是'否'以及你答案背后的原因”?
提前致谢。
【问题讨论】:
标签:
ontology
protege
pellet
reasoner
hermit
【解决方案1】:
您错误地理解了域和范围公理的语义。在您的对象属性O 的情况下,它仅声明每当两个人x、y 通过O 链接时,这意味着推理器将推断x 的类型为A 和@987654328 @ 是 B 类型。
在链接个人a 和c 的情况下,其中c 的类型为C,您会注意到c 现在也被推断为B 的类型。
如果你想看到不一致的地方,你可以做的是让类 B 和 C 不相交。然后通过O链接a和c会导致不一致。
顺便说一句,如果您有兴趣,请在我的 blog 上写关于 OWL2 本体和推理器的使用以及推理器似乎“失败”的一些反直觉方式。