题
我试图获取有关使用上DBpedia中的SPARQL查询一个城市的一些数据。问题是我不能得到查询工作。
目前我做这样的事情:
SELECT ?title,?name,?abs WHERE {
?title skos:subject
<http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia>.
?title dbpprop:officialName ?name.
?title dbpprop:abstract ?abs
}
我得到的所有城镇,从斯洛文尼亚村庄中的所有数据。问题是,我想获得的数据(officialName和/或抽象的)只为一个村庄,比如卢布尔雅那。所以,我想这样一些事情:
SELECT ?name WHERE {
?name dbpprop:officialName
<http://dbpedia.org/resource/Ljubljana>.
}
当然这是行不通的。我完全不知道为什么,虽然:),但我一直在尝试了一下,发现有些事情一样,如果我把
?name skos:subject <http://dbpedia.org/resource/Category:Ljubljana>.
我得到的一些结果(这是与我无关,但无论如何),但如果我把
?name skos:subject <http://dbpedia.org/resource/Ljubljana>.
有任何结果的任何东西,虽然元件SKOS:在页面 http://dbpedia.org/资源/卢布尔雅那。
可能有人请解释为什么第二个例子不工作,以及如何得到的结果,我想有哪些?
谢谢, Ablak
由于
解决方案
您想要查询<http://dbpedia.org/resource/Ljubljana>
作为被摄体,而不是一个对象;这将替换您?title
在SPARQL查询结合,例如:
SELECT ?name, ?abs WHERE {
<http://dbpedia.org/resource/Ljubljana>
skos:subject <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia> ;
dbpprop:officialName ?name ;
dbpprop:abstract ?abs .
}
这就是为什么你的图形匹配?name skos:subject <http://dbpedia.org/resource/Ljubljana>
不返回预期的结果;的URI卢布尔雅那应该是要匹配的声明(S)的主题。
不隶属于 StackOverflow