2013-03-21 57 views
0

我是SPARQL的新手,想在我的學習中獲得一些幫助。 我想獲得我國的幾個地方(社區,城市,州,地區,河流,紀念碑,..)的經緯度:巴西。SPARQL - 獲取在一個國家/地區的名單

我想:

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT * 
WHERE { 
    ?s a dbo:Place . 
    ?s geo:lat ?lat . 
    ?s geo:long ?long . 
    ?s a ?type . 
    ?s a ?city . 
    ?s rdfs:label "Rio de Janeiro"@en. 
} 
limit 10 

我並不想限制我的查詢只是「城市」。我想通過各種屬性搜索地點:「城市」,「河」,「村」,「山」,「紀念碑」,「山」,「島」,「谷」,「點」,「高峯」。 .. 此外,我不限制該國...

任何人都可以幫助我嗎?

回答

1

您的查詢看起來像Get Place categories from DBpedia using SPARQL中的那個。

現在,您的查詢不僅限於城市 - 僅限於dbo:Place s,其英文名稱(標籤)「Rio de Janeiro」。 ?city是一個變量;它的名字沒有做任何特別的事情。

如果你想要任何地方,只需刪除上述三重模式。

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT * 
WHERE { 
    ?s a dbo:Place . 
    ?s geo:lat ?lat . 
    ?s geo:long ?long . 
    ?s a ?type . 
} 
limit 10 

這會讓你獲得10個經緯度和另一個班的地方。你可以瀏覽DBpedia到see what kinds of places there are,決定你是否也需要dbo:Location_(feature),然後嘗試Place,Location的子類(根據DBpedia, getting the direct or indirect types of Place)。要過濾的國家,你可以添加到您的查詢

?s dbo:country <http://dbpedia.org/resource/Brazil> . 

但不是每個地方都會有這樣一個明確的聯繫國。您必須瞭解哪些房產可以將一個地方與其國家聯繫起來。

相關問題