Cover Image for 東京23区の人口データをSPARQLで取得する方法
東京23区の人口データをSPARQLで取得する方法

ども、k69 です。

WikipediaのデータをSQLのような言語(SPARQL)で取得できるので試してみました。※ 前回の続き
前回の段階ではSPARQLのSELECT文でサブクエリーが必要かと思ったが、OPTION(表示)で大丈夫でした。

手順

Wikidataから東京23区の各区の人口を取得する手順です。

1. Wikidata Query を開きます

https://query.wikidata.org/

2. フィルタ、表示を下記のように入力します

image.png

SPARQL_Wikidata_Queryで自動生成
SELECT ?_____ ?_____Label ?__ WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
  ?_____ wdt:P361 wd:Q308891.
  OPTIONAL { ?_____ wdt:P1082 ?__. }
}
LIMIT 100

3.結果

一番右のカラムが各区の人口になります。
赤線部分を見ると23個のデータが取得できていることがわかります。
image.png

まとめ

「ウィキデータは、人間とコンピューターの双方が同等に参照・編集できるフリーかつオープンな知識データベースです。」ので、無料で使用できる反面、データの精度は微妙です。

実際に今回の実験(東京23区の人口データを取得する)も、最初は22区のデータしか取得できませんでした。原因は東京都区部(23区のこと)とのリンク(データの関連付け)が北区だけ異なっていたためです。
 北区だけ東京都区部(23区のこと)との関連付けが「以下を含む」となっていました。
※ なので、北区も他の区と同じように「以下の一部分」を追加しました

北区

image.png

北区以外

image.png

今回のような関連付けがおかしなデータや過不足を見つけたら積極的に修正し、みんなでデータの精度を上げていきましょう!

参考

© 2022 k69

本サイトを通じて、たくさんの人がプログラミングに興味を持ち、 これがキッカケでモノづくりの楽しさに触れることができれば幸せです!