推断门徒中的“兄弟姐妹”类型关系

问题描述 投票:0回答:1

我有一个“史密斯”班级,代表史密斯家族。其中有 4 名成员,即父母; “John_Smith”和“Julie_Smith”以及孩子们; “杰克·史密斯”和“吉尔·史密斯”。我有一个对象属性“Is_Parent_Of”,它是推断的逆属性“Is_Child_Of”。我想知道是否有办法使用这两个属性来推断兄弟关系?

我已经使用属性“Has_Sibling”来手动分配它,这是一个对称的传递属性,但我找不到完全推断该属性的方法。 我可以使用 DL 查询函数和“Has_Parent 值 John_Smith 和 Has_Parent 值 Julie_Smith”这样的查询来推断它

owl protege
1个回答
0
投票

我遇到了同样的问题,只需按照 @UninformedUser 提到的那样制作 SWRL 即可解决它。

在 Protégé 中执行此操作的一种方法是进入“窗口”->“视图”->“本体视图”->“规则”以打开“规则”选项卡,然后添加以下规则:

Is_Child_Of(?a,?x), Is_Child_Of(?b,?x), DifferentFrom(?a,?b) -> Has_Sibling(?a,?b)

该规则规定,如果“a”是“x”的子级,“b”也是“x”的子级,并且“a”不是“b”(以防止其自反),则“a”是'b' 的兄弟姐妹。要使原子 DifferentFrom 工作,请记住在“个体”选项卡中声明不同的个体。

© www.soinside.com 2019 - 2024. All rights reserved.