Enterprise Metadata Management System  ·  View 07 of 22  ·  Data

Canonical Metadata Model

What counts as an asset, how it relates to people, terms, policy and quality, and how it is extended.

Editable source SVG draw.io All views
business_term
term_id PK
name
definition
parent_term_id FK
status draft|approved
domain_id FK
business_term...
field
field_urn PK
asset_urn FK
name
data_type
ordinal
nullable
field...
lineage_edge
edge_id PK
upstream_urn FK
downstream_urn FK
granularity col|table
evidence sql|event
confidence
lineage_edge...
job_run
run_id PK
job_urn
platform
started_at
state
job_run...
domain
domain_id PK
name
parent_domain_id FK
owner_group
domain...
asset
asset_urn PK
type table|report|job
platform
domain_id FK
lifecycle draft|certified
deprecated_at
asset...
aspect
aspect_id PK
entity_urn FK
aspect_name
version
payload JSONB
provenance curated|source
created_at
aspect...
classification
class_id PK
aspect_id FK
label public..restricted
regulation GDPR|PCI
pii_flag
confidence
classification...
policy
policy_id PK
name
applies_to label|domain
enforcement_ref
status
policy...
ownership
own_id PK
entity_urn FK
principal
role owner|steward
valid_from
ownership...
quality_rule
rule_id PK
aspect_id FK
dimension
expression
engine soda|gx|dbt
quality_rule...
quality_result
result_id PK
rule_id FK
score
passed
run_at
quality_result...
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
N : M
N : M
N : 1
N : 1
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
1 : N
N : M
N : M
N : M
N : M
Canonical Metadata Model
Canonical Metadata Model
Every entity is addressed by URN. Classification and quality rules are stored as aspects, so a new metadata type needs no schema change. workflow_task and audit_event are in views 13 and 21.
Every entity is addressed by URN. Classification and quality rules are stored as aspects, so a new metadata type needs no schema change. workflow_task and audit_event are in views 13 and 21.
v 1.0 · owner Data Architecture · date 2026-08
v 1.0 · owner Data Architecture · date 2026-08
Text is not SVG - cannot display

The central decision

  • Typed entities plus versioned aspects. An entity is identified by URN and carries named aspect documents; classification, quality rules, ownership and documentation are all aspects.
  • This is what makes extensibility real: a new metadata attribute is a registered aspect schema, not a database migration and a release.
  • The alternative — a wide table per asset type — was rejected because every new governance requirement would then change the core schema.

Model rules

  • Every entity is addressed by URN of the form platform:instance:path, so the same physical table harvested twice resolves to one asset.
  • Lineage carries granularity and evidence on the edge itself, so a table-level guess and a parsed column mapping are never confused.
  • Provenance is stored on every aspect version — this is the field the precedence engine reads (view 09).

Omitted here

  • workflow_task and audit_event are part of the model but are shown where they are used, in views 13 and 21.
  • Physical partitioning, indexes and the JSONB GIN strategy are in the storage design, not the logical model.