コードで語るマニフェスト:日本の自治体データをエンジニア目線で検証する

IT 정책 제안
コードで語るマニフェスト:日本の自治体データをエンジニア目線で検証する

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜

  • 行政データはあるけど形式がバラバラで再利用が難しい!
  • API化やCSV/JSON化で開ける価値が大きい、実装は割とシンプルです!
  • 具体的改修案(OpenAPI、JSON Schema、CIによる品質チェック)を提案します!

結論

政府・自治体の公開データは「存在しているが使いづらい」ケースが多いです。e-GovのAPIカタログや東京都オープンデータのAPIは前進だけど、PDF埋め込みや不揃いなCSV、メタデータ欠落がボトルネック。エンジニア的に言うと、API一本と機械可読なデータモデルを整備すれば二次利用が一気に進みます。

レポート本文

現状観察(参照ソース)

これ見てくださいよ:e-Govの「行政API」カタログ(https://www.e-gov.go.jp/digital-government/api)や東京都のオープンデータAPI(https://portal.data.metro.tokyo.lg.jp/opendata-api/)はAPIを公開しているものの、実運用で使いやすいかは別問題です。さらに、notice.go.jpのCSV(https://notice.go.jp/docs/status_notice.csv)のように直接CSVを置いている例もある一方で、重要資料がPDFに埋め込まれていたり、ヘッダ説明が不足しているデータも散見されます。

技術的評価

  • フォーマット:CSV/JSONは機械可読だが、エンコーディングや区切り文字、日付フォーマットが統一されていない。要するに「同じCSVでも読み込むのに前処理が必要」ということです。
  • API設計:REST APIはあるがOpenAPI仕様での仕様書が公開されていないケースがある。エンジニア的に言うと、スキーマ定義が無いと自動生成や型チェックができません。
  • メタデータ:ライセンス、更新頻度、最終更新日時、行の意味(カラム定義)が不足。これではデータカタログとしての価値が下がります。
  • 品質管理:CI/CDによるバリデーションやタイムスタンプ付きの差分配信が無い例が多い。

コード例:CSVを取りに行って簡単に検証するPythonスニペット

import requests, csv

r = requests.get('https://notice.go.jp/docs/status_notice.csv')

r.encoding = 'utf-8'

rows = list(csv.DictReader(r.text.splitlines()))

print('rows', len(rows))

日付フォーマット検証

from dateutil import parser

bad = [r for r in rows if not r.get('date')]

print('bad date rows', len(bad))

このくらいのスクリプトでまずは品質の洗い出しができますよ!

改善提案(実装レベル)

  • API ファースト:全主要データセットに対してOpenAPI 3.0の仕様書を作成。Swagger UIで開発者体験を向上。
  • 機械可読の公式フォーマット:CSVとJSONを同梱、JSON Schemaでスキーマを定義。日付はISO8601で統一。
  • メタデータ標準化:DCAT/Schema.orgベースでライセンス、更新頻度、バージョンを明記。
  • 品質保証パイプライン:Gitリポジトリでデータとスキーマを管理、CIでバリデーションとサンプル生成を実行。
  • 差分配信とWebhook:大規模データは完全ダンプ+差分(パッチ)で配信。更新をサブスクライブできるWebhookを提供。
  • 事例活用:デジタル庁や総務省の推進資料(https://www.digital.go.jp/, https://www.soumu.go.jp/)を参照し、地方自治体向けテンプレートを配布すると導入が速い。

数値目標とギャップ分析

自治体が掲げる「オープンデータ化の推進」目標と、実際の機械可読化率をKPI化するのが有効。例えば「公開データのうちJSON/CSVで機械可読かつスキーマ付きの割合を3年で80%にする」と定めれば、PDCAが回しやすくなります。

まとめ

  • データ自体は増えているが、フォーマットとメタデータ不足で利活用が限定的。
  • OpenAPI、JSON Schema、CIによるバリデーションで再利用性を劇的に改善できる。
  • 小さく始めて標準テンプレ化するのが現実的なアプローチ。

おかむーから一言

テクノロジーで社会をアップデートするの、ほんとワクワクするんですよね。まずはAPI一本、スキーマ一つから始めましょう!

공유하기