自治体のイベントを「コードで語る」:PR動画じゃなくてデータで再利用できるか?

IT政策の提案
自治体のイベントを「コードで語る」:PR動画じゃなくてデータで再利用できるか?

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

  • 長野県の150周年PRみたいなイベント情報、見せ方は良いけどデータ化されてないことが多い
  • イベント情報を機械可読(JSON-LD / iCal / API)にすると二次利用や行政連携がぐっと楽になる
  • エンジニア視点での実装例(JSON-LD埋め込み、iCal生成、簡易API)と運用ルールを提案するよ!

結論

自治体のPRやイベント情報は「見せる」だけで終わらせるのはもったいない!省力で効果の高い一手は、Webページに機械可読フォーマット(schema.org JSON-LD と iCalendar)を標準で添えること。これだけで地域メディア・観光アプリ・内部システムが簡単に再利用できるし、GovTechの連携基盤づくりにも直結します。要するに、動画URLやポスター画像に加えて『イベントのデータ』を出しておくのが合理的って話です。

レポート本文

現場観察:PRページとデータの乖離

これ見てくださいよ:長野県の公式サイト(https://www.pref.nagano.lg.jp/)みたいに、地域の大きなイベントを告知するページは増えてます。でも多くはHTMLテキストと動画、場合によってはPDFで完結してて、機械が読み取れる形になってないんですよね。Digital庁(https://www.digital.go.jp/)やGovTech東京(https://www.govtechtokyo.or.jp/)が推すデータ利活用の潮流と比べても、イベント情報の“出口”が弱い。

要するに:人にはわかるけど、コードを書く人には使いづらいということです!

なぜイベントデータを機械可読にするのか

  • 再利用性:地域メディアや観光アプリが自動で取り込める
  • 一貫性:日付フォーマットや開催場所の表記ゆれを減らせる
  • 可視化/分析:開催数の時系列、参加申込数の集計などが容易

行政は既に様々なデータ公開の取り組みをしている(e-Statや都庁ダッシュボードなど)けど、イベントは“軽量データ”だからこそ速攻で効果が出る分野です。

技術的アプローチ(実装ステップ)

  • ページへ schema.org の Event JSON-LD を埋める
  • 同一情報を iCalendar (.ics) で公開(サブスクリプション対応)
  • 簡易REST API(/events.json?page=)を用意して一覧・フィルタを提供
  • 運用ルール:一意ID、更新履歴、公開日時、想定利用ケースの明記
  • エンジニア的に言うと、これはレガシー化しない“インクリメンタルな改善”で、既存CMSにスニペットを足すだけで効果が出ます!

    JSON-LD(schema.org Event)の例

    {
    

    "@context": "https://schema.org",

    "@type": "Event",

    "name": "長野県150周年記念フェスタ",

    "startDate": "2026-08-21T10:00:00+09:00",

    "endDate": "2026-08-21T17:00:00+09:00",

    "location": {

    "@type": "Place",

    "name": "長野市文化会館",

    "address": "長野県長野市xxx"

    },

    "url": "https://www.pref.nagano.lg.jp/special/150th",

    "description": "150周年を祝うイベント。入場無料。"

    }

    要するに、これをHTMLに貼れば検索エンジンやSNS、各種クローラが構造化データとして拾ってくれます。

    PythonでiCalを自動生成する(サンプル)

    from ics import Calendar, Event
    

    import requests

    events = requests.get('https://example.pref/events.json').json()

    cal = Calendar()

    for e in events:

    ev = Event()

    ev.name = e['name']

    ev.begin = e['startDate']

    ev.end = e.get('endDate')

    ev.location = e['location']['name']

    ev.description = e.get('description', '')

    cal.events.add(ev)

    print(str(cal))

    このスクリプトをcronで回して/ical/events.ics を吐くだけで、ユーザーはカレンダー購読ができます。

    運用の現実的ポイント

    • ID設計:イベントにユニークID(例: nagano-20260821-001)を付ける
    • 更新ポリシー:公開→修正→キャンセルのステータスを明確化
    • メタデータ:主催、問い合わせ、申込URL、参加費、定員などは全部フィールド化
    • 権利関係:写真や動画の利用条件もデータに含める(要するに、APIで使っていいかを明示する)

    活用シナリオ(短期〜中期の効果)

    • 観光協会や民間アプリが自動取得して地域カレンダーを生成
    • 災害時のイベント中止通知を一斉配信するトリガーに流用
    • ローカル経済分析:イベント開催数と来訪者数の相関を見る

    まとめ

    • イベント情報は少ない労力で利活用効果が高い“低い実装コストの勝ち筋”
    • まずは schema.org JSON-LD と iCal を標準化しておくと現場がラクになる
    • 小さく始めて、GovTech東京やデジタル庁が示すデータ利活用のフレームに組み込めば波及効果が大きい

    おかむーから一言

    イベントデータは公共サービスの“低い果実”ですよ!エンジニア目線で言うと、ちょっとの構造化で社会の再利用可能性がぐっと上がる。さあ、自治体のみなさん、まずはJSON-LD貼るところから始めましょう!

    シェアする