機械可読性ルールを実装テストに落とし込む:自治体データの“CI化”で政策の検証力を上げる

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- PDFでしか公開されていると政策検証が止まる。機械可読性ルール(案)に即した自動テストが必要
- エンジニア的に言うと、データ公開は「マニフェストのCI/CD化」で、テスト→デプロイ→監視が要る
- 具体案:フリクショレスツール+OpenAPI/JSON Schema/GitHub Actionsで自治体のデータ品質を担保
結論
自治体・政府が掲げる「機械が読めるデータ」化は方針だけでは不十分。総務省やデジタル庁のルール(案)を受けて、スキーマ検証・フォーマットチェック・メタデータ検査を自動化するテストスイートを各自治体の公開パイプラインに組み込むべき。要するに、データ公開にもCIを回して“壊れないオープンデータ”にするということです。
なぜ今これをやるべきか
これ見てくださいよ。総務省やデジタル庁はオープンデータ戦略やAPIカタログを出してます(e-GovのAPIや総務省の標準化方針)。同時に「機械可読性ルール(案)」でCSV/Excel優先やタイムスタンプの要件を示しているんですが、現場はPDFや文字化け、メタデータ不足がまだまだ多いんですよね。
エンジニア的に言うと、公開データが“動的”であるにも関わらず、検証プロセスが“手作業”のままなのが問題。政策の数値目標と実績を自動で突合できないと、そもそも施策の評価が再現可能にならないんです。
技術的チェックリスト(実装向け)
- フォーマット: CSV/JSON/Excelが優先。PDFは派生データのみ。
- 文字エンコーディング: UTF-8必須(BOM除去)
- ヘッダとスキーマ: 列名・型・必須項目をJSON Schemaで定義
- タイムスタンプ: updated_at をISO8601で付与
- ライセンス: 明示的な機械可読ライセンス(SPDX識別子)
- API: OpenAPI仕様でエンドポイントを記述
- メタデータ: データの発生源、更新頻度、品質指標(欠損率)
具体的な自動化パターン
1) ローカルでスキーマ定義(JSON Schema / Frictionless Table Schema)を作る
2) CIでフォーマット検証(goodtables / frictionless / csvlint)
3) API仕様はOpenAPIで管理し、SpectralでLintする
4) 公開後はモニタリング(期限切れやスキーマ変更をSlack通知)
これ見てくださいよ、簡単なPython例(frictionless):
from frictionless import Package, Resource
r = Resource('data.csv')
pkg = Package(resources=[r])
report = pkg.validate()
print(report.stats) # errors/warningsをCIでFAILに
GitHub ActionsでCSV検証を回す例(抜粋):
name: validate-data
on: [push]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup python
uses: actions/setup-python@v4
with: python-version: '3.10'
- run: pip install frictionless
- run: python validate.py
API側の品質はこんなふうにSpectralでチェック可能:
rules:
operation-ids: off
info-contact: warn
政策評価へのインパクト
- 自動検証されたデータは「数値目標と実績の突合」を高速化する
- 更新頻度や欠損率をSLO化すれば、政策の実施状況をアラートで追える
- データの出し方が標準化されれば、第三者による再現性のある評価や比較分析が増える
実務上の導入ステップ(自治体向け)
予算とガバナンスの視点
小さく始めてスケールする。最初はサンプルセット3件、半年で50件に拡張するモデルが現実的。総務省の標準化支援や地域IT補助金を活用すれば初期コストは抑えられます。
まとめ
ルール(案)は良い出発点だけど、実効性を出すには「テスト化」が必要。データ公開をソフトウェア開発と同じようにCI/CDで扱えば、政策の評価可能性がぐっと高まります。要するに、コードでマニフェストを守るんです!
おかむーから一言
テクノロジーで行政をもっとアップデートしよう。小さなCIを回すだけで、政策の信頼性は劇的に上がるんですよ〜一緒にやりましょ!
情報ソース
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://zenn.dev/govtechtokyo/articles/b65dc687e50918
- https://www.zhihu.com/question/38923279
- https://www.e-gov.go.jp/digital-government/api
- https://www.soumu.go.jp/menu_seisaku/ictseisaku/ictriyou/opendata/opendata03.html
- https://japan-opendata.github.io/awesome-japan-opendata/
- https://www.jichi.ac.jp/
- https://api-catalog.e-gov.go.jp/info/ja/apicatalog/list
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/256dcba6-b936-4031-b88d-3abb27e27f9b/f7af0ca4/20260331_meeting_executive_outline_06.pdf
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
シェアする
関連レポート

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

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

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