0
我有以下SPARQL查询来获取与人口的每公里的最小密度和总统国家名单(领导者):SPARQL不分组我的结果正确
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?country_name ?populationdensity ?leader
WHERE {
?country a dbpedia-owl:Country ;
rdfs:label ?country_name ;
prop:populationDensityKm ?populationdensity ;
dbpedia-owl:leader ?leader .
FILTER (?populationdensity < 10 && langMatches(lang(?country_name), "en")) .
}
GROUP BY ?populationdensity
ORDER BY ASC(?populationdensity)
limit 10
正如你所看到的,我通过分组人口密度的结果,但我得到的结果,其中包括众多的人口密度重复:SPARQL Query
谁能告诉我什么我做错了吗? 我认为这与领导者名单有关,每个国家都有不止一个人返回。 有没有办法将每个国家的领导者限制在1位?
这正是我一直在寻找在返回一个结果的条款。但是它没有返回正确的结果。例如,格陵兰岛现任领导人是Aleqa Hammond(总理),而不是Mikaela Engell(Inatsisartut的演讲人)。因此,不是从领导者名单中获得第一个结果,是否有办法输出适当的领导者姓名?我想这只有在你的查询不仅仅是寻找领导者的时候才有可能,而且还特别针对有领导者的人的名字:总统或总理。我会接受你的答案,但如果你有时间,看看这是否可能。 – jjj 2014-09-25 14:08:47
在基于单个的查询上,它会像这样工作,但我不确定如何将其实现到我自己的查询中:SELECT DISTINCT?x3 WHERE { ?x0 rdf:type dbpedia-owl:Country。 ?x0 rdfs:label“Argentina”@en。 ?x0 dbpprop:leaderTitle?x1。 ?x1 dbpprop:现任?x2。 ?x2 rdfs:label?x3。 } – jjj 2014-09-25 15:06:26