我有一个如下所示的RDF文件。但我发现很难对它进行查询。例如,任何人都可以告诉我一个简单的查询,我可以提取约(http://websitename.com/urls/a)或资源(http://websitename.com/urls/b)或关于和资源的关系/ owl是sameas。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#" >
<rdf:Description rdf:about="http://websitename.com/urls/a">
<owl:sameas rdf:resource="http://websitename.com/urls/b"/>
</rdf:Description>
</rdf:RDF>
由于
答案 0 :(得分:6)
新手RDF / XML用户常常误以为属性名称与实际数据直接相关,实际上并非如此。 rdf 名称空间中的属性名称只是XML语法,并不实际与数据中的URI相关,另一方面与其他名称空间中的内容相关,例如:示例中的 owl 通常与数据中的URI直接相关。所以这就是为什么RDF / XML新手很容易混淆的原因。
如果我们将您的数据转换为更易读的语法,如Turtle,它实际上如下所示:
@prefix : <http://websitename.com/urls/> .
@prefix owl: <http://www.w3.org/2002/07/owl#sameas>
:a owl:sameAs :b .
大多数时候,人们更喜欢将RDF的片段显示为Turtle,因为它更易读,更容易确切地看到数据是什么。
因此,对于实际查询,您可能需要如下查询:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?x ?y WHERE { ?x owl:sameAs ?y }