[OpenData][LinkedData]経済産業省Open DATA METIのAPIアクセス

By |8月 28, 2013|Open Data, |


前回の記事で、総務省が試行運用しているオープンデータを紹介しましたが、今回は経済産業省がオープンデータを実践するために設置した試験サイトである「Open DATA METI」について紹介します。
http://datameti.go.jp/

Open DATA METIのサイトからファイルのダウンロードも可能ですが、CKAN(オープンソースのデータポータルプラットホーム)が採用されておりAPI経由のアクセスが可能です。また総務省の「次世代統計利用システム」とは同じようにアカウント登録が用意されていますが、データアクセスのみ行う場合では不要です。
実際のアクセス方法を何点か紹介します。

・グループリストの取得(ページの右側の一覧)
【リクエストURL】
http://datameti.go.jp/data/api/rest/group/
【レスポンス】

[php]
["report", "statistics_chuushoukihon", "statistics_denryoku", "statistics_energyshouhi", "statistics_kaigaijigyoukatsudou", "statistics_kigyoukatsudou", "statistics_kougyou", "statistics_kougyouricchidoukou", "statistics_seisandoutai", "statistics_seizoukougyouseisanshisuu", "statistics_shoudou", "statistics_shougyou", "statistics_sougouenergy", "statistics_tizaikatsudou", "statistics_tokkyogyousei", "statistics_tokuteiservicejittai", "tatistics_census", "whitepaper_chuushou", "whitepaper_energy", "whitepaper_tsuushou"]
[/php]

上記のようなJSONの配列形式で各グループのIDが戻ってきます。こちらを利用して各データセットにアクセスします。

・データセットリストの取得
【リクエストURL】
http://datameti.go.jp/data/api/rest/group/<グループID>

【レスポンス】※JSON形式で戻ってきた値をPHPのjson_decodeでパースした結果です

[php]
stdClass Object
(
[users] => Array
(
[0] => stdClass Object
(
[openid] =>
[about] =>
[capacity] => admin
[name] => uCkfucM
[created] => 2013-02-19T15:39:44.142201
[email_hash] => d41d8cd98f00b204e9800998ecf8427e
[number_of_edits] => 55
[number_administered_packages] => 5
[display_name] => uCkfucM
[fullname] =>
[id] => e35c3167-b2e7-4048-9f43-3e9ccce5bfc0
)

)

[display_name] => オープンデータに関する成果報告書
[description] =>
[title] => オープンデータに関する成果報告書
[created] => 2013-06-12T11:00:34.880093
[approval_status] => approved
[state] => active
[extras] => stdClass Object
(
)

[image_url] =>
[groups] => Array
(
)

[revision_id] => 6de171b3-82ef-4760-9181-bca558d969db
[packages] => Array
(
[0] => report-001-2012
[1] => report-002-2012
[2] => report-003-2012
[3] => report-004-2012
)

[type] => group
[id] => 2cf1c786-99be-4751-8820-b6ccd9744670
[tags] => Array
(
)

[name] => report
)
[/php]

サンプルではグループIDに”report”を指定しています。display_nameがサイトに表示されているデータセットリスト名です。packagesの値が各データセットのIDとなっており、こちらを利用してデータセットを取得します。

・データセットの取得
【リクエストURL】
http://datameti.go.jp/data/api/rest/dataset/<データセットID>

【レスポンス】※JSON形式で戻ってきた値をPHPのjson_decodeでパースした結果です

[php]
stdClass Object
(
[license_title] => クリエイティブ・コモンズ 表示
[maintainer] => 経済産業省商務情報政策局情報プロジェクト室
[maintainer_email] =>
[id] => 621cc573-97af-4782-94b6-d888cf3b2088
[metadata_created] => 2013-06-12T02:04:07.988810
[relationships] => Array
(
)

[license] => クリエイティブ・コモンズ 表示
[metadata_modified] => 2013-06-17T03:18:40.164574
[author] => 株式会社日立コンサルティング
[author_email] =>
[download_url] => http://datameti.go.jp/data/data/ja/storage/f/2013-06-17T031631/H24-opendata-report.pdf
[state] => active
[version] =>
[license_id] => cc-by
[type] =>
[resources] => Array
(
[0] => stdClass Object
(
[resource_group_id] => 9fbe1e77-3a83-4b17-9ae0-466593accd00
[cache_last_updated] =>
[package_id] => 621cc573-97af-4782-94b6-d888cf3b2088
[webstore_last_updated] =>
[owner] => uCkfucM
[id] => 9392400f-c868-4203-ad78-a2a7acdead30
[size] => 10617056
[cache_url_updated] => NaN-NaN-NaNTNaN:NaN:NaN
[last_modified] => 2013-03-29T00:00:00
[hash] => md5:caccef7c57303e94bc2c7ea044a4b2dc
[description] =>
[format] => pdf
[tracking_summary] => stdClass Object
(
[total] => 0
[recent] => 0
)

[mimetype_inner] =>
[mimetype] =>
[cache_url] =>
[name] => オープンデータに関する調査研究_報告書.pdf
[created] => 2013-06-17T12:18:40.294207
[url] => http://datameti.go.jp/data/data/ja/storage/f/2013-06-17T031631/H24-opendata-report.pdf
[webstore_url] =>
[position] => 0
[resource_type] => file.upload
)

[1] => stdClass Object
(
・・・
)
・・・
)

[tags] => Array
(
)

[tracking_summary] => stdClass Object
(
[total] => 0
[recent] => 0
)

[groups] => Array
(
[0] => report
)

[name] => report-001-2012
[isopen] => 1
[notes_rendered] =>
[url] =>
[ckan_url] => http://datameti.go.jp/data//dataset/report-001-2012
[notes] =>
[title] => オープンデータに関する調査研究(2012年度)
[ratings_average] =>
[extras] => stdClass Object
(
[ライセンスに関する注意点] => 本文中、他文献からの引用等、第三者に著作権があるものについては、CCライセンスの対象外となります。
)

[license_url] => http://creativecommons.org/licenses/by/2.1/jp/
[ratings_count] => 0
[revision_id] => 87171bbf-b2da-4c47-b712-1809ea5c3a43
)
[/php]

サンプルではデータセットIDに”report-001-2012″を指定しています。上記のようにデータセットの情報およびデータセット内のファイル一覧が取得できます。

・任意文字列による検索
【リクエストURL】
http://datameti.go.jp/data/api/search/dataset?q=<検索したい文字列>

【レスポンス】

[php]
{"count": 62, "results": ["report-004-2012", "statistics_kaigaijigyoukatsudou_1997", "statistics_kaigaijigyoukatsudou_1998", "statistics_kaigaijigyoukatsudou_1999", "statistics_kaigaijigyoukatsudou_2000", "statistics_sougouenergy_1990", "statistics_sougouenergy_1991", "statistics_sougouenergy_1992", "statistics_sougouenergy_1993", "statistics_sougouenergy_1994"]}
[/php]

サンプルでは検索文字列に”日本”を指定しています。countには検索文字を含んだファイル数、resultsには各データセットのIDが戻ってきます。
上記以外にもCKANに基づいた詳細指定の検索も可能です。

このように各ファイルまでのAPIが公開されております。ですが実際の数値などはAPI化されておらず、XLSやPDFとなっており利用するにはアナログな操作が必要となってしまいます。
また各データセットはCCライセンスとなっており利用するには注意が必要です。
現時点ではTim Berners-Leeが提唱する5STAR OPEN DATAでは★1,2といった段階です。
これらが★5となりエンジニアが柔軟にデータ活用できる将来に期待したいです。