大家好,我使用SPARQL查询来检索指定资源的属性和值。例如,如果我要求Barry White,我会获得:出生地,associatedBand,recordLabels等。
相反对于任何实例,例如" Hammerfall",我只获得此结果: Query results
但我想要这个页面中显示的属性和值:Correct results。
我的查询是:
PREFIX db: <http://dbpedia.org/resource/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT ?property ?value
WHERE { db:Hammerfall?property ?value }
任何人都可以告诉我如何访问正确的资源并在每种情况下获取更正属性和值?
答案 0 :(得分:1)
select ?p ?o { dbpedia:HammerFall ?p ?o }
特定前缀无关紧要;我刚刚使用了dbpedia:因为它在端点上预定义为http://dbpedia.org/resource/,就像你的db:。问题是HammerFall在中间有一个大概的F,但你的查询使用了微不足道的f。
作为替代方案,因为Hammerfall的结果(微不足道的f)确实包括
http://dbpedia.org/ontology/wikiPageRedirects http://dbpedia.org/resource/HammerFall
您可以使用属性路径来关注任何wikiPageRedirects路径:
select ?p ?v {
dbpedia:Hammerfall dbpedia-owl:wikiPageRedirects* ?hammerfall .
?hammerfall ?p ?v
}
有关该方法的更多信息,请参阅Retrieving dbpedia-owl:type value of resource with dbpedia-owl:wikiPageRedirect value?。