我有一个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>
Run Code Online (Sandbox Code Playgroud)
谢谢
你被新手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 .
Run Code Online (Sandbox Code Playgroud)
大多数时候,人们更喜欢将RDF的片段显示为Turtle,因为它更易读,更容易确切地看到数据是什么.
因此,对于实际查询,您可能需要如下查询:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?x ?y WHERE { ?x owl:sameAs ?y }
Run Code Online (Sandbox Code Playgroud)