The Canonical Data Model defines the common information language used throughout Elonn.
Every dataset exchanged across an architectural boundary consists exclusively of canonical concepts defined by this library.
The Canonical Data Model is independent of:
- runtimes
- services
- providers
- transports
- serialization
- programming languages
- storage technologies
Contracts compose canonical concepts.
Implementations consume contracts.
Only the Canonical Data Model defines canonical concepts.
Canonical Data Model (CDM)
Exchange
Dataset
Call
Context
Core
Object
Thread
Interaction
Action
Relationship
Collection
Content
Resource
Placement
Finding
Drawing Operation
SVG Profile
Administration
Administrative Interface
The CDM is just a set of model definitions.
There is no "Service-owned canonical extensions" category. A concept a Service needs is either
Service-specific data inside an ordinary canonical structure (an Object's own type and
content, a Resource's own type and content — see canonical-structure-policy.md, Use) or,
once more than one Service needs it, promoted into the shared vocabulary here, Service-neutral,
the way Drawing Operation was promoted from Paint's own private mark format.
cdm/
exchange/
dataset.json
dataset.md
call.json
call.md
context.json
context.md
core/
object.json
object.md
thread.json
thread.md
interaction/
action.json
action.md
relationship.json
relationship.md
collection.json
collection.md
content/
resource.json
resource.md
placement.json
placement.md
finding.json
finding.md
drawing-operation.md
svg-profile.md
administration/
administrative-interface.json
administrative-interface.md