Rdf 如何区分OWL中描述表示对象的属性和描述表示的属性?

Rdf 如何区分OWL中描述表示对象的属性和描述表示的属性?,rdf,owl,ontology,Rdf,Owl,Ontology,如何区分OWL中描述表示对象的属性和描述表示的属性。下面是一个小例子: :fgst1425 rdf:type :Building , owl:NamedIndividual ; rdfs:label "B28"@en ; :isWorkLocationOf :hugr9807 ; #this is a property of the building :hasURItype :ihuy8965

如何区分OWL中描述表示对象的属性和描述表示的属性。下面是一个小例子:

:fgst1425 rdf:type :Building ,
                   owl:NamedIndividual ;

          rdfs:label "B28"@en ;

          :isWorkLocationOf :hugr9807 ; #this is a property of the building

          :hasURItype :ihuy8965 . #this is a property of the URI representing the building


:hugr9807 rdf:type :Person ,
                   owl:NamedIndividual ;

          rdfs:label "Ivo"@en .

:ihuy8965 rdf:type owl:NamedIndividual ,
                   owl:Thing ;

          rdfs:label "OpaqueURI"@en .
以类似的方式,描述访问的属性可以表示对建筑物的访问和对表示建筑物的URI的读取访问

目的是对所表示的对象和所表示的对象使用推理。例如,如果我有一个人死于爆炸,而这次爆炸是用一个URI注册的,我想说的是,只有满足特定条件的人才能访问这个URI,并与推理者一起找出谁是非法访问的,但要避免URI杀人的那种扣减

我想到的一个可能的解决方案是将所有元数据属性放在一个
:metaDataProperty
下,然后通过SPARQL查询可以区分两种不同类型的语句

建议的另一种方法是对元数据使用单独的本体

你有什么建议

如何区分OWL中描述表示对象的属性和描述表示的属性

这是猫头鹰所没有的。无论是谁创造了这个本体论,他做了一些可能被认为有点不寻常的事情。当

:hasURItype :ihuy8965 . #this is a property of the URI representing the 
建筑

可能是“关于表现”,就猫头鹰而言,它只是建筑的另一个属性。毕竟,根据

:ihuy8965 rdf:type owl:NamedIndividual , owl:Thing ;
该值只是另一个命名的个体

然而,有一件事是可能的,这取决于本体设计者所做的。OWL允许您定义三种类型的属性:

  • 对象属性
  • 数据类型属性
  • 注释属性
前两个属性,对象和数据类型属性,是OWL推理程序使用的属性,应该表示数据的实际含义。第三种类型,注释属性是一种“额外”数据。本体设计者可能已经将:hasURItype定义为注释属性,以表示推理实际上不需要它的值;也就是说,它们是对“真实”数据的注释。如果是这样的话,那么您可以做如下操作:

构造{s?p?o}
在哪里{
值?s{:fgst1425}
?s?p?o。
筛选器不存在{
?p rdf:类型owl:注释属性
}
}
排除已声明为注释属性的属性。不过,我们没有足够的数据让您知道这种方法在这里是否有效

更新 基于对问题的更新,我认为您可能需要创建一个新的注释属性来区分属性是否为“表示属性”。例如:

:isRepresentationProperty a owl:AnnotationProperty
然后,您的特性定义可以考虑这一点:

:isWorkLocationOf a owl:ObjectProperty .

:hasURItype a owl:ObjectProperty ;
            :isRepresentationProperty true .
然后,您可以将SPARQL查询更新为:

construct { ?s ?p ?o }
where {
  values ?s { :fgst1425 }
  ?s ?p ?o .
  filter not exists {
    ?p :isRepresentationProperty true 
  }
}

这两种类型的属性都需要推理。我试图进一步澄清这个问题。