Skip to content

Relationship Purpose

Every relationship type in the open metadata types has a relationship purpose. The purpose says why the relationship type exists: whether the element at the other end is part of the element, information attached to it, or something independent that it is linked to.

The purpose is stored in the relationshipPurpose attribute of the relationship type's definition (RelationshipDef). For the metadata repositories it is informational: they store it and return it with the type, but nothing in the repository depends on it. The Open Metadata Framework (OMF) defines the values in the OpenMetadataRelationshipPurpose enumeration, records them against each relationship type in OpenMetadataType, and returns them in the relationshipPurpose property of OpenMetadataRelationshipDef when a type is retrieved through the APIs.

Values

Purpose Meaning Followed from an anchored element?
STRUCTURAL Part of what the element is: the attributes of a schema, the endpoint of a connection, the steps of a process. Yes
ATTACHMENT Information attached to, and owned by, the element: comments, notes, ratings, search keywords. Yes
ASSIGNMENT Links the element to independent information that describes or governs it: an owner's role, a catalog template, a governance definition. No
MEMBERSHIP Groups or organizes elements without owning them, such as collection membership. No
ASSOCIATION Relates elements that keep their own identity, often in one direction, such as a foreign key between columns. No
PEER A purely peer link between elements of equal standing, such as related glossary terms. No
DEFINITION Links a design or specification to its implementation. No
DEPLOYMENT Where something runs or is stored. No
DESIGN_LINEAGE LineageRelationship and its subtypes: how data and control are designed to flow. No
ACTION Information gathered so that action can be taken, such as the targets of a governance action or the subscribers to a notification. No
ACTIVITY A record of action that took place. No

How the purpose is used

Operations that start on an anchored element

An anchor is the root of a group of elements that are managed as one object. Each member of the group carries the anchor's unique identifier in its Anchors classification. When an operation starts on the anchor itself, it takes the whole group: every element anchored to it, whatever relationships link them. The purpose does not come into it.

The purpose matters when an operation starts on an element that is anchored to something else, such as one table in a database schema. The operation must take the element and the parts that belong to it, but not its parent, its siblings or the things it happens to be linked to. All of these carry the same anchor identifier, so the Anchors classification alone cannot tell them apart. Egeria uses the direction and purpose of each relationship instead:

  • It follows a relationship only to the element at end 2 (downstream of the starting element). Its parent and anything else upstream are never taken.
  • It follows only relationships whose purpose is STRUCTURAL or ATTACHMENT. An element linked for any other purpose is independent of the starting element, even when it shares the same anchor.
  • It only takes elements that share the starting element's anchor. The anchor itself is never taken.
  • An element whose Anchors classification names an element that has already been taken is always taken too, whichever end of the relationship it is at. For example, an endpoint is anchored to its connection.

This rule applies to three operations:

  • Delete - deleting a table also deletes its columns and the comments attached to them. It does not delete a column in another table that one of its columns refers to with a foreign key, or the role of a person assigned to it.
  • Archive - archiving uses the same rule to decide which elements receive the Memento classification. All of them get one shared archive suffix on their qualified names.
  • Create from template - when the template is a member of another element's group, the new element copies only the template's downstream structure. Relationships into the rest of the template's group are not reproduced.

Elements that are their own anchor, such as most assets, are not affected: they are not taken by these operations whatever the purpose of the relationship. A cascaded delete is the way to remove a hierarchy of independent elements, such as a folder and its files.

Inheritance

A relationship type that has no purpose of its own uses the purpose of its nearest super type. A relationship type with no purpose at all is treated as independent and is never followed. If you add relationship types in an extension archive, set the purpose explicitly.

Visualization and tools

The purpose groups the relationships around an element by meaning: what it is made of, what is attached to it, who and what governs it, and where it runs. User interfaces and tools can read it from the type definition to lay out or filter a view of the element.

Relationship types by purpose

Each relationship type links to the page of the type model that defines it.

STRUCTURAL

Part of what the element is: the attributes of a schema, the endpoint of a connection, the steps of a process. There are 30 relationship types with this purpose.

