Schema Normalisation
One record shape, no matter how many source systems.
Maps incoming records from any source into your canonical schema — field renames, type coercions, unit conversions, code-value reconciliation. Every downstream consumer sees the same shape regardless of where the data came from. Without this, each integration re-implements the same translation and diverges over time.
Shape
Operational dimensions
Runs without a person in the path.
Fires when an upstream condition occurs.
Holds working state that compounds over runs.
Consumes external data; does not write back.
Inputs
- source records (heterogeneous schemas, types, units)
- source-to-canonical field mapping specification
- target canonical schema definition
- value-code reconciliation tables (e.g. country codes, status enums)
Outputs
- normalised records conforming to canonical schema
- mapping / coercion exception log
- field coverage report per source
Mechanism
Maps heterogeneous source records into a canonical target schema — aligning field names, types, units, and value vocabularies so downstream consumers see one shape.
Why this is a primitive
Cannot be decomposed: the map-fields → coerce-types → align-units → reconcile-value-codes operation is the single act of conforming a record. It is upstream of entity-resolution (you normalise before you can match) and upstream of graph-instantiation (the graph wants conformant inputs), but does neither itself. Strip it and consumers wrangle source-by-source.
Where it shows up
Related primitives
Tags
See where it fits.
Primitives are configured into named solution shapes for each client’s domain. The fastest next step is a conversation about which shape fits your problem.
Start a conversation