公共IDでつなぐ:交付金・KPI・施設を紐づける実務的アプローチ

どうも〜おかむーです!今日は行政データを技術でつなぐ話をしますよ〜
- 交付金や事業レポートがPDFに散らばっている問題、公共IDで解決できる
- エンジニア視点で「識別子」「スキーマ」「公開フォーマット」を揃える具体案
- 実装例(UUIDv5でのID生成、JSON-LDメタデータ、OpenAPIでの公開)と運用提案
結論
自治体や国の政策データは「識別子の欠如」でつながらないことが最大のボトルネック。政策・交付金・KPI・施設・成果を横断して結びつけるために、まずは軽量で一意な『公共ID』設計とメタデータの標準化(JSON-LD / DCAT)を導入すべきです。エンジニア的に言うと、「ID」と「スキーマ」と「API」の3点セットを先に決めるだけで、データの再利用性が劇的に上がります!
レポート本文
背景:データの現状と課題
これ見てくださいよ。デジタル庁や総務省は自治体情報システムの標準化を進めているんですが(https://www.digital.go.jp/、https://www.soumu.go.jp/)、現場を見ると交付金の報告がPDFフォーマットで自治体サイトに散らばっていたり、KPIがPDF内に埋め込まれていたりします(山口県の交付金実績PDFなど:https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf)。
要するに、機械が拾える形でIDが振られていないから紐付けができないということです。
なぜ『公共ID』が効くのか
- 一意の識別子があれば、事業→交付金→KPI→施設→報告書を結合できる
- PDFに含まれる値もIDで指し示せれば、OCRや手作業で拾ったデータの信頼性が上がる
- APIやカタログ(DCAT)でIDを参照すれば連携が自動化可能
エンジニア的に言うと、IDはAPIのリソースURIの一部であり、JSON-LDの@idとして振るだけでノードグラフが作れます。
公共IDの設計方針(実務案)
メリット:ヒューマンリーダブルなURI、衝突しにくいID、リンクトデータとの親和性
コード例:UUIDv5でIDを作る(Python)
import uuid
namespace = uuid.UUID('12345678-1234-5678-1234-567812345678')
name = 'yamaguchi:grant:2024:12345' # 都道府県:種別:年度:事業ID
public_id = str(uuid.uuid5(namespace, name))
print(public_id)
=> 'e4b7...'
このIDをリソースの@idにして、JSON-LDで公開します。
JSON-LDメタデータの例
{
"@context": "https://schema.org/",
"@id": "https://data.pref.yamaguchi.jp/grant/e4b7...",
"@type": "Dataset",
"name": "デジタル田園都市交付金・事業12345",
"description": "交付金情報とKPIを紐づけたメタデータ",
"license": "https://creativecommons.org/publicdomain/zero/1.0/"
}
API公開と互換性
- OpenAPIでエンドポイントを定義(/grants/{id}, /kpis/{id}, /facilities/{id})
- バージョニングはURLベース(/v1/)よりヘッダで管理する方針を推奨
- レガシー自治体システムはFacade APIで包む(SOAPやオンプレDBの前にAPI層を置く)
エンジニア的に言うと、Facadeパターンでレガシーとモダンをつなぎ、徐々に内部を置換すれば運用負荷が減ります。
KPIと実績のギャップをIDで測る
山口県の実績PDFにはKPIが設定されている事が確認できますが、これを機械判読可能にするには各KPIにも公共IDを振ることが有効です。IDがあれば年度ごとの実績を時系列で追い、APIで自動集計できます。CSVやJSONでKPI実績があれば、簡単にダッシュボードやCIで監視可能です。
運用提案(現場で取れるステップ)
技術的注意点
- 個人情報はID化に向かないので、公共IDは非PIIリソース(事業・施設・KPI)に限定
- ライフサイクル(廃止・統合)のポリシーを決めること。IDは不変だがエイリアスを追加する必要あり
- 互換性のためにJSON SchemaとOpenAPIのスキーマを同時に公開する
まとめ
公共IDを導入すれば、バラバラのPDFや自治体ごとのフォーマットによるデータの断絶が解消されます。要するに、まずは小さくIDを振ってAPIで公開する実証をやれば、政策評価やダッシュボード、自動集計の世界が一気に近づきます!
おかむーから一言
テクノロジーで行政をもっとつなげたいんです。まずはIDを1つ振って、データをつなげてみましょう。小さな勝ちを積み重ねれば、社会はちゃんと変わるんですよ!
情報ソース
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
- https://www.keiba.go.jp/
- https://www.digital.go.jp/policies/local_governments
- https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.keiba.go.jp/live/
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://ai-government-portal.com/%E5%85%AC%E5%8B%99%E5%93%A1%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E6%8C%91%E6%88%A6%E3%80%8C%E8%A1%8C%E6%94%BFux%E6%94%B9%E5%96%84%E6%A5%AD%E5%8B%99%E5%A7%94%E8%A8%97%E3%80%8D%E5%AE%8C%E5%85%A8%E3%82%AC/
- https://www.zhihu.com/question/38923279
シェアする
関連レポート

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

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

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