我构建了一个简单的本体来测试 SWRL 规则如何推断本体中个体之间的新关系,但它不起作用。我的规则是:
(hasFather(?x, ?y) ∧ hasMother(?x, ?z) → spouseOf(?y, ?z)
并且可以读作
x 有父亲 y,x 有母亲 z → y 是 z 的配偶)。
我的本体中有三个人:丈夫、妻子和儿子。我设定孩子有妈妈是妻子,有爸爸是丈夫。然后我的规则被用来设置丈夫是妻子的配偶。我使用Jess插件来测试我的规则,但没有结果。为什么规则不起作用?我的规则有问题,还是 Jess on Protege 3.3 有问题?