0

我刚刚开始使用 Protegé 进行本体研究,并且正在尝试了解如何使用 SWRL 规则。恐怕我不明白这个概念或如何正确对待它们,因为我无法产生任何输出。我将解释一个我创建的简单案例来测试这个:

我创建了三个人,分别称为 A、B 和 C。每个人都有一个测试属性,它有一个布尔值范围。在每一个的属性断言选项卡上,我已经初始化了它们的值,所以它们是test(A,true),test(B,true)test(C,true). 为了测试规则是如何工作的,我创建了一个这样的规则:test(A,true), test(B,true) -> test(C,false). 我的理解是,如果 A 和 B 的测试属性为真,则 C 的测试属性将变为假。为此,我启动了推理器(Pellet),但没有任何反应。我的意思是,它说推理器处于活动状态并且没有出现“不一致的本体”消息,但是 C 的测试值没有改变。我确信这一定是一个非常简单的混淆,但我似乎无法在任何地方找到它,也无法检查规则是否已被激活。

先感谢您。

4

1 回答 1

1

推理不是那样工作的,test(C, true)如果你断言了,你就不能撤回。您的本体可能包括两者test(C, true)test(C, false)除非您另有说明,否则这是完全合法的;在这种情况下您会看到不一致。

于 2013-12-12T21:42:07.630 回答