Entity Mapping
This page provides detailed mappings between Triodian Metamodel domains and OpenMetadata entities. Use these mappings to design your integration strategy.
The Triodian attributes on this page are the property names defined in the metamodel's schemas. Every Triodian record has a required identifier named after its entity (informationID, valueStreamID, stakeholderID …); carry that identifier into OpenMetadata as a custom property of the same name (stored in the entity's extension through the OpenMetadata API), so that each OpenMetadata entity can be traced back to its Triodian record.
Primary Entity Mappings
Triodian → OpenMetadata
| Triodian Domain | OpenMetadata Entity | Mapping Type | Notes |
|---|---|---|---|
| Information | Table, Topic | Direct | Information assets and their information elements map to data assets |
| Value Stream | Pipeline | Conceptual | Value stream stages map to pipeline tasks |
| Performance | Dashboard, Metric | Direct | Performance measures and KPIs map to metrics |
| Products | Data Product | Direct | Data products align directly |
| Stakeholder | User, Team | Direct | Business owners to OM owners |
| Organization | Domain (OM) | Direct | Organization units to OM domains |
| Policy | Policy | Direct | Business rules to governance policies |
| Capabilities | Custom Property | Extension | Add capability context to assets |
| Technology | Service | Conceptual | Technology records and application components to OM services |
| Strategy | Glossary Term | Extension | Strategies and strategy objectives as terms |
Detailed Mappings by Domain
Information Domain → OpenMetadata Data Assets
The Information domain maps most directly to OpenMetadata's core data assets.
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
informationID | Custom property informationID | Traceability back to Triodian |
title | displayName | Direct |
description | description | Direct |
owner | owner | Resolve to OM User/Team |
informationCategory | tags | Map to data type tags |
informationType | Entity type, tableType | Enum mapping |
dataClassification | tags | Map to classification tags |
dataQuality | testSuites | Link to quality tests |
dataOwner | owner | Accountable owner, when different from owner |
dataSteward | domain.experts | Add as domain expert |
lineage | lineage | Create lineage edges |
Information Category and Type Mapping:
| Triodian Value | OpenMetadata Type |
|---|---|
informationCategory: masterData | Regular table + "MasterData" tag |
informationCategory: operationalData | Regular table + "Transactional" tag |
informationCategory: referenceData | Regular table + "ReferenceData" tag |
informationCategory: analyticalData | View or Materialized View |
informationType: realTimeStream | Topic |
informationType: dashboard | Dashboard |
informationType: model | ML Model |
Example Mapping:
Triodian record:
{
"informationID": "INF-CUST-001",
"title": "Customer Master",
"description": "Core customer information",
"purpose": "Single authoritative record of every customer",
"owner": "Data Governance Team",
"informationCategory": "masterData",
"informationType": "database",
"dataClassification": "confidential",
"dataOwner": "Head of Customer Operations",
"dataSteward": "Customer Data Steward"
}
OpenMetadata entity:
{
"displayName": "Customer Master",
"description": "Core customer information",
"tableType": "Regular",
"tags": [
{"tagFQN": "DataClassification.Confidential"},
{"tagFQN": "DataType.MasterData"}
],
"owner": {
"type": "team",
"name": "data-governance"
},
"domain": {
"type": "domain",
"name": "customer-domain"
},
"customProperties": {
"informationID": "INF-CUST-001"
}
}
Value Stream Domain → OpenMetadata Pipeline
Value streams conceptually map to data pipelines, representing the flow of value/data through stages. In Triodian, each stage is a Value Stream Stage record (valueStreamStage) that names its value stream in parentValueStreamID.
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
valueStreamID | Custom property valueStreamID | Traceability back to Triodian |
title | displayName | Direct |
description | description | Direct |
owner | owner | Resolve to OM User/Team |
performanceIndicators | Custom properties | Add KPI references |
Stage stageID, stageTitle | tasks | Map each stage to a pipeline task |
Stage inputs | sourceUrl | Reference source tables |
Stage outputs | sink | Reference target tables |
Stage enablingCapabilityID | Task custom property | Capability that enables the stage |
Stage to Task Mapping:
Triodian value stream:
{
"valueStreamID": "VS-O2C-001",
"title": "Order to Cash",
"description": "From receiving a customer order to collecting payment",
"purpose": "Turn customer orders into realised revenue",
"owner": "Chief Operating Officer"
}
Its stages:
[
{"stageID": "VSS-O2C-01", "stageTitle": "Order Capture", "parentValueStreamID": "VS-O2C-001", "enablingCapabilityID": "CAP-ORD-001"},
{"stageID": "VSS-O2C-02", "stageTitle": "Fulfillment", "parentValueStreamID": "VS-O2C-001", "enablingCapabilityID": "CAP-INV-001"},
{"stageID": "VSS-O2C-03", "stageTitle": "Invoicing", "parentValueStreamID": "VS-O2C-001", "enablingCapabilityID": "CAP-BIL-001"},
{"stageID": "VSS-O2C-04", "stageTitle": "Collection", "parentValueStreamID": "VS-O2C-001", "enablingCapabilityID": "CAP-AR-001"}
]
OpenMetadata pipeline:
{
"displayName": "Order to Cash",
"pipelineType": "metadata",
"tasks": [
{"name": "order_capture", "displayName": "Order Capture"},
{"name": "fulfillment", "displayName": "Fulfillment"},
{"name": "invoicing", "displayName": "Invoicing"},
{"name": "collection", "displayName": "Collection"}
],
"customProperties": {
"valueStreamID": "VS-O2C-001",
"valueStreamPurpose": "Turn customer orders into realised revenue"
}
}
Stakeholder Domain → OpenMetadata Users/Teams
Stakeholders map to OpenMetadata's ownership model. Triodian stakeholder records carry no contact details; take e-mail addresses from your identity directory.
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
stakeholderID | Custom property stakeholderID | Traceability back to Triodian |
title | displayName | Direct |
description | description | Direct |
stakeholderCategory, tType | User or Team | Individual or group |
role | Custom properties | Accountability areas |
orgUnitTitle, orgUnitID | teams | Team membership |
influenceLevel | Custom properties | Engagement level |
Stakeholder Type Mapping:
Triodian tType | OpenMetadata Mapping |
|---|---|
boardMember, employeeStaff (a named person) | User |
employeeStaff (a group of staff), internalCustomer | Team |
regulatoryBody, governmentAgency, strategicPartner, supplierVendor | Team (external organization) |
Example:
Triodian record:
{
"stakeholderID": "STK-CFO-001",
"title": "Chief Financial Officer",
"tType": "employeeStaff",
"description": "Executive accountable for financial reporting and budget management",
"role": "Financial Reporting, Budget Management",
"stakeholderCategory": "internalStakeholder",
"orgUnitTitle": "Finance Leadership",
"orgUnitID": "OU-FIN-LEAD",
"influenceLevel": "highInfluence"
}
OpenMetadata user:
{
"entityType": "user",
"name": "cfo",
"displayName": "Chief Financial Officer",
"email": "cfo@company.com",
"teams": ["finance-leadership"],
"customProperties": {
"stakeholderID": "STK-CFO-001",
"stakeholderRole": "Financial Reporting, Budget Management"
}
}
Organization Domain → OpenMetadata Domains
Organization units (organizationUnit elements of an Organization record) map to OpenMetadata's domain construct.
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
orgUnitID | Custom property orgUnitID | Traceability back to Triodian |
orgUnitTitle | displayName | Direct |
description | description | Direct |
parentOrgUnitID | parent | Hierarchy preservation |
subOrgUnitIDs | children | Hierarchy preservation |
owner | owner | Domain owner |
Example:
Triodian organization unit:
{
"orgUnitID": "OU-RETAIL",
"orgUnitTitle": "Retail Banking Division",
"description": "Banking services for individual customers",
"purpose": "Serve personal customers across branches and digital channels",
"owner": "Head of Retail Banking",
"higherOrganizationUnit": "Banking Group",
"parentOrgUnitID": "OU-GROUP"
}
OpenMetadata domain:
{
"entityType": "domain",
"name": "retail-banking",
"displayName": "Retail Banking Division",
"domainType": "Source-aligned",
"parent": "banking-group",
"owner": {
"type": "user",
"name": "head-retail-banking"
},
"customProperties": {
"orgUnitID": "OU-RETAIL"
}
}
Policy Domain → OpenMetadata Policies
Business policies map to OpenMetadata governance policies.
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
policyID | Custom property policyID | Traceability back to Triodian |
title | name | Direct |
description | description | Direct |
scope | resources | Assets covered |
requirements | rules | Translate to rule conditions |
enforcedBy | Custom property | Who enforces the policy |
owner | owner | Policy owner |
Example:
Triodian record:
{
"policyID": "POL-DATA-001",
"title": "Customer Data Retention Policy",
"description": "Limits how long customer personal data is kept",
"purpose": "Comply with data protection law and reduce privacy risk",
"scope": "All customer PII",
"enforcedBy": "Data Governance Office",
"owner": "Chief Privacy Officer",
"requirements": "Delete customer PII after 730 days (mandatory); legal hold overrides"
}
OpenMetadata policy:
{
"entityType": "policy",
"name": "customer-data-retention",
"fullyQualifiedName": "governance.customer-data-retention",
"policyType": "Lifecycle",
"rules": [
{
"name": "PII Retention Limit",
"effect": "deny",
"operations": ["Delete"],
"condition": "matchAnyTag('PII') && retentionDays > 730"
}
],
"customProperties": {
"policyID": "POL-DATA-001"
}
}
Performance Domain → OpenMetadata Metrics/Dashboards
Performance records and their KPIs (performanceKPIs) map to OpenMetadata metrics and can be linked to dashboards. Targets and thresholds are recorded as text in Triodian; numeric baseline, current and target values belong in a Performance Indicator record (performance-indicator.schema.json).
| Triodian Attribute | OpenMetadata Property | Mapping Logic |
|---|---|---|
performanceID | Custom property performanceID | Traceability back to Triodian |
title | displayName | Direct |
description | description | Direct |
performanceType, metricClass | Custom property | Classification |
targets | Custom property | Target |
thresholds | Custom property | Alert thresholds |
frequency | Custom property | Measurement frequency |
dataSource | Metric source | Where the measure comes from |
Example:
Triodian record:
{
"performanceID": "PERF-CSAT-001",
"title": "Customer Satisfaction Score",
"description": "Average customer rating of service interactions on a 1 to 5 scale",
"purpose": "Track how well service interactions meet customer expectations",
"owner": "Head of Customer Experience",
"performanceType": "score",
"metricClass": "laggingIndicator",
"targets": "4.5 out of 5",
"frequency": "monthly",
"dataSource": "Post-interaction survey platform"
}
OpenMetadata metric:
{
"entityType": "metric",
"name": "customer-satisfaction-score",
"displayName": "Customer Satisfaction Score",
"metricType": "Number",
"customProperties": {
"performanceID": "PERF-CSAT-001",
"metricClass": "laggingIndicator",
"target": "4.5 out of 5"
}
}
Capabilities → OpenMetadata Custom Properties
Capabilities don't have a direct OpenMetadata equivalent but enrich data assets via custom properties.
Custom Property Schema:
{
"customPropertyConfig": {
"capabilityID": {
"propertyType": "string",
"description": "Triodian capabilityID of the capability this asset supports"
},
"parentCapabilityID": {
"propertyType": "string",
"description": "Triodian parentCapabilityID: the higher-level capability"
},
"capabilityOwner": {
"propertyType": "string",
"description": "The capability's Triodian owner"
},
"strategicAlignment": {
"propertyType": "string",
"description": "The capability's Triodian strategicAlignment"
}
}
}
Application to Table:
{
"table": {
"fullyQualifiedName": "warehouse.crm.customers",
"customProperties": {
"capabilityID": "CAP-CRM-001",
"parentCapabilityID": "CAP-CM-001",
"capabilityOwner": "Head of Customer Operations",
"strategicAlignment": "Digital-first customer experience"
}
}
}
Mapping Summary Table
| Triodian Domain | Primary OM Entity | Secondary OM Entities | Custom Properties |
|---|---|---|---|
| Information | Table, Topic | Glossary Term | informationID |
| Value Stream | Pipeline | - | valueStreamID |
| Performance | Dashboard, Metric | - | performanceID |
| Products | Data Product | - | productID |
| Stakeholder | User, Team | - | stakeholderID |
| Organization | Domain | - | orgUnitID |
| Policy | Policy | Tag | policyID |
| Capabilities | - | Glossary Term | capabilityID |
| Technology | Service | - | technologyID |
| Strategy | Glossary Term | - | strategyID |
| Initiatives | - | - | initiativeID |
| Risk Management | Tag, Policy | - | riskID |
Related Documentation
- Use Cases — Practical integration scenarios
- Terminology Bridge — Vocabulary mapping
- API Patterns — Implementation code examples