不変識別子は、特定のオブジェクトに対して外部で不変の一意の識別子です。データ コンシューマが Common Data Format(CDF)フィード内のオブジェクトを他のデータ リポジトリと調整できます。データベース用語では、外部識別子はデータ利用者が CDF フィード内のオブジェクトを他のデータベースにリンクするための外部キーの形式です。
たとえば、「Robert Brady」が候補である場合、データ利用者は画像データベースの「Bob Brady」にすぐにはリンクしない可能性があります。しかし、CDF データと画像データベースから、この人物が米国議会図書館の THOMAS データベースによって確認された立法者 01469 であることが示される場合があります。これにより、データ コンシューマーが画像を候補にリンクできます。
すべての固定識別子について、次の条件が当てはまる必要があります。
- 安定性: 特定の固有エンティティ(
Person
やParty
など)の不変の識別子は、データフィードのバージョン間で変更してはなりません。つまり、特定のエンティティに対して固定 ID が時間の経過とともに変化してはなりません。 - 一意性: 元のエンティティがフィードに含まれていない場合でも、別のエンティティに固定 ID を再利用しないでください。
- 一貫性: 必要に応じて、また選挙期間中は、両方のシミュレーションで候補者、政党、または学区に対して同じ固定 ID セットを使用する必要があります。
データ形式
次の形式で固定 ID を指定します。
<ExternalIdentifier>
<Type>other</Type>
<OtherType>stable</OtherType>
<Value>match the regex ^[a-zA-Z0-9_-]+$</Value>
</ExternalIdentifier>
固定 ID の例として、Universal Unique Identifier(UUID)やグローバル Unique Identifier(GUID)などがあります。たとえば、次のようになります。
e55b7dd4-cc98-11ec-9d64-0242ac120002
データを読みやすくするには、接頭辞と接尾辞を追加してエンティティをさらに分類することをおすすめします。たとえば、固定 ID は標準に適合することが想定されていないため、人物には per-
接頭辞、オフィスの場合は off-
を追加します。
推奨: per-e55b7dd4-cc98-11ec-9d64-0242ac120002
推奨: off-7849514a-e8bc-11ec-8fea-0242ac120002
推奨: per-123456789012345
非推奨例: per-john-doe
- リスク: 同じ名前の別の人物が同じ ID を使用している可能性があります。
- リスク: データを変更すると、固定 ID に影響する可能性があります。
非推奨例: 「オフ」プレジデント
固定 ID を使用する場所
不変の識別子は、次の要素に必須です。
BallotSelection
のBallotMeasureSelection
Candidate
Coalition
/Party
Contest
Election
Office
Party
Person
ReportingUnit