2015-03-14 2 views
0

Мне нужно получить координаты некоторых мест из DbPedia. Для того же, я использую следующий фрагмент кода:Получить географические координаты определенного места из DbPedia

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
    SELECT * WHERE { 
    ?x foaf:name 'Mumbai'. 
    ?x dbo:Place 'Mumbai'. 
    ?x geo:lat ?lat . 
    ?x geo:long ?long . 
    } 

При управлении в http://dbpedia.org/sparql, он возвращает пустую страницу. Я думаю, что я не поместил название места правильным образом. Может ли кто-нибудь помочь мне найти вопрос

ответ

0

Посмотрите на N3/TTL serialization of the data for Mumbai. Обратите внимание, что значение foaf: name имеет тег: foaf: name "Mumbai" @en. Вам нужно использовать «Мумбаи» @en с тегом языка в запросе. Кроме того, делать dbo: Place 'Mumbai' не имеет никакого смысла. Вместо этого вы можете попросить вещи, которые являютсяdbpedia-owl: Места. Вы бы в конечном итоге с запросом, как:

select * { 
    ?mumbai a dbpedia-owl:Place ; 
      foaf:name "Mumbai"@en ; 
      geo:lat ?lat ; 
      geo:long ?long 
} 

SPARQL Results