Vytautas Krutulis
Vytautas Krutulis

Reputation: 109

How do get city population by name with SPARQL

I need to get city population by its name. I'm sure SPARQL could provide this, but I'm not sure how to write the query. I have a query which provides COuntry's capital and coordinates by it's name, so I assume it should be something similar. HELP!

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 ]
}

Upvotes: 2

Views: 2625

Answers (1)

Steve Harris
Steve Harris

Reputation: 3660

All you need is:

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 .
}

The only tricky part was finding out the name of the property that links Countries and Populations.

Upvotes: 6

Related Questions