2015-10-06 67 views
1

我一直在試圖做這個查詢,但我不知道如何是我需要的語法。我已經看到了很多關於如何在查詢中詢問是否比其他事物更大或更短的例子,但是我不知道如何詢問是否有其他事情。如何在聯合國中有任何國家稱爲「巴黎」使用SPARQL

這是我最後的(失敗)嘗試:

PREFIX : <http:/dbpedia.org/resource/> 
ASK 
{ 
FILTER(<http:/dbpedia.org/resource/Paris> IN <http:/dbpedia.org/resource/Member_states_of_the_United_Nations>) 
} 

回答

2

部分原因是,有一個DBpedia中資源稱爲

        HTTP:/dbpedia.org/resource/Member_states_of_the_United_Nations

但你真正想要的,因爲它的dct:subject屬性的值,是類別,

        http://dbpedia.org/page/Category:Member_states_of_the_United_Nations

舉例來說,你會碰到一些成員國如查詢的國家的名單:

SPARQL results

但是,巴黎不是一個會員。這是法國的一個城市,是一個成員。您可以檢查東西是否與成員問查詢,如:

ask { 
    dbr:France a dbo:Country ; 
      dct:subject dbc:Member_states_of_the_United_Nations 
} 

SPARQL results (true)

你可以在那些部件相類似的查詢國家獲得居住區的列表

select ?city ?country { 
    ?city a dbo:PopulatedPlace ; 
     dbo:country ?country . 
    ?country a dbo:Country ; 
      dct:subject dbc:Member_states_of_the_United_Nations . 
} 

SPARQL results (limited to 100)

,您可以將其修改爲請求查詢,該查詢檢查具有特定名稱的城市。例如: -

ask { 
    ?city rdfs:label "Paris"@en ; 
     a dbo:PopulatedPlace ; 
     dbo:country ?country . 
    ?country a dbo:Country ; 
      dct:subject dbc:Member_states_of_the_United_Nations . 
} 

SPARQL results (true)

0

使用DC:hasPart項:

<http:/dbpedia.org/resource/Member_states_of_the_United_Nations> <http://dublincore.org/documents/dcmi-terms/#terms-hasPart> <http:/dbpedia.org/resource/Paris> 

這在this w3 document描述。問題的

相關問題