情報管理
Online ISSN : 1347-1597
Print ISSN : 0021-7298
ISSN-L : 0021-7298
記事
Linked Open Data(LOD)による統計データの提供:政府統計データ(e-Stat)の新しい形
西村 正貴
著者情報
ジャーナル フリー HTML

2017 年 59 巻 12 号 p. 812-821

詳細
著者抄録

政府が行っている統計調査の結果は,Excel等のファイルを中心に政府統計の総合窓口(e-Stat)というWebサイトで一元的に提供されている。しかし,従来の報告書をベースにしたExcelファイルが多数あり,データの抽出などが困難な状況となっている。これを解消するためにデータベース化を進め,プログラムから直接データを取得できるAPI機能の提供も行ってきた。そして,統計データの利活用をさらに高度にすることを目的として,オープンデータでは最も優れているといわれるLinked Open Data(LOD)での提供を2016年から開始した。本稿では,政府統計のデータ提供の現状を説明するとともにLODによる統計データの提供について,その設計等の考え方,利用方法などを中心に説明する。

1. はじめに

政府が実施する統計調査(政府統計)の結果は,原則自由に利用できるオープンデータとして政府統計の総合窓口(e-Stat)注1)から一元的に提供している。

e-Statに掲載されている統計データの多くは,従来の報告書をベースに作成したExcel等で提供されている。また,一部の統計データをデータベース化し,必要な項目を選んで表示またはダウンロードする機能を提供するとともに,データをプログラム等から取得できるAPI(Application Programming Interface)機能を提供している。

そして,統計データの提供方法を進化させるために,オープンデータの世界で最も優れているといわれているLinked Open Data(LOD)での提供を2016年6月から開始した。LODは,各種データをインターネットで利用されているURI(Uniform Resource Identifier)で定義し,それぞれの関連性などをリンクで表現している。これにより,各データの属性情報などが明確化され,他のデータとのリンクが可能となり,目的の統計データが探しやすくなるとともに他の関連するデータも取得可能になることが期待される。

本稿では,政府統計のデータ提供の現状を説明するとともにLODによる統計データの提供について,その設計等の考え方,利用方法などを中心に説明する。

2. 政府統計の総合窓口(e-Stat)

2.1 e-Statの概要

e-Statは,「統計調査等業務の業務・システム最適化計画(2006年3月31日各府省情報化統括責任者(CIO)連絡会議決定)」注2)に基づき構築された,独立行政法人統計センターが運用管理を行っている「政府統計共同利用システム」のサブシステムの一つで,政府統計の結果データ等の提供を一元化することを目的としたWebシステムである。

e-Statは,2008年4月から運用を開始し,約500の統計調査の約120万の統計表をExcel等のファイルで提供している(2016年12月現在)。

Excel等で作成された統計データは,従来の紙の報告書に近い形で作成されているものが多い。この形式は,一覧性があることから人が見るには適しているかもしれないが,必要なデータを抜き出して分析をしたい場合や,他の分析ソフトなどにデータを取り込む場合などは,データを切り取ったり,配置し直したりする必要がある。さらに,セル接合や項目名にスペースが入っているものもあるため,機械的に変換することが困難となっている。

このため,統計データのデータベース化を進めている。Excel等のファイルからデータベースに変換された統計データは,政府が実施する重要な統計である基幹統計を中心に73の統計調査となっており,約9万のデータセットを提供している。統計データがデータベース化されていることにより,データの抽出や加工など,さまざまな機能で活用できるため,当該データの拡充が今後の統計データ活用の重要な事項といえる。

データベース化するためには,Excel等からのデータを抜き出して登録する必要があるが,報告書ベースで作成されたExcel等の場合は,単純にデータを抜き出してデータベースに登録することができない。このため,個々のExcel等を人の手で確認し,メタ情報として切り出す箇所の特定とデータ部との関係や,複数のExcel等を統合するといった定義情報を作成したうえで,データベースに登録する必要がある。

2.2 APIによるデータ提供

統計データの利活用をさらに推進するために,データベース化された統計データを機械判読可能な形式で提供するAPI機能の提供を2014年から開始した。

