コードで語るマニフェスト:政府CSVの“使える化”を技術で一気に進める方法

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- データは公開されているけど「使える」状態になっていないことが多い
- 機械可読性ルール(Digital庁・内閣官房)の決定と現場のギャップがある
- 小さな技術投資で再利用性が劇的に上がる、というのが今回の主張です
結論
政府・自治体が出しているCSVは量は豊富だけど、スキーマ・メタデータ・版管理が足りなくて再利用コストが高いです。エンジニア的に言うと「API一本で解決する話」も多いけど、まずはCSVに構造化メタデータ(CSVW / JSON Schema)と変更ログ(delta feed)を付けるだけで現場の改善効果が大きいです。
レポート本文
現状観察(実例を見てみる)
これ見てくださいよ:
- notice.go.jp の status_notice.csv(https://notice.go.jp/docs/status_notice.csv)はCSVで公開されているが、スキーマ記述や更新履歴の明示がない
- Digital庁や環境省が公開しているCSV(例:digital.go.jpやenv.go.jpの公開資産)には、BOMや文字コードの扱い、列名の揺れが混在している
- 内閣官房の資料(機械可読性ルールPDF)ではCSVやJSONを推奨しているが、現場での実装ガイドがまだ十分に普及していない
要するに、データはあるけど「コンピュータが信頼して使える」状態になっていないということです。
技術的に見えてくる問題点
- スキーマ不在:列の意味や型がドキュメント化されていないと、再利用時に型推論で誤認識が起きる
- バージョン管理不在:変更があっても差分が追えないため、依存するアプリが壊れるリスクが高い
- 文字コード・エンコーディング:BOM/Shift-JIS/UTF-8の混在でパーサが落ちる
- メタデータ不足:license, provenance, update_frequencyが明記されていない
エンジニア的に言うと、これってCIで防げる問題が多いんですよね。
具体的な技術提案(すぐできる施策)
1) CSVに対してTable Schema(CSVW/JSON Schema)を付与する
- 要するに「列Xは日付型」「列Yは緯度経度」みたいに書いておく
2) リリース版の管理:semantic versioning+CHANGELOG URLをdataset metadataに入れる
3) 変更差分の公開(delta feed):更新時に差分ファイルを出す。APIを切らない場合でも差分で効率的に取りに行ける
4) 自動バリデーションパイプライン:PRでCSVを更新したら、型・欠損・エンコーディングをCIでチェック
5) サンプルコードやSDKを提供:pandas, frictionless, csvkitのサンプルを公式で出す
コード書く人ならわかると思うんですけど、こんな感じの検査を自動化すればOKです(例):
# 例: frictionless でスキーマ検証
from frictionless import Package, Resource
res = Resource('https://notice.go.jp/docs/status_notice.csv')
report = res.validate()
print(report.to_descriptor())
エンコーディング検出は chardet や python-charset-normalizer で事前チェックすると安心です。
政策の数値目標とデータのギャップを技術で埋める
政策文書(例:内閣官房の機械可読性ルール)には「AI-Ready社会」の目標が書かれているけど、現場のCSVにスキーマが無いとAIに素直に学習させられない。要するに目標と現場の観測可能性にギャップがあるわけです。
具体的には:
- 政策目標(例:指標Xを四半期で追う)→ データ更新頻度が月1回だと意味が薄れる
- 指標の定義が曖昧だと自治体間で比較できない
だから技術的には「メタデータの必須化」と「更新頻度の宣言」を政策要件に入れちゃえばいいんです。
実装ロードマップ(小さなステップで導入)
- フェーズ0:重要データセットTOP100を選定、CSVWでスキーマを付与
- フェーズ1:CIで自動検証、公開カタログにバージョンを表示
- フェーズ2:差分配信+簡易API(マイクロサービス)を用意
- フェーズ3:SDK・サンプルコードと連携アプリの事例を作る
こうやって段階的にやれば自治体の負担も分散できます。
まとめ
- 公開CSVは増えているけど「使えるデータ」になるまでにはまだ手が必要
- CSVにスキーマ・メタデータ・変更ログを付けるだけで再利用コストが下がる
- 小さなCIや差分配信の導入が現場の運用負荷を減らす
おかむーから一言
テクノロジーで社会をアップデートするって、結局小さな改善の積み重ねなんですよ!まずはCSVにちゃんとスキーマを書こう。SDK作るのはそのあとだ!
情報ソース
- https://notice.go.jp/docs/status_notice.csv
- https://www5.cao.go.jp/j-j/wp/wp-je24/csv/d1-1-4.csv
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/ea851c04-54d0-43ab-b352-4cb537ee5347/20210609_resources_survey_answers_04.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/0066e8a8-6734-44ab-a9a9-8e09ba9cb508/xxxxxx_hospital.csv
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/290714454
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/kakusyoDX4/kakusyoDX4.html
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou2.pdf
- https://www.zhihu.com/question/6430289390
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://portal.data.metro.tokyo.lg.jp/
- https://opendata.pref.tokushima.lg.jp/dataset/5036.html
- https://www.harp.lg.jp/opendata/dataset/79.html
- https://opendata.pref.aomori.lg.jp/dataset/1480.html
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。