Dataset
Purpose
Represents canonical data submitted by one architectural component to another in response to a Call.
Responsibilities
- Provide a canonical representation of a Dataset.
Structure
A Dataset contains:
- id
- type
- scope
- mode
- created
- objects
- actions
- relationships
- collections
- resources
- placements
- errors
- context
The canonical structure is defined in dataset.json.
Fields
id
Uniquely identifies the Dataset.
type
Identifies the architectural component that produced the Dataset.
Examples include:
- mind
- world
- runtime
scope
Identifies the extent of the Dataset.
Examples include:
- full
- object
- collection
mode
Identifies how the Dataset is intended to be applied.
Examples include:
- snapshot
- update
created
The timestamp at which the Dataset was created.
objects
The Objects contained in the Dataset.
actions
The Actions contained in the Dataset.
relationships
The Relationships contained in the Dataset.
collections
The Collections contained in the Dataset.
resources
The Resources contained in the Dataset.
placements
The Placements contained in the Dataset.
errors
The Errors produced while processing the Call.
A Dataset may contain zero or more Errors.
context
The Context associated with the Dataset.
Invariants
- Every Dataset has a unique identifier.
- Every Dataset has a single type.
- Every Dataset has a single scope.
- Every Dataset has a single mode.
- Every Dataset has a creation timestamp.
- Datasets are immutable. Once created, a Dataset is never modified. Any change is represented by a new Dataset with its own identifier and creation timestamp.
- Every processed Call produces exactly one Dataset.
- A Dataset may contain successful results, Errors, or both.
- A Dataset is the only canonical response payload exchanged across component boundaries.
Related Models
- Call
- Context
- Error
- Object
- Action
- Relationship
- Collection
- Resource
- Placement