API機能は,インターネットを通じてデータが取得でき,インターネットで利用されているアドレス(URI)に各種パラメーターを指定することにより,取得するデータの種類やデータの抽出が可能となっている。提供データの形式は,XML(Extensible Markup Language),JSON(JavaScript Object Notation),CSVとなっている。

API機能を利用するためにはプログラムを作成する必要があるが,当該機能を活用したプログラムを作成することにより,更新時のデータ取得の自動化や,大量データの一括ダウンロードが可能となる。API機能を利用することにより,統計データを活用する際のダウンロードやデータ加工の手間などが大幅に削減され,e-StatとAPIで接続されたWebサービスの提供や分析システムとの自動連係が可能となる。

API機能の詳細や活用事例などの情報は,e-StatでAPI機能のWebサイト注3)を提供しているので,そちらを参照されたい。

3. LODによる統計データの提供

3.1 新たなデータ提供への取り組み

API機能の提供により,統計データの利活用が大きく広がり,自動的なデータ取得などが可能となったが,データセットの名前や分類項目などが統一または明確化されていないため,目的の統計データを見つけるためには,人の目で確認する必要がある。また,現行のAPI機能は,XMLやCSVでデータを提供することから,WWW(World Wide Web)の考案者であるティム・バーナーズ=リーが提唱するオープンデータの5つ星レベル1)1)では,3つ星になる。

このため,統計センターでは総務省統計局と協力し,新たな統計データの提供方法として,最上位の5つ星であるLODでの提供を2016年6月から開始した。

統計データをLODで提供することにより,データセットや分類事項などが明確化されるため,目的のデータの検索が容易になるだけでなく,国内外の他のデータとの連携も可能となる。

3.2 国内外の統計LODの事例

統計データをLODで提供している事例は,国内では実験的に提供した事例がほとんどであるが,海外では,ヨーロッパを中心にいくつかの統計機関で提供を行っている。イタリア国家統計局(ISTAT)注4),アイルランド中央統計局(CSO)注5),フランス国立統計経済研究所(INSEE)注6)では,国勢調査等のデータをLODとして提供を行っている。ただし,こちらも試行的な取り組みがほとんどであり,提供しているデータ量もそれほど多くない状況である。先行しているヨーロッパにおいてもLODによる統計データの提供は検討過程にあるといえる。

図1 5スターオープンデータ1)

3.3 統計LODの設計

3.3.1 統計LODの基礎

統計データをLODで提供するためには,RDF(Resource Description Framework)2)で各種データを表現する必要がある。RDFは,Webの標準化を行っているW3C(World Wide Web Consortium)で規格化されているWeb上のデータを表すための統一化された枠組みである。RDFは,それぞれのデータを「主語」「述語」「目的語」の3つ(トリプル)で表現する。たとえば,“「東京都」の「コード」は「13000」”は2のように表す。

主語と述語はURI(リソース)である必要があり,目的語はURIか文字など(リテラル)のどちらかになる。目的語をURIにした場合は,主語になることができるため,別のデータへつなぐことができる。2では,目的語は「13000」という文字(数字)になっている。「13000」は単なるコードでこれ以上の情報をつなぐことが想定されないため,リテラルで表現している。その他リテラルで表現するものとしては,名称や数値などが挙げられる。つまり,他の情報とつなげる項目などはURIで定義することとなり,統計データでは,地域や性別などの分類事項は,すべてURIを付与することとなる。URIはインターネットでユニークなアドレスとなるため,それぞれの情報を一意に識別することが可能となる。

図2 RDFの基本のトリプル表現:主語・述語・目的語

3.3.2 統計データのRDF化

統計データをRDF化する方法として,RDFデータキューブ(RDF Data Cube Vocabulary)3)を用いる方法を採用した。RDFデータキューブはRDFと同じくW3Cで規格化されている。RDFデータキューブは,主にヨーロッパの統計機関で広く利用されている統計データとメタデータの交換規約であるSDMX(Statistical Data and Metadata eXchange)4)がベースとなっている。

