Стабильные идентификаторы — это внешне стабильный, уникальный идентификатор для данного объекта. Они позволяют потребителям данных согласовывать объекты в потоке данных в формате Common Data Format (CDF) с другими хранилищами данных. В терминологии баз данных внешние идентификаторы — это разновидность внешнего ключа, позволяющая потребителям данных связывать объекты в потоке CDF с другими базами данных.
Например, если «Роберт Брэди» — кандидат, потребитель данных может не сразу связать этого человека с «Бобом Брэди» в своей базе данных изображений. Однако данные CDF и база данных изображений могут указывать на то, что этот человек является законодателем № 01469, как это определено в базе данных THOMAS Библиотеки Конгресса. Тогда потребитель данных сможет связать изображение с кандидатом.
Для всех стабильных идентификаторов должны выполняться следующие условия:
- Стабильность: Стабильный идентификатор для данной уникальной сущности, такой как
PersonилиParty, не должен меняться в разных версиях потока данных. Другими словами, стабильный идентификатор не должен меняться со временем для конкретной сущности. - Уникальность: Никогда не используйте один и тот же стабильный идентификатор для другой сущности, даже если исходная сущность больше не присутствует в ленте.
- Последовательность: Необходимо использовать один и тот же набор стабильных идентификаторов для кандидатов, партий или избирательных округов в обоих симуляционных сценариях, если это необходимо, и на протяжении всего избирательного цикла.
Форматирование данных
Укажите стабильные идентификаторы в следующем формате:
<ExternalIdentifier>
<Type>other</Type>
<OtherType>stable</OtherType>
<Value>match the regex ^[a-zA-Z0-9_-]+$</Value>
</ExternalIdentifier>
Хорошими примерами стабильных идентификаторов являются универсальные уникальные идентификаторы (UUID) и глобальные уникальные идентификаторы (GUID). Они выглядят следующим образом:
e55b7dd4-cc98-11ec-9d64-0242ac120002
Использование венгерской нотации для дальнейшего детализации сущностей является передовой практикой для повышения читаемости данных, но не является обязательным. Содержание стабильных идентификаторов не должно соответствовать каким-либо стандартам, кроме уникальности и стабильности, описанных ранее.
Примеры префиксов:
-
eдляElection -
cдляContest -
canдляCandidate -
perPerson -
parдляParty -
offвOffice -
ohзаOfficeHolderTenure -
gbдляGovernmentBody -
ciдляContactInformation -
ruдляReportingUnit
Рекомендуется: per-e55b7dd4-cc98-11ec-9d64-0242ac120002
Рекомендуется: off-7849514a-e8bc-11ec-8fea-0242ac120002
Рекомендуется: per-123456789012345
Не рекомендуется: per-john-doe
- Риск: Другой человек с таким же именем может иметь тот же идентификационный номер.
- Риск: Изменение данных может повлиять на стабильность идентификатора.
Не рекомендуется: off-presidento-of-us
Где использовать стабильные идентификаторы
Для следующих элементов обязательны стабильные идентификаторы:
-
BallotMeasureSelectionвынесеннойBallotSelection(BallotMeasureSelection) -
Candidate -
CoalitionParty -
Contest -
Election -
Office -
Party -
Person -
ReportingUnit