次のように、 Wikidata から SPARQL を使用して国の隣人にクエリを実行したい:
SELECT ?country ?countryLabel WHERE {
?country wdt:P47 wd:Q183 .
FILTER NOT EXISTS{ ?country wdt:P576 ?date } # don't count dissolved country - at least filters German Democratic Republic
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
私の問題は、たとえばこの例では、ドイツの隣人に対して、次のように存在しない国がまだ表示されていることです。
- デンマーク王国または
- ザールランド。
すでに試した
FILTERステートメントですでに数を減らすことができました。
質問
- それを9カ国に減らす声明を出す方法は?
- (陸上ボーダーと海上ボーダーで分けるのもいいですね)
別
- この API でのフィルタリングも問題ありませんhttps://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q35
- データベース、リスト、または準備された HashMaps で、世界のすべての国と隣人がいるものは何でも