メインコンテンツへスキップ
議会コモンズ全国地方議会発言データベースβ 公開中
IDSID 体系

ID 体系

発言・会議・議会・議員に振る番号の決まりです。一度発行した ID は変えません。引用が数年後に壊れないようにするためで、この基盤でいちばん重視している点です。

版: v1.0-draft5·最終更新: 2026 年 8 月 29 日·機械検証用: /schema

この版はドラフトです。形の定義は確定していますが、新しい ID の発行はまだ始めていません。 いま発行しているのは、下の「レガシー ID」だけです。

1. 6 つの原則

  1. 発行後は変えない。データを訂正するときも ID は保ち、変更点は訂正履歴に残します。
  2. 独自の番号を作らない。自治体の識別は総務省の全国地方公共団体コードに相乗りします。 国が将来 ID を標準化した場合は、対照表を出して移行できるようにします。
  3. どの経路でも同じ ID。ページの URL・API・CSV・引用表記のすべてで同じ ID を使います。
  4. 機械で検証できる形。ID は正規表現で判定できる固定の文法を持ちます(4 章)。
  5. 確定した情報にだけ発行する。ID に日付を埋め込む以上、その日付が原文で確認できたものにだけ発行します。 読めなかった値を代替の値で埋めた会議には発行せず、保留として開示します。 発行後に変えない決まりは、誤りをそのまま固定してしまう危険と表裏だからです。
  6. ID は台帳が振るもので、原典から計算できるものではありません。だから必ず原典に結びつけて公開します。会議の連番も発言の連番も、こちらの取得順と発言の切り分けで決まります。 第三者が原典だけから同じ ID を再現することはできません(国会会議録検索システムの ID も国立国会図書館が振っています)。 その代わり、すべての ID について「どの原典の・どの版の・どの箇所か」を機械で読める形で公開します(9 章)。

2. 対象別の形

例に出てくる 131067 は総務省コードで、台東区を指します(確認済み)。 会議 ID・発言 ID・議員 ID の例は形の説明で、まだ発行していない番号です。

動く例(実在します)
発言 ID 131067_2522_10 = 台東区議会 2024 年の発言。
/utterance/131067_2522_10 で原文・出典・引用表記 3 形式を出しています。

対象例(形の説明)
自治体総務省 全国地方公共団体コード 6 桁131067
議会自治体コードと同じ(1 対 1)131067
会議自治体コード − 開催日 8 桁 − 種別 − 連番 2 桁131067-20260315-teirei-01
発言会議 ID + u + 連番 4 桁131067-20260315-teirei-01-u0042
議員(人物)p − ハッシュ 8 桁(自治体コードは含めない)p-a8f3e2c1
例規・例規の版予約のみ(条例コモンズの稼働時に確定)
  • 会議 ID は開催日が原文で日まで確認できた会議にだけ発行します。 月までしか分からない会議は保留とし、精度が上がった時点で発行します(原則 5)。
  • 議員 ID のハッシュは、初めて現れた時点の(議会コード・正規化した氏名・初出の会議 ID)から機械的に作り、 作った時点で台帳に固定します。改姓や移籍があっても変えません。氏名でなく ID で参照するのは、同姓同名と改姓に耐えるためです。ID の字面に議会コードを含めません。人は議会をまたぎます(市議から県議へ、合併で議会が変わる)。 議会ごとに別の ID になると、経歴を追うときに一番要る「同じ人」の結びつきが切れるためです。どの議会に属したかは別の表で持ちます。
  • 委員会の名称(総務委員会など)は ID に入れず、付帯情報として別に持ちます。
  • 同じ日・同じ種別に複数の会議がある場合は連番で分けます。連番は初回付与時の原本の掲載順で決め、 付与した時点で固定します。再取得で原本の並びが変わっても、発行済みの ID は変えません。

3. 会議種別の語彙

対応する会議
teirei定例会の本会議
rinji臨時会の本会議
iinkai常任委員会
tokubetsu特別委員会
giun議会運営委員会
zenkyo議員全員協議会
sonota上の 6 つに整理できない会議体

sonota は逃がし枠です。整理できた時点で新しい語を足します。 語を足す変更は既存の ID の意味を変えないので、版を上げずに行います。

4. 文法

機械で検証するための形の定義です。

lgcode              = [0-9]{6}
meeting_id          = lgcode "-" [0-9]{8} "-" slug "-" [0-9]{2}
slug                = "teirei" | "rinji" | "iinkai" | "tokubetsu"
                    | "giun" | "zenkyo" | "sonota"
utterance_id        = meeting_id "-u" [0-9]{4,}
person_id           = "p-" [0-9a-f]{8}
legacy_utterance_id = lgcode "_" [0-9A-Za-z]+ "_" [0-9]+
  • 発言が 1 万を超える会議は、桁を増やさず -u10000 のように自然に伸ばします (先頭のゼロ詰めは 4 桁まで)。
  • 最後の legacy_utterance_id が、いま発行している形です。5 章に段階の説明があります。
  • この文法を機械が読める形にしたものを /schema に置いています。

