我剛學SPARQL和我有以下表格:如何將一些查詢從sql轉換爲sparql?
國家,歐洲國家,城市和首都
我想知道如何使下面的查詢,因爲我不明白他們...
1)哪個國家有城市「巴黎」作爲首都。 2)打印所有歐洲國家 3)打印所有國家和theis首都。
非常感謝您提前。
我剛學SPARQL和我有以下表格:如何將一些查詢從sql轉換爲sparql?
國家,歐洲國家,城市和首都
我想知道如何使下面的查詢,因爲我不明白他們...
1)哪個國家有城市「巴黎」作爲首都。 2)打印所有歐洲國家 3)打印所有國家和theis首都。
非常感謝您提前。
這就是說,DBpedia提供了類似於描述的信息,並且是一個很好的操場。要查詢它,http://yasgui.org(這是一個更好的sparql編輯器)或http://factforge.net/sparql(這是我們自己的集成,幾個月前,但有一些額外的好東西)。
哪個國家的城市 「巴黎」 作爲資本
select * {
?x a dbo:Country; dbo:capital dbr:Paris
}
的yasgui結果會讓你大吃一驚:
dbr:Bourbon_Restoration
dbr:France
dbr:Francia
dbr:French_Fifth_Republic
dbr:Kingdom_of_France
dbr:Office_International_d'Hygiène_Publique
dbr:Second_French_Empire
dbr:West_Francia
我瞭解所有的歷史演義,但DBR:Office_International_d'Hygiène_Publique有點震驚。其原因是,它是一個國際組織(uses Infobox Former International Organization
,它redirects tohttps://en.wikipedia.org/wiki/Template:Infobox_former_country,其中「目前正在與模板合併:信息框的國家。」見http://mappings.dbpedia.org/index.php/Cleaning_up_Countries
factforge回報甚至鏈接數據集的結果(所有這些的意思只是法國) :
geodata:3017382/
http://ontologi.es/place/FR
http://psi.oasis-open.org/iso/3166/#250
leaks:country-FRA
wfr:fr
所有歐洲國家
這是更好,因爲剛好有一個維基百科類別:
select * {
?x a dbo:Country; dct:subject dbc:Countries_in_Europe
}
所有國家及其首都
select * {
?x a dbo:Country; dbo:capital ?capital
}
這將返回一串歷史的國家和首都,再次一些國際組織,例如
League_of_Nations
International_Authority_for_the_Ruhr
Japanese_occupation_of_British_Borneo
SO那麼,你可能會有更好的運氣與維基數據(https://query.wikidata.org/)。在https://twitter.com/search?q=wikidatafacts%20country你可以找到一些有趣的查詢與國家有關。
國家和首都對維基數據
select ?country ?countryLabel ?city ?cityLabel {
?country wdt:P36 ?city
filter exists {?country wdt:P31/wdt:P279* wd:Q6256}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en,pl,ru,es" .
}
} order by ?countryLabel
它使用了一系列的Qnn
和Pnn
,但你可以將它們解碼,當你鼠標懸停。
wdt:P36
的意思是「資本」? Search for property:capitalfilter exists
?因爲一個國家可能有幾個wd:Q6256
「國家」的子類型,如果我在主查詢中使用它,它會在每個國家返回幾個結果。這樣它只返回一個。地圖
你也可以很容易地display it on a map:
#defaultView:Map
select ?country ?countryLabel ?city ?cityLabel ?coords {
?country wdt:P36 ?city
filter exists {?country wdt:P31/wdt:P279* wd:Q6256}
?city wdt:P625 ?coords
SERVICE wikibase:label {bd:serviceParam wikibase:language "en,pl,ru,es"}
}
看到一對夫婦的鏡頭https://twitter.com/valexiev1/status/844870994942603264
在RDF的,你沒有表! RDF數據集由一組三元組構成。請閱讀RDF教程和SPARQL教程。然後您可以考慮RDF數據集的模式,最後可以根據您的模式進行SPARQL查詢。 – AKSW
如果您來自SQl世界,除了@AKSW的建議之外,瞭解RDF的一種可能的好方法是查看[R2RML規範](https://www.w3.org/TR/r2rml/) 。 –