我有一个人的URI,例如http://dbpedia.org/resource/Ashok_Gehlot
(通过HTTP检索时,它重定向到http://dbpedia.org/page/Ashok_Gehlot
)。我想提取有关此资源的信息。我该如何编写SPARQL查询来检索例如Ashok Gehlot的生日?在以下查询中(到目前为止,我一直在尝试),我需要替换????
为什么?
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia: <http://dbpedia.org/resource/>PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX category: <http://dbpedia.org/resource/Category:>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX dbprop: <http://dbpedia.org/property/>PREFIX grs: <http://www.georss.org/georss/>
PREFIX category: <http://dbpedia.org/resource/Category:>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX freebase: <http://rdf.freebase.com/ns/>
PREFIX db: <http://dbpedia.org/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX http: <http://www.w3.org/2006/http#>
SELECT ?x ?y WHERE {
?x ?????? http://dbpedia.org/resource/Ashok_Gehlot.
?x owl:birthdate ?z.
}
您不需要页面的属性,而需要属性的属性。在这种情况下,资源为<http://dbpedia.org/resource/Ashok_Gehlot>
。RDF是基于图的数据表示形式,而SPARQL查询是基于图的查询语言。您正在寻找源为<http://dbpedia.org/resource/Ashok_Gehlot>
,边标签为owl:birthdate
(没有意义,但这是另一个问题)的图的边,并且想要检索边的另一端并将其值绑定到可变的?z
。因此,您的查询将是:
select ?z where {
<http://dbpedia.org/resource/Ashok_Gehlot> owl:birthdate ?z
}
当然,该查询没有结果,因为该资源没有属性owl:birthdate
。如果您浏览您在看到数据阿什·格洛,你会注意到有:
dbpedia-owl数据比dbpprop数据干净得多,因此您应该使用它。还请注意前缀dbpedia:
abbreviates <http://dbpedia.org/resource/>
,您的查询应为:
select ?birthDate where {
dbpedia:Ashok_Gehlot dbpedia-owl:birthDate ?birthDate
}
--------------
| birthDate |
|============|
| 1951-05-03 |
--------------
如果出于某种原因,使查询更像是原始尝试的形式确实很重要,则可以使用以下内容。模式?x owl:sameAs? dbpedia:Ashok_Gehlot
意味着?x
将绑定到零或距离dbpedia:Ashok_Gehlot
属性一步的东西owl:sameAs
。对于零步的情况,?x
只是dbpedia:Ashok_Gehlot
,这就是您想要的。对于一种情况,?x
将是owl:sameAs dbpedia:Ashok_Gehlot
,即也可以。
select ?birthDate where {
?x owl:sameAs? dbpedia:Ashok_Gehlot .
?x dbpedia-owl:birthDate ?birthDate .
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句