我確定我想要做的事很容易,但我似乎無法得到正確的查詢。我在數據集中記錄具有諸如城市名稱的值的記錄,例如'紐約'和相應的國家代碼,例如'美國'。我也可以訪問完整的國家名稱和國家ISO代碼。dbpedia SPARQL查詢獲得給定城市的特定值
我想獲得人口和抽象價值的這些城市離DBpedia中,通過使用where子句,如:
Get population where name = "New York" and isoCountryCode = "US"
我搜索了這個求助無果。
到目前爲止,我已經好心的@rohk與此查詢,它不完全爲所有地點的工作幫助:紐約
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "USA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "New York City"))
}
上述工作,但是當我將其更改爲:
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "THA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "Bangkok"))
}
它不返回泰國曼谷的結果。
我只是不能得到正確的SPARQL查詢,我敢肯定我是愚蠢的與我的查詢。如果任何一位大師能夠提供幫助,我會很感激。謝謝!
嗨,謝謝!如下所述,這似乎返回的是國家的細節而不是城市的細節,是否有任何方法可以指定地點類型必須是城市或城鎮,而不是州或國家?再次感謝。 – Paul 2012-03-28 10:33:10
對,我編輯了我的答案 – 2012-03-28 10:38:10
刪除了我的意見並更新了實際問題和進度報告,謝謝! – Paul 2012-03-28 13:11:45