# Schema / Canonical Data / Semantics

> Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or…

Page: Ontology · Lexicon
Canonical: https://banes-lab.com/ontology/lexicon#lex-category-schema-canonical-data-semantics

Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or contract that carries the same name where one exists, and the layer its category belongs to.

### Ambiguous API

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
An interface whose names and parameters hide what it does, so callers must guess or read the implementation.

Referenced by
[Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md)

### Ambiguous Encoding

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Representing the same value in multiple encodings without normalizing, so equal values compare as different.

Referenced by
[Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)

### Bounded Context Autonomy

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which enforcing one canonical model limits each bounded context's freedom to model its own domain.

Referenced by
[Canonical Model](https://banes-lab.com/records/arch/canonical-model.md)

### Bounded Context Purity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which sharing one enterprise data model erodes the conceptual purity of each bounded context.

Referenced by
[Canonical Data Model](https://banes-lab.com/records/arch/canonical-data-model.md)

### Canonical Definition

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that each fact have one authoritative definition that all consumers reference.

Referenced by
[Single Source of Truth](https://banes-lab.com/records/arch/single-source-of-truth.md)

### Canonical Format

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that a single normalized form be defined for values before they are compared or stored.

Referenced by
[Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)

### Clear Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that an interface's names convey what each operation does and expects.

Referenced by
[Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md)

### Clever Abstractions

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which clever, non-obvious abstractions trade familiarity for surprise to the reader.

Referenced by
[Principle of Least Surprise](https://banes-lab.com/records/arch/principle-of-least-surprise.md)

### Concise Naming

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which naming an interface fully for clarity works against keeping names short.

Referenced by
[Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md), [Member Never Restates the Set](https://banes-lab.com/records/arch/member-never-restates-the-set.md)

### Convention

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that a design follow established conventions so its behavior matches expectations.

Referenced by
[Principle of Least Surprise](https://banes-lab.com/records/arch/principle-of-least-surprise.md)

### Correct Usage

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability of callers to use an interface correctly because its names reveal its intent.

Referenced by
[Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md)

### Cross-Context Terminology

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which agreeing on shared terms strains against the distinct vocabularies different contexts need.

Referenced by
[Ubiquitous Language](https://banes-lab.com/records/arch/ubiquitous-language.md)

### Cross-System Mapping

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to map data between systems through a single shared canonical representation.

Referenced by
[Canonical Data Model](https://banes-lab.com/records/arch/canonical-data-model.md)

### Data Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that the meaning and dependencies of data be understood before it is decomposed into relations.

Referenced by
[Normalization](https://banes-lab.com/records/arch/normalization.md)

### Deduplication

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to recognize and collapse values that are equivalent once reduced to canonical form.

Referenced by
[Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)

### Denormalized Read Models

- Kind: [pattern](https://banes-lab.com/records/kind/pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
A read-optimized model that deliberately duplicates data to serve queries fast, trading storage and write cost for read speed.

Referenced by
[Normalization](https://banes-lab.com/records/arch/normalization.md)

### Disambiguation

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to give each concept one unambiguous name and meaning across a domain.

Referenced by
[Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md)

### Domain Collaboration

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that domain experts and developers collaborate to agree on shared terminology.

Referenced by
[Ubiquitous Language](https://banes-lab.com/records/arch/ubiquitous-language.md)

### Duplicated Authority

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Two or more places each claiming to own the same fact, so they drift and disagree over time.

Referenced by
[Single Source of Truth](https://banes-lab.com/records/arch/single-source-of-truth.md)

### Duplicated Denormalized Columns

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The same fact copied into many columns and rows, so updates must touch every copy or leave them inconsistent.

Referenced by
[Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)

### Dynamic Untyped Boundaries

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Passing untyped values across module or service boundaries, so type errors surface only at runtime.

Referenced by
[Type Safety](https://banes-lab.com/records/arch/type-safety.md)

### Explicit Types

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that values crossing a boundary carry explicit, declared types rather than open-ended ones.

Referenced by
[Type Safety](https://banes-lab.com/records/arch/type-safety.md)

### Flexible Input

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which strictly validating every payload rejects the loosely-shaped input a caller might legitimately send.

Referenced by
[Schema Validation](https://banes-lab.com/records/arch/schema-validation.md)

### Functional Dependencies

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that the dependencies determining which attributes fix others be identified before decomposing a schema.

Referenced by
[Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)

### Local Model Autonomy

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a bounded context is free to define and evolve its own data model independently of a shared canonical one.

Referenced by
[Canonical Data Model](https://banes-lab.com/records/arch/canonical-data-model.md)

### Lossless Preservation

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which reducing values to a canonical form can discard distinctions the original preserved.

Referenced by
[Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)

### Multiple Competing Models

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Several inconsistent models of the same concept coexisting, so translations between them drift and conflict.

Referenced by
[Canonical Model](https://banes-lab.com/records/arch/canonical-model.md)

### Naming Consistency

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that names for the same concept be used consistently across an interface.

Referenced by
[Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md), [Member Never Restates the Set](https://banes-lab.com/records/arch/member-never-restates-the-set.md)

### Non-Redundant Storage

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to store each fact once, so it cannot drift out of sync with copies.

Referenced by
[Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)

### Normalized Translation

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to translate between systems through one shared canonical form rather than many pairwise mappings.

Referenced by
[Canonical Model](https://banes-lab.com/records/arch/canonical-model.md)

### Polysemy Across Contexts

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which one term legitimately carries different meanings in different bounded contexts.

Referenced by
[Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md)

### Query Performance

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which splitting data across normalized relations forces costly joins on read.

Referenced by
[Normalization](https://banes-lab.com/records/arch/normalization.md)

### Rapid Scripting

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which requiring explicit types slows the quick, exploratory coding that dynamic typing allows.

Referenced by
[Type Safety](https://banes-lab.com/records/arch/type-safety.md)

### Read Performance

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which normalizing a schema into many relations forces joins that slow reads.

Referenced by
[Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)

### Reduced Redundancy

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to eliminate duplicated facts by referencing a single stored copy.

Referenced by
[Normalization](https://banes-lab.com/records/arch/normalization.md)

### Safe Use

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to use an interface safely because it behaves the way its name and shape suggest.

Referenced by
[Principle of Least Surprise](https://banes-lab.com/records/arch/principle-of-least-surprise.md)

### Security Checks

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to apply security checks reliably by first reducing input to one unambiguous form.

Referenced by
[Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)

### Service-Specific Schemas

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a shared canonical schema competes with each service's need for its own tailored schema.

Referenced by
[Canonical Schema](https://banes-lab.com/records/arch/canonical-schema.md)

### Technical/Domain Mismatch

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Naming code in technical terms disconnected from the domain, so experts and developers talk past each other.

Referenced by
[Ubiquitous Language](https://banes-lab.com/records/arch/ubiquitous-language.md)

### Untyped Payloads

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Accepting data at a boundary with no schema, so malformed or unexpected shapes flow in unchecked.

Referenced by
[Schema Validation](https://banes-lab.com/records/arch/schema-validation.md)

### Update-Anomaly Elimination

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lex-category-schema-canonical-data-semantics.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to eliminate update anomalies by storing each fact in exactly one place.

Referenced by
[Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)

## Links to

- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
- [Intent-Revealing Interface](https://banes-lab.com/records/arch/intent-revealing-interface.md)
- [Canonicalization](https://banes-lab.com/records/arch/canonicalization.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Canonical Model](https://banes-lab.com/records/arch/canonical-model.md)
- [Canonical Data Model](https://banes-lab.com/records/arch/canonical-data-model.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Single Source of Truth](https://banes-lab.com/records/arch/single-source-of-truth.md)
- [Principle of Least Surprise](https://banes-lab.com/records/arch/principle-of-least-surprise.md)
- [Member Never Restates the Set](https://banes-lab.com/records/arch/member-never-restates-the-set.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [Ubiquitous Language](https://banes-lab.com/records/arch/ubiquitous-language.md)
- [Normalization](https://banes-lab.com/records/arch/normalization.md)
- [pattern](https://banes-lab.com/records/kind/pattern.md)
- [Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md)
- [Database Normalization](https://banes-lab.com/records/arch/database-normalization.md)
- [Type Safety](https://banes-lab.com/records/arch/type-safety.md)
- [Schema Validation](https://banes-lab.com/records/arch/schema-validation.md)
- [Canonical Schema](https://banes-lab.com/records/arch/canonical-schema.md)
