【发布时间】:2018-07-09 14:16:53
【问题描述】:
是否可以使用 swrl 规则进行事实一致性检查?
如果我们有:
parent(?x,?y) ∧ brother(?y,?z) ⇒ uncle(?x,?z)
由此产生了新的事实。
但相反,我拥有的是一组事实(一些一致的其他事实并非如此)。
:p1 parent :c1 .
:p2 brother :p1 .
:p1 uncle :c1 . # inconsistent
:p1 uncle :p1 . # inconsistent
:p2 uncle :c1 . # consistent.
可以使用 swrl 或替代技术来突出我的事实表中的这些不一致吗?
parent(?x,?y) ∧ brother(?y,?z) <-> uncle(?x,?z)
谢谢
【问题讨论】:
-
基本推理会检测到不一致:)
-
@Gilles-AntoineNys 我已经用 Protege 试过这个,当我在规则中添加不一致的事实时,隐士推理者和隐士不会抱怨,你有没有看到这个工作的工具?
-
<->尚不可能。因此,如果我们的情况是不一致检测,我建议在规则之外指定Domain/Range。但这只是我的观点。
标签: owl swrl data-consistency