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

IT政策の提案
機械可読性ルールを実装テストに落とし込む:自治体データの“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つ選定(利用頻度・政策指標に直結するもの)
  • Table Schema / OpenAPI を作成してGitリポジトリで管理
  • 上記CIを適用してパイプライン化
  • 公開ポータル(e-Gov / 自治体OPENDATA)へ自動デプロイ
  • 監視ダッシュボードとSLOを設定
  • 予算とガバナンスの視点

    小さく始めてスケールする。最初はサンプルセット3件、半年で50件に拡張するモデルが現実的。総務省の標準化支援や地域IT補助金を活用すれば初期コストは抑えられます。

    まとめ

    ルール(案)は良い出発点だけど、実効性を出すには「テスト化」が必要。データ公開をソフトウェア開発と同じようにCI/CDで扱えば、政策の評価可能性がぐっと高まります。要するに、コードでマニフェストを守るんです!

    おかむーから一言

    テクノロジーで行政をもっとアップデートしよう。小さなCIを回すだけで、政策の信頼性は劇的に上がるんですよ〜一緒にやりましょ!

    シェアする