0017 External Identifiers¶
External identifiers are used to correlate the identifiers used in third party metadata catalogs with open metadata elements.
ExternalId entity describes an external identifier from a specific third party metadata repository. It includes:
- The identifier value itself in
- The pattern used for the identifier (how it is generated and managed) is stored in
KeyPattern describes the pattern used for the identifier (how it is generated and managed). These are the values it can take, with the default (and most used) being
|LOCAL_KEY||0||"Local Key"||Unique key allocated and used within the scope of a single system.|
|RECYCLED_KEY||1||"Recycled Key"||Key allocated and used within the scope of a single system that is periodically reused for different records.|
|NATURAL_KEY||2||"Natural Key"||Key derived from an attribute of the entity, such as email address, passport number.|
|MIRROR_KEY||3||"Mirror Key"||Key value copied from another system.|
|AGGREGATE_KEY||4||"Aggregate Key"||Key formed by combining keys from multiple systems.|
|CALLERS_KEY||5||"Caller's Key"||Key from another system can bey used if system name provided.|
|STABLE_KEY||6||"Stable Key"||Key value will remain active even if records are merged.|
|OTHER||99||"Other"||Another key pattern.|
The mapping of identifiers can be many-to-many, which is why you see that the
ExternalIdLink relationship between the
OpenMetadataRoot (open metadata resources) and the
ExternalId is also many-to-many.
This relationship includes properties to help to map the
OpenMetadataRoot to the external identifier.
There is no guarantee that external identifiers from a third party metadata catalog are globally unique and so the
ExternalIdScope relationship links the external identifier to the
Referenceable that represents the third party metadata catalog. Typically, this is a type of
SoftwareCapability, for example,
PermittedSynchronization defines the direction of flow of metadata.
|BOTH_DIRECTIONS||0||"Both Directions"||Metadata exchange is permitted in both directions. Synchronization is halted on a specific element if potentially clashing updates have occurred both in the third party technology and open metadata. Such conflicts are logged on the audit log and resolved through manual stewardship.|
|TO_THIRD_PARTY||1||"To Third Party"||The third party technology is logically downstream of open metadata. This means the open metadata ecosystem is the originator and owner of the metadata being synchronized. Any updates detected in the third technology are overridden by the latest open metadata values.|
|FROM_THIRD_PARTY||2||"From Third Party"||The third party technology is logically upstream (the originator and owner of the metadata). Any updates made in open metadata are not passed to the third party technology and the third party technology is requested to refresh the open metadata version.|
|OTHER||99||"Other"||Another type of synchronization rule - see description property.|
There is an article on managing external identifiers to correlate metadata elements from different types of technologies.