RDFデータキューブでは,統計データを表すために,次元(dimension),測度(measure),観測値(observation),属性(attribute)の4つの要素で構成されている。

「次元」は,統計データが何を分類したか表すもので,地域,時間,性別,年齢などが該当する。「測度」は,統計データが何を集計等したか表したもので,人口,価格,指数などが該当する。「観測値」は,統計データの数値そのものを表すものである。「属性」は,統計データに付随する属性を表すもので,単位,状態(暫定か)などを表すものである。実際の統計表で説明すると3のようになる。

上記の考え方をベースに次元,測度,観測値,属性をRDF化していくこととなる。

RDFデータキューブでは,観測値について2通りの定義方法がある。一つは観測値をもつセルごとに,観測値に関する情報(次元,測度,観測値,属性など)を記述する方法である。もう一つは,複数測度観測値を用いる方法であり,同一次元の複数測度の観測値の集合を単一の観測として,各観測値に関する情報を記述する方法である。

本設計では,セル単位に情報を記述する方法を採用した。セル単位に情報を記述できるため,細かな記述が必要となる複雑な構造の統計表にも対応できるからである。実際の統計表をRDFにしたときのイメージは4のようになる。

これにより各セルにURIが付与されることとなり,特定の数値に対してリンクを張ることも可能となる。

次元,測度,属性などの語彙の定義においては,ほとんどの項目を独自に定義した。その際,調査横断的に利用される項目などは,共通的な語彙として定義し,調査ごとに利用が限定されるまたは定義が異なる項目などは調査ごとに語彙を定義した。共通的な語彙としては,性別,年齢,日本標準産業分類などが挙げられる。

また,独自に定義した語彙と,すでに定義されている語彙とをできるだけ連携するようにした。たとえば,次元の一つである都道府県や市区町村の情報は,情報処理推進機構(IPA)が中心となって進めている共通語彙基盤注7)との連携を図っている。また,性別や年齢などは,他の国でも使用されている次元であることから,前述したSDMXの定義を参考にして設計をしている。属性などもSDMXなどの定義を参考に設計を行っている。さらに,統計データの国際連携を考慮し,語彙間のつながりを定義することを目的として,性別などの語彙はイタリア国家統計局,SDMX,W3C事例などとリンクする定義を入れた(5)。

図3 RDFデータキューブモデル
図4 統計表のRDF化へのイメージ
図5 他の語彙とのリンク(例:性別)

3.3.3 統計に用いる標準地域コード

ここで,統計LODを構成するための一要素(次元)ではあるが,「統計に用いる標準地域コード」について,説明しておきたい。「統計に用いる標準地域コード」(5桁)は,都道府県と市区町村を表すコードで,都道府県を2桁(1~2桁目),市区町村を3桁(3~5桁目)で表し,JISX0401およびJISX0402でそれぞれ規格化されている(たとえば新宿区なら,東京都の13と新宿区の104を併せた13104になる)。同様なコードとして「全国地方公共団体コード」があるが,こちらは6桁で構成されており,先頭の5桁は「統計に用いる標準地域コード」と同じで,6桁目はチェックディジットとなっている。

また,「統計に用いる標準地域コード」は1970年からの廃置分合の情報(新設,廃止,合併など)も蓄積されている。

この5桁で表す都道府県・市区町村コードは,統計結果を表すときだけでなく,統計以外のデータでも広く使用されていることから,廃置分合による市区町村の変遷なども含めてLODとして整備をした。

都道府県・市区町村コード情報のデータのまとまり(エンティティ)は,「標準地域コード・エンティティ」と廃置分合等による変更情報を記載した「変更事由・エンティティ」の2つで構成されている(6)。

標準地域コードの情報には,廃置分合等による変更に伴い有効期間が存在する。6の例であれば,A村とB村は2001年3月31日まで存在するが,2001年4月1日以降は存在しない。また,C町が存在する期間は2001年4月1日から2011年3月31日までとなる。この情報を表現するために,標準地域コードに施行年月日を付与した期間つき標準地域コードとしてURIを定義した。期間つき標準地域コードに名前や廃置分合の変更事由,変更前後の地域コードの情報などを付与して各市区町村の情報を表している(7)。

