2012-03-06 5 views
2

Мне нужно получить население города по его названию. Я уверен, что SPARQL может это предоставить, но я не уверен, как написать запрос. У меня есть запрос, который обеспечивает капитал и координаты COuntry по имени, поэтому я предполагаю, что это должно быть нечто похожее. ПОМОГИТЕ!Как получить население города по имени с SPARQL

PREFIX o: <http://dbpedia.org/ontology/> 
PREFIX p: <http://dbpedia.org/property/> 
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
SELECT ?country ?population ?capital ?lat ?long WHERE { 
    ?country a o:Country ; foaf:name "Germany"@en; o:capital [ geo:lat ?lat ; geo:long ?long ; p:name ?capital ] 
} 

ответ

6

Все, что вам нужно:

PREFIX o: <http://dbpedia.org/ontology/> 
PREFIX p: <http://dbpedia.org/property/> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

SELECT ?name ?pop WHERE { 
    ?country a o:Country ; 
      foaf:name ?name ; 
      p:populationEstimate ?pop . 
} 

Единственная сложная часть узнавал имя свойства, которое связывает страны и слои населения.

+0

Спасибо большое! –

+0

Хотя, как бы мне нужно изменить это, если бы я хотел получить население города (т. Е. Нью-Йорк) вместо страны? –

Смежные вопросы