代码で語るマニフェスト:从域名到开放数据,看政府数据的工程面

IT政策提案
代码で語るマニフェスト:从域名到开放数据,看政府数据的工程面

どうも〜おかむーです!大家好,我是おかむー!今天带来一篇偏工程、偏政策的数据检视文,主题是「代码で語るマニフェスト」——用数据和工程的视角去看政府/自治体的公开数据与系统,找问题、给解法。

  • 3行要約
  • 政府网站常见的域名、备案与可用性问题,会直接影响数据抓取和自动化;
  • PDF vs CSV、API有无、metadata缺失是开放数据可用性的核心技术瓶颈;
  • 可以通过标准化(DCAT/CSVW/OpenAPI)、稳定API以及数据契约改进可用性与政策评估能力。

結論

要把政策说清楚、量化、复现,就必须把数据从“人的桌面文件”变成“机器能读的API/数据集”。工程师的角度很直接:没有API、没有机器可读格式、没有标准元数据,政策目标的可验证性就断链了。

レポート本文

まず、ドメインと可用性の話から。米国的 .gov、各国的二级域名(例:gov.cn)等,虽然看起来只是域名习惯,但对抓取工具、证书(HTTPS)、CORS、子域策略(api.example.gov)有直接影响。你看这个:工信部备案站 beian.miit.gov.cn 经常无法访问(知乎讨论也有),这会让自动化验证、页面级联调用失败,影响上游数据管道。

これ見てくださいよ——オープンデータポータル。東京都のオープンデータカタログ(catalog.data.metro.tokyo.lg.jp)や埼玉県のポータル(opendata.pref.saitama.lg.jp)はCSVダウンロードやAPIエンドポイントを提供しているけど、フォーマットの一貫性やメタデータの充実度は自治体によってまちまち。

問題点(技術的に):

  • PDFに埋めた報告書が多い:プログラムで読みづらい。要するに「人間向け」の形式が残っているということです。
  • CSVのスキーマ不明確:列名・単位・日付形式が統一されていない。
  • APIがない、あってもOpenAPI等の仕様が無い:自動生成クライアントや型チェックができない。
  • メタデータ不足:データ更新頻度・信頼度・ライセンスが明示されていない。

具体的な検証手法(エンジニア的に言うと):

  • カタログの取得:DCAT準拠のカタログがあればまずメタデータ一覧を取得して索引化。
  • ファイルフォーマット判定:CSV/JSON/Excel/PDFを判定し、PDFはTabula/Camelotでテーブル抽出して構造化。
  • データ品質チェック:欠損率、日付パース成功率、ユニット一致チェックを行う。
  • サンプルコード(Python/pandasでCSV取得・簡易チェック):

    import requests
    

    import pandas as pd

    url = 'https://catalog.data.metro.tokyo.lg.jp/dataset/xxxx/resource/yyy.csv'

    r = requests.get(url, timeout=10)

    open('tmp.csv','wb').write(r.content)

    df = pd.read_csv('tmp.csv')

    print(df.dtypes)

    print('missing %:', df.isna().mean())

    PDFからテーブルを取るときは tabula-py や camelot が便利ですが、OCRが必要なスキャンPDFだと手動チェックが必須。要するに、PDFは自動化の天敵です。

    政策評価の観点では「政策目標」と「実績データ」を同じID空間で結べているかが肝。例えば「子育て支援の予算対効果」を評価したければ、予算(会計データ)・施策実績(行政データ)・成果指標(調査データ)を結合して初めて意味が出る。だが現実はこれらが別ポータル、別フォーマット、更新タイミングもバラバラなんですよね。

    改善提案(工程リスト):

    • カタログ標準化:DCAT-AP/CKANの導入+CSVWで列メタデータを宣言。
    • API第一主義:重要KPIはRESTful JSON APIで公開し、OpenAPIで仕様化。
    • バージョニングとスキーマ契約:大きなスキーマ変更はバージョンを上げて互換性を守る。
    • 自動品質パイプライン:CI的にデータ検証を回す(欠損閾値アラート、スキーマ検証)。
    • PDFを出すなら必ず添付でCSV/JSONを提供:人間用と機械用を両立。

    インフラ面では、キャッシュ(CDN)、Rate LimitとAuth(APIキー or OAuth2)、CORS設定を整えること。これらはエンジニアなら常識ですが、運用担当と仕様すり合わせが必要です。

    政策の数値目標と実績ギャップの検証例(概念フロー):

  • 政策目標をDBに登録(例:2025年までX%削減)
  • 毎月自動で関連データをAPIで取得
  • KPIを計算してダッシュボードに公開
  • 差分が出たら差分のソース(データ品質/時間遅延)をトレースできること
  • これができれば「政策はやってます」から「政策は検証可能」に変わります!

    まとめ

    • ドメインや可用性問題は見えないがデータ自動化を阻む大敵。
    • PDFオンリーはNG。CSV/JSON/APIが第一。メタデータをちゃんと付けるべき。
    • OpenAPI/DCAT/CSVWを使えば自治体データの再利用性は劇的に上がる。
    • 技術的対策(CIでのデータ検証、バージョニング、キャッシュ、認証)は実務運用で必須。

    おかむーから一言

    テクノロジーで政策を検証可能にするのは難しくない、ただ手を動かすチームと仕様の取り決めが必要なんです。僕はそれを現場でやりたいんですよ!