日米のオープンデータを比較してみた
【2014/04/03 追記】
data.go.jpが急死(休止)しているので、data.go.jpに関しては4/02移行更新してていません。
【2014/05/16 追記】
data.go.jpが再開したので、スクレイピングも再開しました。
アメリカのオープンデータカタログサイト「data.gov」と、日本のオープンデータカタログサイト「data.go.jp」で、公開されているオープンデータの比較を行ってみました。
公開されているデータのフォーマット(ファイル形式)で、数の多いもの上位20をツリーマップとして表示しています。
赤い方がdata.go.jpのデータで、青い方がdata.govのデータです。
日本の場合、公開されているデータセットの8割以上が「PDF」「HTML」「XML」、アメリカの場合は「HTML」「ZIP」「XML」が半分ぐらいといったところです。
アメリカもフォーマットに関してはそんなに進んでいるというわけでもなさそうですね。
ちなみに、data.govにて「5 Star Open Data」でいうところの4星・5星フォーマット「RDF/Linked RDF」で公開されているデータは、88,421件の内僅か144件です。 ホントに普及するんですかね? Linked Open Data
セマンテックウェブはティム・バーナーズ-リーの悲願ではあるんでしょうけど、なんとなくXHTMLの二の舞になりそうな予感が無きにしも非ずといったところでしょうか。
とりあえず、日本が大きく差を付けられているのは公開されているデータの数なので、xlsでもcsvでもtxtでも良いので、とにかくバンバン公開していって欲しいです。
データの取得について
公開されているフォーマットの数は、以前紹介したScraperWikiを使って両サイトから削り取って(スクレイピング)います。
スクレイピングスクリプトのコードを載せておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/usr/bin/env python import scraperwiki import lxml.html import json import string html = scraperwiki.scrape("http://catalog.data.gov/dataset?_res_format_sortCnt=desc&_res_format_limit=0") root = lxml.html.fromstring(html) data = [] for el in root.cssselect("#res_format > li > a > span"): type = el.text.split("(")[0].strip() count = el.text.split("(")[1].translate(string.maketrans("", ""), "()").strip() data.append({'type':type, 'count':count }) print repr(data) # Saving data: unique_keys = [ 'type' ] scraperwiki.sql.save(unique_keys, data) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/usr/bin/env python import scraperwiki import lxml.html import json import string html = scraperwiki.scrape("http://www.data.go.jp/data/dataset?_res_format_limit=0") root = lxml.html.fromstring(html) data = [] for el in root.cssselect("aside.secondary > section")[3]: for cel in el.cssselect("nav > ul > li > a span"): type = cel.text.split("(")[0].strip() count = cel.text.split("(")[1].strip(")"[0]).strip() data.append({'type': type, 'count':count }) print repr(data) # Saving data: unique_keys = [ 'type' ] scraperwiki.sql.save(unique_keys, data) |
一応、JSON APIも公開してます。
ただ、スクレイピングで取得しているので、いつ何時正しいデータが取れなくなるかわかりません。その点、ご了承ください。