我正在努力寻找丹麦拥有超过10万人口的城市。
我可以使用以下代码找到丹麦的所有城市:
SELECT ?s ?o
WHERE {
?s a <http://dbpedia.org/class/yago/CitiesAndTownsInDenmark>
}
使用此代码,我可以找到人口超过10万的城市:
SELECT ?resource ?value
WHERE {
?resource <http://dbpedia.org/property/populationTotal> ?value
FILTER (?value > 100000)
}
ORDER BY ?resource ?value
我很感激有关如何组合这些查询的帮助。
答案 0 :(得分:5)
简单:
SELECT ?resource ?value
WHERE {
?resource a <http://dbpedia.org/class/yago/CitiesAndTownsInDenmark> .
?resource <http://dbpedia.org/property/populationTotal> ?value .
FILTER (?value > 100000)
}
ORDER BY ?resource ?value
换句话说:找到“丹麦城市或城镇”类型的所有东西,找到他们的人口。你可以缩写查询,避免重复'资源',使用';'而不是'。':
?resource a <http://dbpedia.org/class/yago/CitiesAndTownsInDenmark> ;
<http://dbpedia.org/property/populationTotal> ?value .
(如果你已经习惯了SQL'。'本质上是一个自然的连接:你有两边的资源,所以加入那个值)