如果本体中"class1“的所有实例都有相同的对象属性值"val1”,我如何推断"class1“的对象属性值是"val1”?
发布于 2020-06-22 18:59:16
为了更清楚地说明这一点,假设您有Class1
和对象属性property1
。我们进一步假设对于Class1
,唯一显式指定的实例是c1
、c2
和c3
。更进一步,我们有:property1(c1, val1)
property1(c2, val1)
property1(c3, val1)
现在,由于您已知的c1...c3
实例通过property1
链接到val1
,因此您希望推断出,当property1(x,y)
其中x
的类型为Class1
时,它必须遵循该y = val1
。
由于开放世界的假设,有可能存在另一个实例,比如c4
,它的类型是Class1
,它通过property1
与val2
相关。因此,推理机将不能进行这种推断。
不过,您可以使用规则来执行此操作。使用SWRL,您可以声明Class1(?x) => property1(?x, ?val1)
。这说明每当您拥有一个Class1
实例时,它都会通过property1
链接到val1
。
https://stackoverflow.com/questions/62494897
复制相似问题