このように各時期ごとの情報などを定義することにより,ある時期の市区町村の情報や変遷などの情報を抜き出すことが可能となっている。また,都道府県・市区町村コードの情報をLODとして整備しているので,都道府県・市区町村を扱う他のLODを作成する際の語彙として活用することが可能である。上記以外の詳細な情報は統計LODのWebサイト注8)を参照されたい。

図6 標準地域コードの概要
図7 期間つき標準地域コード

3.4 統計LODの作成方法と提供環境

統計LODのデータを作成するためには,RDFデータキューブを構成する次元などの定義をしっかりすることが重要である。このため,e-Statで提供している統計データの中から統計LODを作成する統計データを抽出することとし,国勢調査をはじめとする7つの統計調査から15のデータセットを作成した。データ量は,観測値が約2,000万(セル)あり,約3億トリプル(主語,述語,目的語のセット)となっている。イタリア国家統計局が約4,000万トリプル,アイルランド中央統計局が約2,000万トリプル,WikipediaのLOD版であるDBpedia Japaneseで約1億トリプルであることから比較的規模の大きいものとなっている。

作成の手順としては,次元,測度などの定義を行い,実際の統計データはe-Statのデータベースから,R2RML(RDB to RDF Mapping Language)5)を用いて行った。R2RMLはRDBのデータをRDFに変換するための言語であり,W3Cで規格化されている。

統計LODのデータは,e-Statでも利用しているオラクルデータベース(バージョンは12c)に格納され,Spatial and Graphというオプション機能を利用している。

統計LODを検索するための仕組みとして,SPARQL(SPARQL Protocol and RDF Query Language)6)というW3Cで規格化されている言語がある。SPARQLの利用方法などは後述するが,SPARQLを利用するための窓口は,SPARQL Endpointと呼ばれ,統計LODでは,オラクル用にカスタマイズされたApache Jena Fuseki7)というアプリケーションを利用している。Fusekiは複数プロセスを起動して同時アクセスに対応している(8)。

統計LODでは,3億トリプルという大量のRDFデータを検索させるために,オラクルデータベースで,いくつかのチューニングを行っている。RDFは通常の表型のデータベースとは異なり,全データ検索(フルスキャン)が発生しやすい。このため,検索の同時並行実行(パラレルクエリー)や主要データのメモリーへの常駐などを行うとともに,遅かった検索を毎日チェックし,実行計画を見直すという処理を組み込んでいる。これにより,構築当初は,数分かかっていた検索が,最長でも30秒程度にまで短縮された。すべての検索が30秒かかるわけではないが,30秒かかる検索があることは,オンラインでの利用を想定すると支障があるため,さらに短縮できないか検討を行っているところである。

図8 統計LODの提供環境

3.5 統計LODの活用方法

統計LODのデータを利用する方法として,前述したSPARQLでの利用が挙げられる。SPARQLはデータベースを検索する際に用いられるSQLに似た記述で,RDFデータの検索が可能となっている。

統計LODの統計データを取得する事例として,「新宿区の人口」を取得する事例(9)を紹介する。

4行目(9(ア))以降が検索条件を指定する記述となり,主語,述語,目的語の3つの要素の組み合わせ(トリプル)で条件を指定する。

10では,人口を表す測度(pc-measure-2010: population)のみ指定し,主語と目的語はそれぞれ,「?s」と「?o」を指定している。これは,人口という測度をもっているすべてのトリプルを抜き出し,その値を「?s」と「?o」に格納するという指定になる。この条件だけだと人口のデータがすべて取得されてしまうため,5行目(9(イ))以降の条件でその絞り込みを行っている。

11では,地域を表す次元(cd-dimension: standardAreaCode)を指定し,市区町村名として新宿区を指定している。市区町村については,前述した標準地域コードを利用していることから,新宿区という文字で検索する場合には,2つのトリプルをつないで条件を指定する必要がある。

地域以外の抽出条件として,性別や国籍を表す次元を指定(9(ウ))しており,本事例ではすべて総数が指定されている。本事例のSPARQLを実行すると,新宿区(全域)の人口として「326309」という観測値が返される。

