Sagebaseは、政治データ(政治家・会派・政党・議案・賛否・発言)を ノード/エッジ形式のグラフデータマート として、BigQuery Sharing(旧 Analytics Hub)で公開しました。議員間の投票類似度、会派の合従連衡、議案の審議経路といった 関係性分析 が、多段 JOIN なしで即座に書けます。BigQuery ユーザーであれば、誰でも Subscribe ボタン 1 つで購読できます。


何を公開したか

sagebase_graph データセットには、政治データを 2 種類のテーブルとして整理しました。

  • ノード 8 種: politician(政治家)、parliamentary_group(会派)、political_party(政党)、conference(会議体)、meeting(会議)、proposal(議案)、election(選挙)、governing_body(議会)
  • エッジ 17 種: 「誰がどの会派に所属しているか」「誰がどの議案に賛成/反対したか」「誰が誰と共同提出したか」といった関係性

主要なエッジの実数値(2026-06-17 時点):

エッジ行数意味
VOTED_ON(個人賛否)103,748議員 → 議案(賛成/反対/欠席等)
SUBMITTED(議案提出)2,916議員 → 議案(発議者)
DISCUSSED_IN(会議で審議)21,326議案 → 会議(各 stage 含む)
DELIBERATED_BY(会議体で審議)87,461議案 → 会議体(本会議/委員会)

すべてのエッジに sagebase_id(UUID)を結合キーとして採用しているため、Sagebase 内部 ID の再採番が発生しても、購読者の保存済みクエリは壊れません。


何ができるようになるか

graph-ready なテーブルを使えば、これまで多段 JOIN で組み立てていた分析が大幅に簡略化されます。たとえば:

  • 投票類似度ネットワーク: 同じ議案で同じ投票行動を取った議員のクラスタリング(政党の枠を超えた連携の可視化)
  • 会派造反分析: 会派内の少数派が同調しなかった議案の検出
  • 共同提出ネットワーク: 議員間の協力関係(議案発議パートナー)
  • 議案の審議経路追跡: 議案 → 委員会 → 本会議 の stage 遷移(例: ある法案で「委員会採決 → 本会議採決」、さらに「衆 → 参」の多段経路)
  • as-of スナップショット: 特定日時の議員・会派構成での再現クエリ

具体的なクエリの書き方は、後述の「BigQuery Graph(Preview)について」をご覧ください。


購読方法

BigQuery Console から:

  1. 左ナビ Sharing(Analytics Hub)→ Search listings で「Sagebase」または「政治ベース」を検索
  2. Sagebase のリスティング をクリック → Subscribe(データセットに追加)を押下
  3. 受け側 GCP プロジェクト + データセット名を指定 → リンクデータセット作成完了

詳細な手順は 使い方ガイド を参照してください。データセットのサブスクライブは無料で、クエリ実行には BigQuery の通常料金(毎月 1TB まで無料)が適用されます。


BigQuery Graph(Preview)について

ノード/エッジテーブルの上に BigQuery Graph(Preview)の CREATE PROPERTY GRAPH を定義することで、GQL(Graph Query Language)クエリも書けます。例:

GRAPH politics
MATCH (p:politician) -[v:VOTED_ON]-> (prop:proposal)
WHERE prop.title CONTAINS "予算"
RETURN p.name, v.vote_result, prop.title
LIMIT 100

ただし GQL クエリの実行には Enterprise / Enterprise Plus エディションの予約スロット が必要です(オンデマンド不可)。一般的な分析であれば、同じ graph テーブルに対する プレーン SQL(JOIN / 再帰 CTE) で同等の結果が得られます。


設計原則

  • キーは sagebase_id(UUID) — 内部 INT64 ID は使わない
  • 時間軸の二分規約 — 全エッジを「期間型(start_date/end_date + is_current)」か「時点型(event_date)」のどちらかに分類
  • 名寄せ品質の明示 — speaker → politician マッチング由来のエッジには matching_confidence / verified 属性を必須付与
  • 公開ゲート — エッジ両端の参照整合性テストに失敗した場合、graph 層の公開反映を止める

データ構造の全体像は データ構造 ページもあわせてご覧ください。


既知のカバレッジ注記

  • SPOKE_IN(発言エッジ)は、名寄せ済 speaker のカバレッジに依存して漸増中です
  • AFFILIATED_WITH(政党所属)は、election_members の政党 ID 投入待ちで現状 0 行です
  • 47 都道府県議会の会派賛否 は、別 Goal で順次点灯予定です

これらは継続的に充実させていきます。


今後の予定

  • 47 都道府県議会の会派賛否名寄せ基盤の整備(会派単位の賛否エッジの全県点灯)
  • 議事録 LLM による細粒度 stage 抽出(継続審議/修正可決等)
  • 議案共同提出者「外 N 名」の個別展開
  • 政令指定都市 19 市の会議データ完全取得

想定ユースケース

  • 研究者: 政治学・社会ネットワーク分析の量的研究素材
  • データジャーナリスト: 投票行動・会派連携・議案動向のスクープ素材
  • 市民テック開発者: 政治データを使った civic アプリの開発
  • 政治アナリスト: 選挙・政策分析のレポーティング

さっそく使ってみる