我创建了对象属性hasSibling,其中A hasSibling B,B hasSibling C.I使这个属性具有传递性和对称性, 但在推断的实例中,它没有显示A hasSibling C。
这在protege v4.3中正确显示,但我使用的是protege v3.4.8 在我的项目中,我必须使用传递和对称的对象属性。 我也尝试过Sparql查询,但它显示的是对称的结果而不是传递。
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX uni:<http://www.owl-ontologies.com/aa.owl#>
select * where {
?x uni:hasSibling ?y .
}
这给出了结果: Where in inferred tab nothing came 请建议如何克服这个问题。
答案 0 :(得分:0)
鉴于查询:
<form action='' method='POST'>
<input type='submit' name='my_submit' value="New"/>
<input type='submit' name='my_submit' value="Used"/>
<input type='submit' name='my_submit' value="Outdated" />
</form>
你需要有一个能够理解uni:hasSibling关系语义的推理,这种关系很可能在URI标识的本体中描述:http://www.owl-ontologies.com/aa.owl#。
如果您使用的是Virtuoso,则需要以下内容:
我在我的post中提供了一个类似的示例,演示了推理&amp;推断使用英国皇室关系类型。另请注意最近的follow-on post,其中显示了如何创建自己的自定义推理规则。