データの系譜を見える化する:自治体オープンデータのライフサイクル監視プラットフォーム設計

IT政策の提案
データの系譜を見える化する:自治体オープンデータのライフサイクル監視プラットフォーム設計

どうも〜おかむーです!今日は自治体や政府が公開しているデータを、単なるファイル群じゃなく「ライフサイクル(系譜)」で追跡する話をしますよ〜

  • これ見てくださいよ:自治体ポータルやe-Gov API、RAIDAやBODIKに点在するデータって“誰が更新して、どのデータから派生したか”が追えないことが多い
  • 結論先に言うと、W3Cのプロヴ・メタデータ+グラフDBで「データの起点→加工→公開→消費」を可視化するとめっちゃ便利になる
  • 実務ではPDF/スキャン→CSV化、APIの安定性、KPI実績の紐付けがボトルネック。自動化パイプラインと簡易監査指標が現場を救う

結論

自治体オープンデータは「単一のカタログ」だけじゃダメで、データの出所(ソースシステム)、変換ステップ、公開アセット、利用者を結ぶライフサイクル監視プラットフォームが必要。要するに「誰がいつ・どう加工して公開したのか」が追えるようにすれば、信頼性・再利用性が劇的に上がるということです。

本文:設計と実装の実務ガイド

なぜライフサイクル可視化が必要か

  • 現状:東京都や埼玉県などのポータル(portal.data.metro.tokyo.lg.jp、opendata.pref.saitama.lg.jp)やe-GovのAPIカタログはデータを列挙するけど、変換履歴や依存関係が弱い
  • 問題例:交付金の実績PDF(例:yamaguchi.prefのPDF)を手作業でCSV化しているため更新遅延、判読誤差、KPIと実績の突合が煩雑

技術スタック(推奨)

  • メタデータモデル:DCAT(データセット記述)+W3C PROV(生成・加工履歴)
  • ストレージ:RDFトリプルストア(Fuseki)またはグラフDB(Neo4j)
  • ETL:Python(requests, pandas)+rdflibでメタを生成
  • PDF→表抽出:Camelot/Tabula、スキャンはTesseract OCR
  • CI/CD:GitHub Actionsで定期収集 + CIでメタ検証(スキーマ/必須項目/更新間隔)

データ収集の実装メモ(コード例)

  • エンジニア的に言うと、API一本で引っ張ってrdflibでPROVトリプル作ると管理が楽なんですよ

例:e-Gov APIカタログを叩いてメタを作る(Python擬似コード)

from rdflib import Graph, URIRef, Literal

import requests

r = requests.get('https://api-catalog.e-gov.go.jp/info/ja/apicatalog/list')

for item in r.json()['items']:

ds = URIRef(item['uri'])

g.add((ds, URIRef('http://purl.org/dc/terms/title'), Literal(item['title'])))

g.add((ds, URIRef('http://www.w3.org/ns/prov#wasDerivedFrom'), URIRef(item.get('source',''))))

要するに、各収集ジョブは必ずprov:Activity(実行ID、開始・終了、実行者)を吐いておくとあとで信頼できるんです。

ライフライン可視化で作れるダッシュボード指標

  • freshness_ratio:最終更新からの時間でデータ鮮度を数値化
  • machine_readable_ratio:CSV/JSON/GeoJSONの割合(PDFは低評価)
  • lineage_coverage:データセットに対してPROVでソースが紐付いている割合
  • api_availability:APIエンドポイントの稼働率(日次チェック)

実務的な落とし穴と対処法

  • PDF多発:まずは自動抽出パイプライン(Tabula/Camelot + マニュアルQAのハイブリッド)を作る
  • 重複と版管理:各公開でSemantic Versionを付与(例:dataset@v2026-04-01)してtripleで管理
  • 小規模自治体の運用負荷:RAIDAやBODIKのような全国プラットフォームと連携してHarvestベースで収集

政策KPIとの紐付け(実装例)

  • デジタル田園都市交付金のKPIはPDFで報告されることが多い(chisou.go.jpなどのガイドライン参照)。これをプロジェクトIDでデータセットに紐付け、KPIフィールド(目標・実績・更新日)をPROV付きで保存すると、政策とデータが直接繋がる

まとめ

  • 要するに、データの「誰が・いつ・何をしたか」をコードで記録する仕組みが必要
  • W3C PROV + DCAT + グラフDBで素早く実装できる
  • PDF→機械可読化の自動化、API監視、メタデータの標準化をセットで回せば再利用が倍増する

おかむーから一言

テクノロジーで行政を便利にするのって、結局「見える化」と「責任の線引き」なんです。コードで系譜を残せば、政策の責任もデータの価値も両方あがるはず。やってみましょう!

シェアする