5. いまの ID と、これからの ID

いま内部で使っている ID は取得の仕組み由来で、会議の日付と種別を含みません。 新しい ID を振るには会議の日付・種別の整理が先に要るため、次の順で移ります。

段階やること
βこの仕様を公開します。発言の恒久リンクは、いまの ID をレガシー ID(恒久の別名)として発行します。 この URL も将来にわたって解決し続けます
その後会議の日付・種別の整理と歩調を合わせ、新しい ID と対照表を段階的に作ります
以後新しい ID を正とし、レガシー ID は恒久転送(HTTP 308)と対照表で解決し続けます

対照表には機械で確かめられた対応だけを載せます。 確定できない行は保留として開示し、推定で埋めません。

6. 外部の体系との対照

対照表は当方の新旧だけでなく、外の体系との対応も収めます。列を持つことと、公開することは別の判断です。

対照先当方の扱い
国会会議録検索システム(国立国会図書館)国会は収録せず、当方の ID も発行しません。国会の発言を参照するときは、 先方の会議録 ID と発言 ID を正として対照列に書きます
Wikidata人物の国際的な対照点。対応が確定した人物にだけ書きます
民間の体系列は用意します。値を入れるか、公開するかはこれから決めます

議員(人物)に国の標準 ID は存在しません(2026 年 8 月時点で、国会・地方とも確認)。 無い以上、原則 2 のとおり人物 ID は当方で振り、標準ができたときは対照表で応じます。

7. 恒久リンクと引用

発言ごとに恒久的な URL を発行しています。.json を付けるか Accept ヘッダを送ると、同じ ID の JSON を返します。

https://gikai-commons.isvd.or.jp/utterance/{発言 ID}

引用の書き方は 2 通りです。

そのまま引く場合

{議会名} {年} {会議種別} 発言 {発言 ID}. 全国地方議会発言データベース
「議会コモンズ」(一般社団法人 社会構想デザイン機構). {URL}(参照 YYYY-MM-DD)

加工して使う場合

一般社団法人 社会構想デザイン機構「議会コモンズ」を加工して作成
(参照 YYYY-MM-DD)

訂正が必要になっても URL は消しません。上書きせず、訂正の記録を残します (訂正履歴)。条件の詳細は利用規約にあります。

8. 版の上げ方

  • 変更は足すだけにします(語彙の追加・対象の追加・対照列の追加)。既存の ID の意味は変えません。
  • どうしても壊す変更が要るときは v2 を新設し、v1 の ID は対照表で永久に対応づけます。
  • 変更の履歴はこのページに残します。
  • 市町村が合併したとき: 総務省は新しいコードを振ります。発行済みの会議 ID・発言 ID は旧コードのまま残します (その会議を開いたのは旧団体で、記録として正しいため)。新団体の会議には新コードで発行し、旧団体と新団体の対応は対照表に載せます。

9. 原典への結びつけと、続くことの約束

発言 ID 1 件ごとに、次の 5 つを機械で読める形で公開します。 これで、こちらを信用しなくても「この ID がこの本文を指している」ことを原典で確かめられます。

何を指すか
source_url取得した原典の場所(議会サイトの会議録ページなど)
source_document_id原典側の文書の識別子(あれば)。原典が場所を変えても追えます
source_location原典の中の位置(ページ・段落・文字位置など、取れた範囲で)
text_hash本文の指紋(本文から機械的に作る短い値。1 文字でも違えば別の値になります)。本文が改変されていないことの証拠
extraction_ver発言の切り分けを行った処理の版

いまはまだ、この 5 つがそろっていません。列はありますが、取り込みの経路によって埋まり方が違い、 「原典の中の位置」と「切り分けの版」は空です。新しい ID は、この 5 つが埋まった発言にだけ発行します。 埋まっていないものは保留として開示します。

発言の単位は、こちらの切り分けで決まっています。地方議会の会議録は発言に番号を振っていないためです。 切り分けを改良して境界が変わっても、発行済みの ID は元の本文(元の指紋)を指し続け、新しい境界には新しい ID を発行します。 ID を新しい本文に付け替えることはしません。

ID の台帳は丸ごと配ります。ID の解決がこちらのサーバーだけに依存しないようにするためです。 運営が止まっても、配った台帳があれば誰でも ID を読み解けます。

検討して採らなかったものも書いておきます。意味を持たない番号だけにする案(引用で読めることを優先。 国会会議録検索システムの ID も日付を含む形です)、会議種別を番号にする案(同じ理由)、 検査数字を付ける案(恒久リンクが解決するかで写し間違いは分かります)。