create every day - 福野泰介の一日一創

SPARQLで操る日本の人口、県別最新人口マップ(odp)

2015/10/22 23:55:00
#odp #js #sparql 

jig.jpのオープンデータプラットフォーム(odp)にある、総務省統計局と福井県からの5つ星オープンデータになっている統計データ。 SPARQLで最新データを引いて集計するアプリをつくりました。


県別最新人口マップ(odp)

* SPARQLアプリ作成手順

その県の人口データ(http://odp.jig.jp/odp/1.0#PopulationStatistics)の内、最新データが入っている年とグラフのURLを取得するSPARQLクエリー(福井県の例)

select distinct ?year ?g { graph ?g { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://odp.jig.jp/odp/1.0#PopulationStatistics>. ?s <http://odp.jig.jp/odp/1.0#refYear> ?year. ?s <http://odp.jig.jp/odp/1.0#refAge> ?age. ?age <http://odp.jig.jp/odp/1.0#minimum> 0. ?s <http://odp.jig.jp/odp/1.0#refArea> ?area. ?area <http://imi.ipa.go.jp/ns/core/rdf#住所> ?ad. ?ad <http://imi.ipa.go.jp/ns/core/rdf#都道府県> ?pref. optional { ?ad <http://imi.ipa.go.jp/ns/core/rdf#市区町村> ?local. } filter(!bound(?local)) filter(?pref = "福井県"@ja) } } order by desc(?year) limit 1

グラフと年と都道府県名から、年齢別の男女人口を取得するSPARQLクエリー(福井県、2010年、グラフ http://odp.jig.jp/rdf/jp/fukui/385 の例)

select ?min ?numf ?numm { graph <http://odp.jig.jp/rdf/jp/fukui/385> { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://odp.jig.jp/odp/1.0#PopulationStatistics>. ?s <http://odp.jig.jp/odp/1.0#refYear> "2010"^^<http://www.w3.org/2001/XMLSchema#gYear>. ?s <http://odp.jig.jp/odp/1.0#population> ?pop. ?pop <http://odp.jig.jp/odp/1.0#female> ?numf. ?pop <http://odp.jig.jp/odp/1.0#male> ?numm. ?s <http://odp.jig.jp/odp/1.0#refAge> ?age. ?age <http://odp.jig.jp/odp/1.0#minimum> ?min. ?age <http://odp.jig.jp/odp/1.0#maximum> ?max. ?s <http://odp.jig.jp/odp/1.0#refArea> ?area. ?area <http://imi.ipa.go.jp/ns/core/rdf#住所> ?ad. ?ad <http://imi.ipa.go.jp/ns/core/rdf#都道府県> ?pref. optional { ?ad <http://imi.ipa.go.jp/ns/core/rdf#市区町村> ?local. } filter(!bound(?local)) filter(?pref = "福井県"@ja) } } order by ?min

最後にデータの出典を表記するため、グラフからメタデータを取得するSPARQLクエリー(福井県のグラフ http://odp.jig.jp/rdf/jp/fukui/385 の例)

select ?title ?creator ?url { <http://odp.jig.jp/rdf/jp/fukui/385> <http://purl.org/dc/elements/1.1/creator> ?creator; <http://purl.org/dc/elements/1.1/title> ?title; <http://purl.org/dc/terms/references> ?url. }

これで必要なクエリーが揃いました。
MA11 CIVICTECH部門にも応募したWebアプリ「県別いけてる事業マップ」を元に改造したら完成です!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image