どうする標準化の“噛み合わなさ”?APIとオープンデータで見る地方システムの実態

IT政策の提案
どうする標準化の“噛み合わなさ”?APIとオープンデータで見る地方システムの実態

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

  • 地方公共団体の「標準化」は法律で決まっているが、実装レイヤーでAPIやデータ公開にズレがある
  • e-GovのAPIカタログや東京都のオープンデータAPIを比べると、機械可読性・スキーマ設計で改善余地あり
  • 要するに、政策目標をコードで確かめるための“実働ツールチェーン”がまだ不十分なんですよね!

結論

政府・自治体の“標準化基準”は方向性としては良いが、現場で使えるAPI・データモデルが揃っていないため検証や二次利用が難しい。技術的には「公開APIの統一仕様(OpenAPI/JSON Schema)」「CSV/PDFの機械可読化」「データ間マッピングライブラリ」の3つをまず揃えるべきです。

レポート本文

背景と観察

法律(地方公共団体情報システムの標準化に関する法律)では、標準化対象事務が定められ、基準適合が要求されています(参照: digital.go.jp / e-Gov法令)。一方で、実際に手を動かしてみると、政府側のAPIカタログ(e-Govの行政API)や各都道府県のオープンデータ(例:東京都オープンデータAPI)には実装の差が目立つんです。

これ見てくださいよ:

  • e-GovのAPIカタログは機能一覧として有用だが、エンドポイントごとのスキーマが統一されていない(ページネーション・日時フォーマット・エンコーディングがバラバラ)
  • 東京都のオープンデータは高品質なデータも多いけど、CSVとAPIの同一性(同じデータが同じスキーマで出るか)が保証されていない

要するに、政策の数値目標を「コードで検証」しようとすると、データ取り込みでパース地獄にハマるんです。

技術検証(具体的なチェックポイント)

  • 機械可読性チェック
  • - PDFに閉じられた指標はまず抽出のコストが高い。CSVかJSONにしないと再利用が進まない。PDF→CSVのワークフローを自動化するか、元からCSVを出すべき。

  • スキーマと互換性
  • - 統一のJSON Schemaがないと、「同じ指標名でも型違い」で結合が失敗する。OpenAPI仕様とJSON Schemaの公開を必須にすべき。

  • API運用品質
  • - HTTPメタデータ(Content-Type, Cache-Control, Last-Modified)が揃っているかで二次利用のコストが変わる。APIカタログにヘルス/メタ情報を追加してほしい。

    小さなコード例(実務でまず使えるやつ)

    以下はe-Govと東京都オープンデータAPIを叩いて、日付フォーマットを正規化し、JSON Schemaでバリデートするイメージコード(Python)です。

    import requests, json
    

    from jsonschema import validate

    egov_url = 'https://www.e-gov.go.jp/api/...' # APIカタログ参照

    tokyo_url = 'https://portal.data.metro.tokyo.lg.jp/api/...'

    r1 = requests.get(egov_url).json()

    r2 = requests.get(tokyo_url).json()

    日付正規化の例

    def normalize_date(s):

    # 単純例: '2023/4/1' -> '2023-04-01'

    return s.replace('/', '-') if s else s

    for item in r1.get('items', []):

    if 'date' in item: item['date'] = normalize_date(item['date'])

    JSON Schemaによるバリデーション

    schema = {

    'type': 'object',

    'properties': {'id': {'type': 'string'}, 'date': {'type': 'string', 'format': 'date'}}

    }

    for item in r1.get('items', []):

    validate(instance=item, schema=schema)

    print('validated')

    要するに、こうした“薄いラッパー”を各自治体で共有しておけば、データ連合はずっと楽になります。

    政策目標と実績のギャップを検出する方法

    • 法律が定める「標準化対象20事務」のうち、API化されている指標をリスト化してカバレッジ指標を作る(例: 20件中APIで取得可能なのはN件)
    • カバレッジが低ければ、その事務はまだ電子化・標準化の段階的実装が必要という判断ができます

    実際には、個人情報や住民基本台帳など公開が難しいデータもあり、全てをAPI化すれば良いわけではない。要は「公開可能な指標」に関しては即座に機械可読で出すことが大事なんです。

    改善提案(エンジニア的に言うと)

    • 共通OpenAPIテンプレートとJSON Schemaライブラリを政府が提供する(サンプル実装+GitHubリポジトリ)
    • PDFで出る政策資料はMarkdown/CSVの二次出力を義務付ける(要するに元データをオープンフォーマットで出す)
    • APIカタログにメタ情報(更新頻度、最終更新日時、スキーマバージョン)を機械的に取得できるエンドポイントを追加
    • 都道府県レベルでの「データ変換ルール集(mapping rules)」を公開し、サンプルコードで再利用可能にする

    まとめ

    現状、法律と実装の間に“インターフェースの溝”がある。エンジニアとして言うと、必要なのは仕様(OpenAPI/JSON Schema)と可搬な変換パイプライン。小さく始めてツールとルールを共有すれば、標準化は確実に前に進みますよ!

    おかむーから一言

    テクノロジーは細かいところが命です。まずはAPIのスキーマをそろえて、みんなで小さな成功体験を作りましょう。社会はコードで変わるんですよ!

    シェアする