コードで語るマニフェスト:政府データをエンジニア視点で検証するレポート

どうも〜おかむーです!今日は政府・自治体が公開しているデータ群をエンジニア的に検証してみますよ〜
- CSVがあるのは良いけど、機械可読性の担保が足りない
- KPIは出しているが、実績の時系列・一次データが見えないケースが多い
- API化、メタデータ整備、スキーマ検証で劇的に使いやすくなる
結論
公開されているCSVや資料は「土台」ができてきているんですけど、エンジニア目線だと「API一本」「スキーマ付き」「ライセンス明記」という小さな改善で再利用性が激増します。要するに、今あるデータを機械がスムーズに読める形に揃えることが最優先です。
レポート本文
参照した公開データ(例)
これ見てくださいよ:
- NICTER注意喚起のCSV(https://notice.go.jp/docs/status_nicter.csv) — 機械可読CSVがある点は素晴らしい
- 環境省のCSV(https://www.env.go.jp/content/900398071.csv)や厚労省のCSV(https://www.mhlw.go.jp/content/001429177.csv) — 直接CSV公開は好材料
- 総務省の分類項目CSV(https://www.soumu.go.jp/main_content/000420038.csv) — コード一覧の公開はデータ連携に有用
- デジタル田園都市関連の施策資料(Digital庁/地方創生PDF群) — KPIあるがPDF中心で機械判読性が低い
現状評価:何が良くて何がまずいか
良い点
- CSV直置きはダウンロードして解析に入れるまでのボトルネックが少ないです
- コード一覧(総務省)や領域別データは基礎情報として重要で、連携の土台になります
課題点
- メタデータ不足:スキーマ(列の型・意味)、更新頻度、ライセンスが明示されていないことが多いです。要するに“この列は何の単位か?”が分からない場合があるんですよね
- API非整備:CSVを直接fetchして解析するワークフローはあるけど、エンドポイントやフィルタ、ページネーションがなくて運用・自動化が難しい
- フォーマット不統一:エンコーディング、日時表記、コード体系がばらばらでETLが面倒
- KPIの実績データがPDFに埋もれている:デジタル田園都市交付金の評価資料はPDF主体で、一次データの時系列が出てこない
技術的にどう改善するか(具体案)
1) スキーマとメタデータの公開
- 各CSVに対応するJSON Schema / CSVW(CSV on the Web)メタデータを用意
- 例:列名・型・単位・Null許容・コード表へのリンクを用意する
2) API化とOpenAPI Spec
- REST/GraphQLの公開でフィルタ・ソート・日付レンジ取得を可能に
- OpenAPIで仕様を配布するとクライアント生成が楽になりますよね
3) 機械可読なKPI公開
- 交付金や評価はPDFに加えて、KPIの時系列CSV/JSONを公開
- プロジェクト毎にユニークID、ジオコード、年度別実績を紐付ける
4) データ品質の自動検証パイプライン(CI)
- PanderaやGreat Expectationsなどでスキーマ検証をCIに組み込む
- 例:日付列の整合性、コード表に存在しない値の検出など
5) ライセンスと永続ID
- 機械可読のライセンス(SPDX等)を明記、データセットにDOIや永続URLを付与
コード例(実践的)
エンジニア的に言うと、まずCSVを叩いてスキーマ検証するところから始められます。これ見てくださいよ、簡単なPython例:
import requests
import pandas as pd
url = 'https://notice.go.jp/docs/status_nicter.csv'
resp = requests.get(url)
open('status_nicter.csv', 'wb').write(resp.content)
df = pd.read_csv('status_nicter.csv', encoding='utf-8')
print(df.dtypes)
スキーマ検証(Panderaのイメージ):
import pandera as pa
schema = pa.DataFrameSchema({
'date': pa.Column(pa.DateTime),
'region_code': pa.Column(pa.String, nullable=False),
'alert_level': pa.Column(pa.Int)
})
schema.validate(df)
CSVをJSON-LDに変換して再利用性を高める例も有効です。要するに、データを単に置くだけじゃなくて“意味”を添えるのが鍵です。
政策評価の視点:KPIと実績のギャップ
- デジタル田園都市交付金の報告(prefecture PDF群や内閣府報告書)を見ると、KPI設定はあるものの「原データの公開」が不十分です
- 自己評価主体で機械的な検証が難しいケースがあるので、第三者が追える時系列データを出すべきです
- 具体的には、プロジェクト単位で以下を公開すると良いです:採択ID、開始・完了日、投入額、KPIの年度別達成率、住民アンケートの生データ(匿名化)
オープンデータの利活用案
- データカタログ(CKAN等)に登録して、OpenAPIとCSVWメタデータを紐付ける
- 地方自治体間で共通のコード辞書(総務省の分類をベース)を使うことで横断分析が可能に
- AI活用を念頭に、列名の英語併記・カテゴリラベルの標準化で国際連携も狙える
まとめ
現場のCSV公開は素晴らしいスタートです!ただ、エンジニア目線だと「スキーマ」「API」「機械可読なKPI」「ライセンス」が揃わないと再利用コストが高すぎます。一次データの公開、メタデータ整備、自動検証パイプラインの導入で、政策の透明性と再現性がぐっと上がりますよ。
おかむーから一言
テクノロジーで社会をアップデートするって言うけど、まずはデータをちゃんと読める形にすることがスタートなんです。エンジニアの力で行政をもっと開かれたものにしていきましょう!
信息来源
- https://notice.go.jp/docs/status_nicter.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.mhlw.go.jp/content/001429177.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.soumu.go.jp/main_content/000420038.csv
- https://www.zhihu.com/question/290714454
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/6430289390
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
- https://www.zhihu.com/question/38923279
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.chisou.go.jp/sousei/about/kouhukin/pdf/r6_houkokusho-suishin.pdf
- https://www.pref.tokushima.lg.jp/file/attachment/1034065.pdf
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://www.digital.go.jp/policies/digital_garden_city_nation
相关报告

代码で語るマニフェスト:以香川县公共设施预约系统为例的技术与数据审视
以香川县公共设施预约系统为例,从API、数据格式与标准化角度检视自治体系统,给出可执行的技术改进方案与代码示例。

用代码说话的宣言:从机器可读性到API化,解读日本数字化政策的数据工程路径
从Digital庁到e-Stat,评估日本数位政策的数据交付形态,提出API化与工程化改进路线,附代码与验证示例。

コードで語るマニフェスト:日本政府データをエンジニア視点で検証する
政府のマニフェストをデータとコードで検証。PDF多用やAPI断片化を指摘し、e-StatやJapan Dashboardを例に具体的な改善案とコード例を提示します。