ども、k69 です。
WikipediaのデータをSQLのような言語(SPARQL)で取得できるので試してみました。※ 前回の続き
前回の段階ではSPARQLのSELECT文でサブクエリーが必要かと思ったが、OPTION(表示)で大丈夫でした。
手順
Wikidataから東京23区の各区の人口を取得する手順です。
1. Wikidata Query を開きます
2. フィルタ、表示を下記のように入力します
SELECT ?_____ ?_____Label ?__ WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?_____ wdt:P361 wd:Q308891.
OPTIONAL { ?_____ wdt:P1082 ?__. }
}
LIMIT 100
3.結果
一番右のカラムが各区の人口になります。
赤線部分を見ると23個のデータが取得できていることがわかります。
まとめ
「ウィキデータは、人間とコンピューターの双方が同等に参照・編集できるフリーかつオープンな知識データベースです。」ので、無料で使用できる反面、データの精度は微妙です。
実際に今回の実験(東京23区の人口データを取得する)も、最初は22区のデータしか取得できませんでした。原因は東京都区部(23区のこと)とのリンク(データの関連付け)が北区だけ異なっていたためです。
北区だけ東京都区部(23区のこと)との関連付けが「以下を含む」となっていました。
※ なので、北区も他の区と同じように「以下の一部分」を追加しました
北区
北区以外
今回のような関連付けがおかしなデータや過不足を見つけたら積極的に修正し、みんなでデータの精度を上げていきましょう!
参考
-
W3C SPARQL 1.1クエリ言語 日本語
http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/REC-sparql11-query-20130321.html -
よく使うSPARQLサンプル集
https://qiita.com/hodade/items/30158fba9e943132023f -
Wikidataを使った日本の政治家の出身大学ランキング
https://qiita.com/koujikozaki/items/a049e2ac1051e0e43be6 -
DBpediaの現在
https://www.jstage.jst.go.jp/article/johokanri/60/5/60_307/_pdf/-char/ja