【问题标题】:How to define DifferentIndividuals in SWRL rule in protege如何在 protege 的 SWRL 规则中定义不同的个体
【发布时间】:2018-05-19 12:29:26
【问题描述】:

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

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

谢谢! 此致, 杨

【问题讨论】:

    标签: protege swrl


    【解决方案1】:

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

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

    【讨论】:

    • 应该提到它只有在本体中明确设置owl:differentFrom时才有效,因为OWL中没有唯一名称假设,否则规则将不匹配
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 2015-02-10
    • 2011-09-25
    • 2019-01-28
    • 1970-01-01
    • 2021-11-12
    • 2012-09-04
    相关资源
    最近更新 更多