Relationship type End 1 End 2
APIHeader APIOperation SchemaType
APIOperations APISchemaType APIOperation
APIRequest APIOperation SchemaType
APIResponse APIOperation SchemaType
ArchiveContents ArchiveFile Collection
AssetConnection Asset Connection
AttributeForSchema ComplexSchemaType SchemaAttribute
ConceptBeadAttributeLink ConceptBead ConceptBeadAttribute
ConceptBeadRelationshipEnd ConceptBeadRelationship ConceptBead
ConnectToEndpoint Connection Endpoint
DataClassComposition DataClass DataClass
DetailedProcessingAction DataProcessingAction DataProcessingAction
EmbeddedConnection VirtualConnection Connection
GovernanceActionProcessFlow GovernanceActionProcess GovernanceActionProcessStep
LinkedExternalSchemaType SchemaElement SchemaType
MapFromElementType SchemaElement SchemaType
MapToElementType SchemaElement SchemaType
MemberDataField DataStructure DataField
NestedDataField DataField DataField
NestedSchemaAttribute SchemaAttribute SchemaAttribute
PortDelegation Port Port
ProcessHierarchy Process Process
ProcessPort Process Port
RelationalDBSchema RelationalDBSchemaTypeList RelationalDBSchemaType
ResourceConnection Referenceable Connection
Schema Referenceable SchemaType
SchemaTypeOption SchemaElement SchemaType
SolutionComponentPort SolutionComponent SolutionPort
SolutionComposition SolutionComponent SolutionComponent
SolutionPortDelegation SolutionPort SolutionPort

ATTACHMENT

Information attached to, and owned by, the element: comments, notes, ratings, search keywords. There are 15 relationship types with this purpose.

Relationship type End 1 End 2
AnnotationExtension Annotation Annotation
AssociatedAnnotation OpenMetadataRoot Annotation
AttachedComment Referenceable Comment
AttachedLike Referenceable Like
AttachedNoteLog Referenceable NoteLog
AttachedNoteLogEntry NoteLog Action
AttachedRating Referenceable Rating
AttachedTag Referenceable InformalTag
ContactThrough ActorProfile ContactDetails
Contribution ActorProfile ContributionRecord
ReferenceableFacet Referenceable PropertyFacet
SearchKeywordLink Referenceable SearchKeyword
SpecificationPropertyAssignment Referenceable ValidValueDefinition
SupplementaryProperties Referenceable GlossaryTerm
TranslationLink OpenMetadataRoot TranslationDetail

ASSIGNMENT

Links the element to independent information that describes or governs it: an owner's role, a catalog template, a governance definition. There are 37 relationship types with this purpose.

Relationship type End 1 End 2
AgreementActor Agreement Actor
ApprovedPurpose Referenceable DataProcessingPurpose
AssignmentScope Referenceable Referenceable
AssociatedLog Referenceable Asset
AssociatedSecurityList SecurityAccessControl SecurityList
AssociatedSkillSet Actor SkillSet
CatalogTemplate OpenMetadataRoot OpenMetadataRoot
Certification Referenceable CertificationType
CitedDocumentLink Referenceable CitedDocument
ContractLink Agreement CitedDocument
DataProcessingSpecification Referenceable DataProcessingDescription
DataValueAssignment Referenceable DataValueSpecification
DigitalSubscriber Referenceable DigitalSubscription
Exception Referenceable ExceptionType
ExternalIdLink OpenMetadataRoot EXTERNAL_ID
ExternalReferenceLink Referenceable ExternalReference
GovernanceResults GovernanceMetric Asset
GovernedBy Referenceable GovernanceDefinition
ITInfrastructureProfile Referenceable ITProfile
ITProfileRoleAppointment ITProfileRole ITProfile
ImplementationResource Referenceable Referenceable
KnownLocation Referenceable Location
License Referenceable LicenseType
MediaReference Referenceable RelatedMedia
MoreInformation Referenceable Referenceable
PersonRoleAppointment PersonRole Person
ProfileIdentity ActorProfile UserIdentity
ReferenceValueAssignment Referenceable ValidValueDefinition
ResourceList Referenceable Referenceable
ResourcePermissions SecretsCollection SecurityAccessControl
ScopedBy Referenceable Referenceable
SecretsCollectionSecurityList SecretsCollection SecurityList
SemanticAssignment Referenceable GlossaryTerm
SolutionComponentActor Actor SolutionComponent
TeamRoleAppointment TeamRole Team
UserAccount SecretsCollection UserIdentity
ValidValuesAssignment Referenceable ValidValueDefinition

