SPARQL查询RDF文件

时间:2011-12-17 17:28:05

标签: rdf sparql jena

我有一个如下所示的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>

由于

1 个答案:

答案 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 }