如何在 protege 的 SWRL 规则中定义 DifferentIndividuals

How to define DifferentIndividuals in SWRL rule in protege

我有一个关于如何在 SWRQL 中定义两个不同个体的问题。这是一个例子。 如果 B 是 A 的儿子; 如果 C 是 A 的儿子; 那么B和C就是兄弟了。 这是 SWRL 规则: isSunOf(?BB, ?AA) ^ isSunOf(?CC, ?AA) -> isBrotherOf(?BB, ?CC)

我在推理结果中发现,B是B自己的兄弟。如何避免这个问题?

谢谢! 最好的祝福, 杨

使用 differentFrom(?a, ?b) 即:

isSonOf(?a, ?c) ^ isSonOf(?b, ?c) ^ differentFrom(?a, ?b) -> isBrotherOf(?a, ?b)