Link Search Menu Expand Document

Relationships

Relationships are a logical definition of how objects are connected.

Relationships are always assumed to be one-to-many, and use a foreign key relationship.

To maintain simplicity of the model, Bridges, provide a physical schema object to resolve many-to-many relationships.

ADML Schema Relationships

(one item in) Object Related to (many items in) Object Related by
Process Area Imperative ProcessID
Imperative Persona ImperativeID
Imperative Measurement via Imperative-Measurement Bridge
MeasurementID & ImperativeID
Persona Measurement via Persona-Measurement Bridge
PersonaID & ImperativeID
Imperative Hypothesis ImperativeID
Hypothesis Issue HypothesisID
Issue Outcome Change IssueID
Outcome Change Driver OutcomeChangeID
Driver Intervention DriverID
Driver Data Product via Data Product-Item Bridge
ItemID = DriverID where Item Type = “Driver”
Outcome Change Data Product via Data Product-Item Bridge
ItemID = OutcomeChangeID where ItemType = “OutcomeChangeID”
Data Readiness Data Product via Data Product-Item Bridge
ItemID = DataReadinessID where ItemType = “Data Readiness”
Resource Data Product via Data Product-Item Bridge
ItemID = ResourceID where ItemType = “Resource”
Intervention Data Product via Data Product-Item Bridge
ItemID = InterventionID where ItemType = “Intervention”
Measurement Activity via Activity-Measurement Bridge
ActivityID & MeasurementID
Activity Entity via Activity-Entity Bridge
ActivityID & EntityID
Entity Activity via Activity-Entity Bridge
ActivityID & EntityID
Activity-Entity Bridge Activity-Entity Relationship Description ActivityID & EntityID
DescriptionFromID = “ActivityID” or “EntityID”
DescriptionToID=“EntityID” or “ActivityID”
Data Product Learning DataProductID
Data Product Data Product Benefit DataProductID

Bridges

Bridges are typically used to relate objects that do not adhere to a single foreign key based one-to-many relationship.

Name Description
Activity-Measurement Bridge Associates a measurement with many activities
Imperative-Measurement Bridge Associates an imperative with many measurements
Persona-Measurement Bridge Associates a persona with many measurements
Activity-Entity Bridge Associates activities and entities
Data Product-Item Bridge Associates Resources, Drivers, Outcome Changes, Interventions, Data Readiness and Measurements to Data Products. It can be extended using its generic pattern to link to other objects also.
Activity-Entity Relationship Description Captures the description of the relationship between an Activity and an Entity, for a particular direction of relationship.

Bridge Properties

Name DisplayName Description DataType Required? Predefined
name Name The name of the bridge for technical reference and coding purposes string yes yes
description Description The description of the bridge string yes yes
version Version The model version that the bridge definition is based on string yes yes
modifiedDateTime Modified DateTime The most recent time when the bridge was updated in date time offset per ISO 8601. datetimeoffset yes no
customProperties Custom Properties Array of optional bridge properties - non-essential key/value pairs that contain contextual information that can be used to store additional context. customProperties[] no no

Custom Properties

Array of optional bridge properties - a non-essential key/value pairs that contain contextual information that can be used to store additional context. Custom Properties are applied at model level about the object.

Property Type Description Required?
name string Name of the Custom Property Yes
value string Value of the Custom Property No

Example below:

{
   "customProperties":[
      {
         "name":"ApprovedDate",
         "value":"20220101"
      }
   ]
}




Custom Attributes

Array of custom bridge attributes - a non-essential key/value pairs that contain custom fields that can be used to store additional data. Custom Attributes are applied within the bridge to extend the information able to be stored alongside pre-defined attributes.

Property Type Description Required?
name string Name of the Custom Attribute Yes
value string Value of the Custom Attribute No

Example below:

{
   "customAttributes":[
      {
         "name":"Owner",
         "value":"John Smith"
      }
   ]
}





Back to top

Copyright © 2022 Nadav Rayman and Dr James Pearce.