Rdf 如何区分OWL中描述表示对象的属性和描述表示的属性?
如何区分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
: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允许您定义三种类型的属性:
- 对象属性
- 数据类型属性
- 注释属性
构造{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
}
}
这两种类型的属性都需要推理。我试图进一步澄清这个问题。