MEMBERSHIP

Groups or organizes elements without owning them, such as collection membership. There are 13 relationship types with this purpose.

Relationship type End 1 End 2
AgreementItem Agreement Referenceable
CollectionMembership Collection Referenceable
DataValueHierarchy DataValueSpecification DataValueSpecification
DependentContextEvent ContextEvent ContextEvent
NestedDesignPattern DesignPattern DesignPattern
NestedLocation Location Location
ProjectHierarchy Project Project
RegisteredIntegrationConnector IntegrationGroup IntegrationConnector
SubjectAreaHierarchy SubjectArea SubjectArea
SupportedGovernanceService GovernanceEngine GovernanceService
TeamStructure Team Team
ValidValueMember ValidValueDefinition ValidValueDefinition
ZoneHierarchy GovernanceZone GovernanceZone

ASSOCIATION

Relates elements that keep their own identity, often in one direction, such as a foreign key between columns. There are 29 relationship types with this purpose.

Relationship type End 1 End 2
AcceptedAnswer Comment Comment
AnnotationMatch Annotation OpenMetadataRoot
BusinessCapabilityDependency BusinessCapability BusinessCapability
ConceptBeadExtension ConceptBead ConceptBead
ConsistentValidValues ValidValueDefinition ValidValueDefinition
ConsolidatedDuplicateLink Referenceable Referenceable
DataProcessingTarget DataProcessingAction Referenceable
DependentSoftwareComponent RunnableSoftwareComponent RunnableSoftwareComponent
ForeignKey RelationalColumn RelationalColumn
GovernanceMechanism GovernancePolicy GovernanceControl
GovernanceResponse GovernanceDriver GovernancePolicy
GraphEdgeLink GraphEdge GraphVertex
IsAConceptBead ConceptBead ConceptBead
LabeledRelationship OpenMetadataRoot OpenMetadataRoot
LinkedDataField DataField DataField
LinkedMedia MediaFile MediaFile
PermittedProcessing DataProcessingPurpose DataProcessingDescription
ProjectDependency Project Project
Regulator Regulation Organization
RelatedContextEvent ContextEvent ContextEvent
RelatedDesignPattern DesignPattern DesignPattern
ReportDependency Report Report
ResourceProfileData ResourceProfileLogAnnotation Asset
RoledRelationship OpenMetadataRoot OpenMetadataRoot
SampleData Referenceable Asset
SoftwarePackageDependency Asset Collection
UsedInContext GlossaryTerm Referenceable
ValidValueAssociation ValidValueDefinition ValidValueDefinition
ValidValuesMapping ValidValueDefinition ValidValueDefinition

PEER

A purely peer link between elements of equal standing, such as related glossary terms. There are 12 relationship types with this purpose.

Relationship type End 1 End 2
AdjacentLocation Location Location
Antonym GlossaryTerm GlossaryTerm
GovernanceControlLink GovernanceControl GovernanceControl
GovernanceDriverLink GovernanceDriver GovernanceDriver
GovernancePolicyLink GovernancePolicy GovernancePolicy
ISARelationship GlossaryTerm GlossaryTerm
Peer Person Person
PeerDuplicateLink Referenceable Referenceable
PreferredTerm GlossaryTerm GlossaryTerm
RelatedTerm GlossaryTerm GlossaryTerm
ReplacementTerm GlossaryTerm GlossaryTerm
Synonym GlossaryTerm GlossaryTerm

DEFINITION

Links a design or specification to its implementation. There are 18 relationship types with this purpose.

