Glossary
Model Forge uses a small, fixed vocabulary. Code and documentation use only these terms, defined below. The decision behind this vocabulary is ADR 060.
Core terms
Model Artefakt (artifact)
Umbrella term for any persistable CORE unit: Element, DataStructure, Mapping, DataSource, DataSink, Pipeline, DataSet. Every artifact has a stable CORE URN identity and is versioned.
Element
The umbrella for a single modelled domain type — a Class, an Enumeration,
etc. An Element is a JSON Schema 2020-12 document whose
$id is a versioned CORE URN. It carries version, name, description, URN.
DataStructure
A stored grouping of Elements. Importing one JSON Schema document
(a root, optionally with $defs) automatically creates one DataStructure that references
the resulting Elements by URN — the module / provenance grouping ("these
Elements were authored and imported together"). The DataStructure is named after
the imported document's title and is managed as its own registry artifact through
the ModelForge facade. A DataStructure is
a stored artifact, not a View — it carries no content of its own and
its members are fetched individually by URN (see
ADR 060).
Mapping
A declarative field mapping from a source Element to a target Element, both referenced by URN. Per target field it describes an operation (copy, concat, const, format, …) over the source payload. A Mapping is a stored, versioned artifact with its own CORE URN.
DataSource
The declaration of an inbound data source (e.g. an MQTT topic or a database query) whose payload binds to an Element by URN. A DataSource is a stored, versioned artifact with its own CORE URN.
DataSink
The declaration of an outbound target (e.g. an HTTP endpoint) whose payload binds to an Element by URN. A DataSink is a stored, versioned artifact with its own CORE URN.
Pipeline
A dataflow graph of nodes and edges that wires DataSources through Mappings into DataSinks. A Pipeline references the participating artifacts by URN and is itself a stored, versioned artifact with its own CORE URN.
DataSet
An integration composition: a manifest that references Elements,
Mappings, Pipelines, DataSources and DataSinks by URN (the *Refs arrays). Where a
DataStructure groups Elements by provenance, a DataSet composes artifacts of all
types into a deployable unit (see ADR 051).
Bundle
A View that renders an artifact together with the (complete) graph of the
artifacts it connects to, as one self-contained document. The bundled (embedded
$defs) and inlined schema projections are both Bundles.
Format
A View that serialises an Element in a chosen representation — JSON Schema or XSD. An Element's format is recorded per version (see ADR 058).
View
Umbrella for a read-side projection of stored artifacts — currently Bundle and Format. Views are generated on demand and never stored (see ADR 055).
Relationships at a glance
- DataStructure and DataSet are both manifests of artifact URNs: DataStructure is Element-only and import-scoped; DataSet is all-types and composition-scoped.
- A Bundle is a View over an artifact and its dependency graph; Format is a View choosing the serialisation. Both are kinds of View.
- There is no RDF/Linked-Data (JSON-LD) projection.