我试着用Graphdb来制定海关规则。我有一个Person本体,其中包含类“父”和“子”,以及对象属性"hasChild“和"hasGrandChild”。有三个节点具有这样的关系:
Ali :hasChild :Aslam
Aslam :hasChild :Ahmed
现在我想推断":Ali :hasGrandChild :Ahmed“在Graphdb中。内置规则集,如猫头鹰霍斯特优化不起作用。我尝试使用.pie文件来制定自定义规则,但是新规则不起作用。
发布于 2017-07-22 17:18:31
如果您想表达语义,而不是OWL或RDFS标准的一部分,GraphDB为您提供了开发自己规则的灵活性。在本例中,您尝试定义属性hasGranChild是由两个hasChild属性组成的链。这在OWL属性链公理中是可能的。
我的建议是在GraphDB中使用OWL2RL和OWL2QL规则集的标准OWL语义部分。下面是一个示例:
@prefix : <http://www.example.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:hasParent a owl:ObjectProperty .
:hasGrandChild owl:propertyChainAxiom
( :hasChild :hasChild ) .
:Ahmed :hasChild :Ali .
:Ali :hasParent :Aslam .在创建存储库期间,请不要忘记将默认规则集更改为OWL2RL或OWL2QL。
https://stackoverflow.com/questions/45100671
复制相似问题