一般的にオープンデータの公開サイトは大きく2種類あります。
1.オープンデータを探し出すためのカタログサイト
2.探しだしたオープンデータを機械判別に適した形式によりデータを公開するサイト
本格運用が2014年から開始されたDATA.GO.JP(内閣官房が各府省のオープンデータを収集して公開するデータカタログサイト)を始め神戸市オープンデータポータル、横浜市オープンデータポータルなど多くの自治体のオープンデータ公開サイトは上の2種類の機能ともにCKANというCMSを使用して構築されています。
CKANは世界中で利用されているオープンソースのデータカタログエンジンであり、DATA.GO.JPでソースコードが配布されており、無料ですぐに使える一方で、CKANはCMS機能を持たずカスタマイズ技術的難易度が高いため、札幌市ICT活用プラットフォーム DATA-SMART CITY SAPPOROのように多くの既存オープンデータポータルサイト は、DrupalやWordPress等の外部CMS をCKANと並行稼働しています。政府CIOポータルで一般公開されている「地方公共団体向けオープンデータパッケージ(カタログサイト+ダッシュボード)」はダッシュボードをWordpress、カタログサイトをCKANで構築するものです。
「データを育てる」オープンデータ管理のしくみをWordpressで作る
今回佐野市で実証実験を実施した「オープンデータ管理システム」は、上述オープンデータの公開の前段階の「データセットを作る」ものです。
すなわち、CKANでは「グループ」「データセット」「リソース」の3層構造でデータを管理しますが、今回は「データセット」を構成する各々の「リソース」を作成し、それを「データセット」としてまとめてデータカタログに掲載できる形にするツールの作成を行いました。
このオープンデータ管理システムをWordpressで作成した理由は:
- 広く使われているので使い方がネット上にたくさん公開されている
- カスタマイズが容易である
- REST APIの自由度が高い
特に今回重視したのは、日々のメンテナンスを行わなければデータが古くなり役に立たないため、一般職員でも修正追加できるということです。
また、データの利活用という観点から、作成したデータをすぐにスマートシティサービスで利用するためのREST APIの構築が容易なこと、また市職員とデータの修正のやりとりをCSVでできるように選択したデータをCSVでダウンロードしたり、修正後のCSVをアップロードしてデータをバルク更新できるといった機能の追加が簡単にできることもWordpressを選択した理由になります。
ツール構築のステップ
佐野市のオープンデータは市の公式サイトにおいてCSVで公開されています。そのため、今回のツール構築には以下のステップが必要でした。(Step1-3はPythonを使用して実行)
- 市公式サイトからのCSVデータの取得
- 各CSVデータのヘッダの取得
- 各CSVデータのヘッダの翻訳(データフィールド名として使用)
- CSVのWordpressへの登録(防災・救急・安全情報一覧などの「分野」を親カテゴリ、災害時避難場所一覧などのCSVファイル名を「子カテゴリ」に設定)
- REST APIの開発
- データセット表示プラグインの作成
- 作成されたデータを確認しながら名寄せ(たとえば「佐野市役所」というレコードは「AED設置施設(全て)一覧」、「市有施設等公衆無線LAN一覧」、「庁舎・行政センター・支所一覧」などの複数のデータセットに含まれているので一つのレコードにメタデータを集約)
名寄せしたデータを複数のデータセットに呼び出せるよう、Step1で作成したヘッダ(日本語)リストとStep2で作成したデータフィールドリストを別のカスタム投稿タイプとして作成して「カテゴリ(データセット名)」で紐付けています。

作成結果)オープンデータカタログ
今回Wordpressに登録したデータは名寄せ後に6分野124データセットから2679行になりました。
まずは従来のオープンデータ公開サイトと同様のUIでの公開方法を検討。使用したAPIは下記の2種類です:
- データセット一覧を作成(カテゴリ一覧を取得するAPI)
- データセットに含まれるレコード一覧を作成(カテゴリIDでレコード一覧を取得するAPI)
いずれもWordpress標準のAPIだと出力件数制限があるためカスタムAPIを作成しました。
作成結果はこちらの画像のようになります:
従来のオープンデータ公開サイト

今回作成したオープンデータ公開サイト

今回構築したオープンデータ管理サイトのメリット・デメリット
メリット)
WordPressの編集画面には一括編集機能があり、比較的自由にカテゴリーやタグを設定できるため、様々な方法でデータを呼び出すことが可能です。

また、CSVを一括で登録できたり、post_idをもとに既存のデータをCSVのアップロードにより一括編集することができます。
このツールを使うことで、チェックインラリー等のイベントの開催が容易になり、1)既存オープンデータの内容の更新および充実(位置情報の精緻化、お店の画像や説明文、テイクアウトメニュー等のメタデータの追加)2)新規データの追加(これまでオープンデータとして公開されていなかった観光スポットや飲食店等200件あまりのデータが追加)されました。これにより、今後開催するイベントの実施が容易になるだけでなく、これまで活用できていなかったオープンデータの利活用の企画もしやすくなります。
また、同じ仕組みを利用してごみ収集カレンダーの作成も容易にできました。
デメリット)
既存のデータをWordpressのデータに登録できる形式に変換するためにはPythonなどプログラミングのスキルが必要です。
また、CSVをアップロードするためにはExcelからCSV(UTF-8)への変換や上書き、新規作成のためのルールを守る必要があり、ある程度データの扱い方に慣れていなければ少し難しいかもしれません。
今回構築したオープンデータ管理システムの活用事例
このようなデータとシステムを準備することで、データカタログ作成のほかにも以下のようなデータ活用が容易にできるようになります。
■イベント用スポットマップの作成
https://www.sano-mirai.jp/post_chart/spot_jan/

■ごみ収集カレンダーの作成
https://www.sano-mirai.jp/gc_calendar/?9

■データを活用したサイトの構築
当サイトでも同じしくみを使用して以下のようなデモページを作成しています。