Relationship type End 1 End 2
ConceptDesign Referenceable ConceptModel
ConnectionConnectorType Connection ConnectorType
DataDescription Referenceable Collection
DataStructureDefinition CertificationType DataStructure
DataValueDefinition Referenceable DataValueSpecification
DigitalSupport BusinessCapability Referenceable
ImplementedBy Referenceable Referenceable
RegulationCertificationType Regulation CertificationType
ReusableTechniqueUse Referenceable Referenceable
SchemaAttributeDefinition DataField SchemaAttribute
SchemaTypeDefinition DataStructure SchemaType
SemanticDefinition Referenceable GlossaryTerm
SmartQuery ResultsSet SavedQuery
SoftwareSource Asset SoftwareComponent
SolutionDesign Referenceable SolutionBlueprint
SpecializedDesignPattern DesignPattern DesignPattern
TypedByConceptBead ConceptBeadAttribute ConceptBead
ValidValuesImplementation ValidValueDefinition Referenceable

DEPLOYMENT

Where something runs or is stored. There are 16 relationship types with this purpose.

Relationship type End 1 End 2
APIEndpoint DeployedAPI Endpoint
AttachedStorage Referenceable StorageVolume
CapabilityAssetUse SoftwareCapability Asset
DeployedOn ITInfrastructure Asset
FolderHierarchy FileFolder FileFolder
HostClusterMember HostCluster Host
LinkedFile FileFolder DataFile
MetadataCohortPeer CohortMember MetadataRepositoryCohort
NestedFile FileFolder DataFile
NetworkGatewayLink NetworkGateway Network
OperatingPlatformManifest OperatingPlatform Collection
OperatingPlatformUse OperatingPlatform ITInfrastructure
ServerEndpoint ITInfrastructure Endpoint
StoredOn DataStore StorageVolume
SupportedSoftwareCapability ITInfrastructure SoftwareCapability
VisibleEndpoint Endpoint Network

DESIGN_LINEAGE

LineageRelationship and its subtypes: how data and control are designed to flow. There are 14 relationship types with this purpose.

Relationship type End 1 End 2
ControlFlow Referenceable Referenceable
DataFlow Referenceable Referenceable
DataLineageRelationship Referenceable Referenceable
DataMapping Referenceable Referenceable
DataSetContent DataSet Referenceable
DerivedSchemaTypeQueryTarget SchemaElement SchemaElement
DigitalProductDependency DigitalProduct DigitalProduct
InformationSupplyChainLink Referenceable Referenceable
LineageMapping Referenceable Referenceable
LineageRelationship OpenMetadataRoot OpenMetadataRoot
ProcessCall Referenceable Referenceable
SolutionLinkingWire Referenceable Referenceable
UltimateDestination Referenceable Referenceable
UltimateSource Referenceable Referenceable

ACTION

Information gathered so that action can be taken, such as the targets of a governance action or the subscribers to a notification. There are 7 relationship types with this purpose.

Relationship type End 1 End 2
CatalogTarget IntegrationConnector OpenMetadataRoot
GovernanceActionExecutor GovernanceActionType GovernanceEngine
MonitoredResource NotificationType Referenceable
NextGovernanceActionProcessStep GovernanceActionProcessStep GovernanceActionProcessStep
NotificationSubscriber NotificationType Referenceable
RequestForActionTarget RequestForAction Referenceable
TargetForGovernanceAction GovernanceAction OpenMetadataRoot

ACTIVITY

A record of action that took place. There are 12 relationship types with this purpose.

Relationship type End 1 End 2
ActionRequester Referenceable Action
ActionTarget Action OpenMetadataRoot
Actions Referenceable Action
ContextEventEvidence ContextEvent Referenceable
ContextEventForTimelineEffects Referenceable ContextEvent
ContextEventImpact Referenceable ContextEvent
CrowdSourcingContribution Referenceable Actor
ImpactedResource Referenceable IncidentReport
ReportOriginator Referenceable Report
ReportSubject OpenMetadataRoot Report
ReportedAnnotation SurveyReport Annotation
SourcedFrom OpenMetadataRoot OpenMetadataRoot

Further information


Raise an issue or comment below