如何找到在某一个国家比X人口更多的城市(How to find cities with more t

2019-08-17 04:39发布

我试图找到超过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

我希望有关如何将这些查询组合帮助。

Answer 1:

简单:

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基本上是自然连接“”:你在每侧有资源,所以加入该值)



文章来源: How to find cities with more than X population in a certain country