この事例からもわかるとおり,統計データを検索する条件に調査名やデータセットの情報が入っておらず,人口や地域などの情報だけで統計データを検索することが可能となっている。つまり,調査やデータセットを横断した検索が可能であるところが,統計LODのSPARQL検索の大きな特徴である。

SPARQLを実行するには,統計LODのSPARQL Endpointを利用する。SPARQL Endpointは,Webフォームからの実行とAPIによる実行の2通りある。Webフォームからの実行は,統計LODのWebサイトに入力ページ注9)12)が用意されているので,こちらを利用されたい。APIによる実行はWebフォームから送信される内容と同じものをプログラム等から送信すれば実行可能である。

図9 新宿区の人口を取得する事例
図10 人口のデータを抽出する条件
図11 地域のデータを抽出する条件
図12 SPARQL Endpoint(Webフォーム)

4. 統計LODの課題と今後の取り組み

今回公開した統計LODは,他の事例が乏しい状況で,独自に設計し構築したことから,URIの命名や語彙(次元や測度)の定義などが,本当に正しいのか疑問が残るところがある。このため,統計LOD公開後,LODに関する有識者やヨーロッパの先行事例の担当者などと意見交換を行っている。この結果,すでにいくつかの見直し事項が発生しており,近々改修を予定している。なお,RDFデータキューブを活用した基本的な構造には大きな問題はないため,本稿で説明した統計LODの構造や検索方法が大きく変わることはない。

統計LODの利活用に関しては,SPARQLによる検索が決して速いとはいえないため,さらなる高速化が必要であると考えている。また,統計LODの利用方法については,現状ではSPARQLを駆使してデータを取得する方法だけとなっていることから,一般の利用者からの利用にはハードルが高い。

このため,今後の取り組みとして,提供する統計データの拡充を図るとともに,利用方法のサンプルやユースケースなどの提供を考えている。さらに,今後,地方公共団体などが統計データをLODで提供するために参考となるガイド等を用意することも考えている。

5. おわりに

日本の政府統計の結果は,e-Statを通じて広く公開を行ってきたが,公開するデータ量が増えるに伴い,目的のデータが探せないなどの問題が発生した。その問題の解決のためにデータベース化を行いつつ,プログラムから取得しやすいAPI機能の提供を開始し,各データがもつ情報を明確化する統計LODの提供を開始するなど少しずつではあるが発展してきている。特に統計LODは,統計データを明確に表す方法として優れた提供方法であり,現時点では世界の中でも先駆者的な取り組みであると考えられる。今後もこの取り組みを,国内外の機関や有識者などと情報交換しつつ進めていき,統計データの利活用が促進されるよう取り組んでいく予定である。

執筆者略歴

  • 西村 正貴(にしむら しょうき) snishimura@nstac.go.jp

独立行政法人統計センターにおいて,政府統計の総合窓口(e-Stat)などを提供する,政府統計共同利用システムの設計運用業務に2008年の運用開始から従事。e-StatのAPI機能および統計LODの提供について,初期設計から携わっている。

本文の注
注1)  政府統計の総合窓口(e-Stat):http://www.e-stat.go.jp/

注2)  統計調査等業務の業務・システム最適化計画(2006年3月31日各府省情報化統括責任者(CIO)連絡会議決定):http://www.stat.go.jp/info/guide/public/keikaku/keikaku.htm

注3)  政府統計の総合窓口(e-Stat)-API機能:http://www.e-stat.go.jp/api/

注4)  Linked Open Data. ISTAT:http://datiopen.istat.it/

注5)  Census 2011 Results. CSO:http://data.cso.ie/

注6)  Espace RDF de l'INSEE. INSEE:http://rdf.insee.fr/

注7)  共通語彙基盤. IMI:https://imi.go.jp/goi/

注8)  統計LODWebサイト:http://data.e-stat.go.jp/lodw/

注9)  統計LOD SPARQL Endpoint:http://data.e-stat.go.jp/lod/sparql/

参考文献
 
© 2017 Japan Science and Technology Agency
feedback
Top