← Back to catalogue
Published

Data Schema / Data Contract

vr.wm-dat-004 · wm-dat-004-data-schema-data-contract

Give an agent the context needed to understand, author, validate, version and operate a governed description of data structure, semantics and constraints, together with the producer-consumer agreement that makes that description binding.

World Models Information and virtual systems INF.DAT.SCH

Bundle → Layer → Finding → Questions Filled

6 bundles · 16 layers · 31 findings · 126 questions

Contract identity and governance Who or what the contract is, what it governs, which version is in force, what state it is in and who has authority over it.

Identity and governed subject

The citable identity of the contract resource and the precise data it governs.

Contract and schema resource identity

A contract or schema must be identifiable independently of where its bytes are stored. ODCS requires a contract id plus apiVersion and kind; JSON Schema assigns a schema resource a canonical URI through $id and declares its dialect through $schema; a schema registry assigns a subject plus a numeric schema id; Avro derives a content fingerprint from Parsing Canonical Form. These are four different identity mechanisms with different guarantees, and an agent must know which one is authoritative in a given deployment.

  1. Which identifier is the authoritative master-system identifier for this contract, and which system of record issues it? identity
  2. Does the contract carry a governed global identifier or IRI in addition to its local identifier, and is that IRI resolvable? identity
  3. Which specification and dialect does this artefact declare itself to be written in, and is that declaration machine-readable? definition
  4. Is a content fingerprint computed for the schema, and over which canonical form is it computed? evidence

Governed subject and granularity

A contract binds to something concrete: a table, a topic subject, a file layout, a message payload or an API resource. The binding target and its granularity determine what a validation failure means. ODCS expresses this through domain, dataProduct, tenant and the physical name and type of each schema object; a schema registry expresses it through the subject and its naming strategy; DCAT expresses it as a conformance link from a dataset or distribution.

  1. Which specific datasets, topics, tables or message types does this contract govern, and by what binding mechanism? relationship
  2. At what granularity does one contract instance apply - one object, one product, one domain or one tenant? classification
  3. Does the contract govern the entire target or only a declared subset of its fields and partitions? composition
  4. What happens when two contracts claim authority over the same target? exception

Dialect, vocabulary and kind

The language that interprets the schema must be explicit: ODCS apiVersion and kind DataContract; JSON Schema $schema meta-schema URI and $vocabulary set; OpenAPI jsonSchemaDialect or OAS dialect id; SHACL Core versus SHACL-SPARQL. Companion JSON Schemas for ODCS and OAS are non-authoritative if they conflict with the standard text.

  1. Is this artefact a DataContract, a JSON Schema document, a SHACL shapes graph, an Avro schema, or an OpenAPI Schema Object, and which kind value is declared? classification
  2. Which meta-schema, apiVersion or dialect URI must a processor load before interpreting keywords? interoperability
  3. Which vocabularies are required versus optional, and must a processor refuse the schema if an unknown required vocabulary is declared? requirement
  4. If a companion JSON Schema disagrees with the ODCS or OpenAPI standard text, which source is authoritative? authority

Version designation and status

How a specific version is named, made immutable and moved through its states.

Version designation and immutability

ODCS requires a version on every contract. Semantic Versioning supplies the widely used rules: MAJOR for incompatible change, MINOR for backward-compatible addition, PATCH for backward-compatible fixes, with the hard rule that a released version's contents MUST NOT be modified. A schema registry adds an orthogonal monotonic version number per subject plus a globally unique schema id. An agent must not conflate a contract's semantic version, a registry version number and a fingerprint - they answer different questions.

  1. Which versioning scheme governs this contract, and what rule decides when the major component increments? constraint
  2. Once published, is the version immutable, and what mechanism prevents in-place edits? constraint
  3. Which version precedes and which supersedes this one, and how is that chain expressed to consumers? relationship
  4. How many versions may be simultaneously in force, and how does a consumer pin to one? state

Contract status and lifecycle states

ODCS makes status a required field. Status is what tells a consumer whether the contract may be relied on, and it is distinct from version. Registry-style governance adds a registration status assigned by a registration authority, and DCAT-AP requires a controlled vocabulary for distribution status. The set of permitted states, the permitted transitions and who may perform each transition must be explicit; an unconstrained free-text status is a governance failure disguised as flexibility.

  1. What is the closed set of permitted status values, and is it drawn from a controlled vocabulary? classification
  2. Which status transitions are permitted, and which are forbidden or require a waiver? lifecycle
  3. At what instant does a status change take effect, and is that instant recorded separately from when it was observed? temporal
  4. Which statuses make the contract binding on producers, and which make it advisory only? authority

Ownership and change authority

The accountable parties and the authority to approve or reject a change.

Ownership, stewardship and approval authority

The registry names a data product owner or data steward as maintainer. ODCS carries team and roles sections; the deprecated Data Contract Specification carries an owner in its info block. Ownership answers accountability; approval authority answers who can bind the organisation to a change. These are frequently the same person and must still be modelled separately, because delegation and vacancy are normal states.

  1. Which single party is accountable for the correctness of this contract, and how is that party identified? ownership
  2. Who is authorised to approve a breaking change, and is that authority delegable? authority
  3. What is the fallback when the named owner is absent, has left, or the role is vacant? exception
  4. Which agent is recorded as having authored each version, distinct from who approved it? provenance
Schema structure and semantics What the data looks like structurally, how its types map to physical representation, and what its fields actually mean.

Structural definition

Objects, properties, nesting, keys, uniqueness and declared relationships.

Object and property structure

ODCS models a schema as an array of objects, each with a required name and a properties array; each property has a required name and optional logicalType, physicalType, required, unique, items for arrays and nested properties for objects. JSON Schema expresses the same shape through properties, items, prefixItems and applicator keywords; SHACL through node shapes carrying property shapes. Nesting depth, array element typing and the treatment of additional or unexpected properties are the decisions that most often break consumers.

  1. What is the full set of objects and properties, including nesting depth and array element definitions? composition
  2. Is the structure closed, or may an instance carry properties not declared in the contract? constraint
  3. Does property ordering carry meaning for the physical representation, and where is that ordering authoritative? constraint
  4. Which property definitions are reused from a shared definitions library rather than declared locally? composition

Keys, uniqueness and declared relationships

ODCS v3.1.0 added relationships (foreign keys), supporting property-level relationships with an implicit from field, schema-level relationships with explicit from and to, composite keys expressed as arrays, and nested property references using dot notation. It also carries primaryKey, primaryKeyPosition and unique on properties. Declared referential relationships are assertions about data that a schema validator alone cannot check - they need a referential validation step against a second dataset.

  1. Which properties form the primary key, and in what order for a composite key? identity
  2. Which uniqueness constraints hold beyond the primary key, and over what scope are they evaluated? constraint
  3. Which declared relationships point at other datasets, and is referential integrity enforced or merely asserted? relationship
  4. What is the agreed behaviour when a referenced target row is missing or arrives late? exception

Composition, references and shape targets

JSON Schema applicators apply subschemas in place or to children via $ref, $defs, allOf, anyOf, oneOf, not, if/then/else, properties, prefixItems and $dynamicRef. $id in a subschema starts a new resource. SHACL distinguishes node shapes from property shapes with sh:path (predicate, inverse, sequence, alternative, quantified paths) and targets class, node, subjects-of and objects-of. Avro references named types by fullname and uses unions instead of oneOf. OpenAPI Schema Object $ref follows JSON Schema 2020-12 inside schemas.

  1. Which reusable definitions exist, and which $ref, named-type or shape IRIs must be resolved before evaluation? relationship
  2. How are subschemas combined (allOf, anyOf, oneOf, not, union), and does adding a constraint follow open-world JSON Schema rules or Avro field lists? composition
  3. Which nodes does each SHACL shape target, and what property path is constrained from the focus node? relationship
  4. What happens if a reference cannot be dereferenced, or if $dynamicRef depends on evaluation-time dynamic scope? exception

Type system and representation

Logical types, physical types, encodings and temporal conventions.

Logical to physical type mapping

ODCS deliberately separates logicalType (string, date, timestamp, number, integer, object, array, boolean) from physicalType (the platform-specific type such as VARCHAR or INT) and physicalName. Avro layers logical types (decimal, uuid, date, time, timestamp, local-timestamp, duration) over primitive representations. The mapping is lossy in both directions: precision, signedness and nullability behave differently across engines, and the contract must state which side is authoritative.

  1. What logical type is declared for each property, and from which type vocabulary is it drawn? classification
  2. What physical type and physical name does each property take in each target platform? interoperability
  3. For numeric and decimal properties, what precision, scale and rounding behaviour is guaranteed? measurement
  4. How is absence distinguished from an explicit null and from a defined sentinel value? definition

Encoding, units and temporal conventions

Two datasets with identical structure can still be incompatible over character encoding, decimal separators, unit of measure and time representation. RFC 3339 requires seconds and an explicit offset, permits Z, treats -00:00 as an unknown local offset and allows second value 60 only for a leap second. Avro further distinguishes global-timeline timestamps from timezone-independent local timestamps. ODCS carries a unit attribute on quality rules; units on data properties themselves are a known weak point.

  1. How are date and time values represented, and does the representation carry an explicit offset? temporal
  2. Which timestamp property carries event time and which carries observation or ingestion time? temporal
  3. What character encoding, collation and normalisation form apply to text properties? constraint
  4. For quantity properties, what unit of measure is guaranteed and is it stated in the contract or assumed? measurement

Semantic binding

Connection of structural properties to governed business meaning and value domains.

Business term and value domain binding

ODCS provides authoritativeDefinitions at contract and property level, letting a property point at the definition that governs its meaning. The ISO/IEC 11179 family formalises this as a separation between the conceptual level (data element concept, conceptual domain) and the representational level (data element, value domain), administered by a registration authority. DCAT-AP shows the jurisdictional variant: certain properties must draw values from named controlled vocabularies. Without this binding, a schema is a set of labelled boxes.

  1. Where is the authoritative definition of each business-significant property held, and is it dereferenceable? definition
  2. Which properties draw values from an enumerated value domain or code list, and which list version applies? classification
  3. Is the concept registered in a metadata registry as an administered item, and what is its registration status? provenance
  4. Where does the contract's local meaning of a property deliberately diverge from the governed definition? exception
Constraints, validation and quality What must be true of conforming data, how that is checked, and what evidence the check produces.

Constraint expression

How permitted values and permitted combinations are declared and whether they are enforceable.

Structural and value constraints

JSON Schema validation keywords impose requirements on instances: type, required, enum, pattern, numeric bounds and length bounds are assertions. The format keyword is different: under the format-annotation vocabulary it is only an annotation, and only under the format-assertion vocabulary is it a checked assertion. SHACL offers the parallel set as constraint components on property shapes. An agent must record, per constraint, whether it is enforced, annotated or merely documented, because this determines whether a violation is detectable at all.

  1. What value constraints apply to each property, expressed in which constraint vocabulary? constraint
  2. For each declared constraint, is it an enforced assertion, an annotation, or documentation only? validation
  3. Which properties are mandatory, and does mandatory mean present, non-null, or both? requirement
  4. Which declared formats are actually validated by the deployed toolchain, and which are advisory? quality

Cross-field, conditional and cross-dataset constraints

The constraints that matter most operationally are rarely single-property. Conditional application (if one property has a value, another becomes required), mutual exclusivity, ordering between two timestamps, and referential checks against another dataset all fall outside what a single-property type declaration can express. JSON Schema handles some through applicator keywords, SHACL through shape-level constraint components, and ODCS pushes the remainder into SQL or custom quality rules. Recording where each constraint is expressed is essential, because it determines who can execute it.

  1. Which constraints apply conditionally, and on what condition are they triggered? constraint
  2. Which constraints require reading a second dataset, and who is responsible for executing them? process
  3. In which language or engine is each non-structural constraint expressed, and is that expression portable? interoperability
  4. At what point in the data flow is each constraint evaluated - on write, on publish, or after the fact? process

Declared quality expectations

The measurable expectations attached to the contract and their consequences.

Quality rule declaration, threshold and consequence

ODCS defines four rule types - text (human-readable, not yet executable), library (predefined metrics such as nullValues, missingValues, invalidValues, duplicateValues, rowCount), sql (a query returning a numeric or boolean value) and custom (vendor-specific, for example Soda, Great Expectations, dbt or Monte Carlo). Rules carry a dimension drawn from accuracy, completeness, conformity, consistency, coverage, timeliness and uniqueness; a unit; a comparison operator from a set of eight; and governance attributes severity, businessImpact, scheduler and schedule. A threshold without a stated consequence is not an expectation, it is a dashboard.

  1. What type is each quality rule, and is it executable as written or only human-readable? classification
  2. What metric, comparison operator, threshold value and unit define pass or fail for each rule? measurement
  3. What severity and business impact attach to a failure, and does failure block publication? requirement
  4. On what schedule is each rule evaluated, and against which slice of the data? temporal
  5. Which quality dimension does each rule serve, and is the dimension vocabulary controlled? classification

Validation outcome and evidence

The structure and retention of the evidence that a validation actually happened.

Validation outcome and conformance evidence

SHACL defines the validation report as the standard outcome, carrying conformance and per-violation detail. JSON Schema defines four structured output formats - flag, basic, detailed and verbose - with standardised location reporting and separation of errors from annotations. OpenLineage carries dataQualityAssertions and dataQualityMetrics as input dataset facets on run events. An agent needs to know which output format is produced, where it is kept, for how long, and whether it is admissible as evidence of compliance.

  1. In what output format are validation results produced, and does it identify the failing instance location? evidence
  2. What exactly does a conformance result assert, and against which contract version was it evaluated? validation
  3. How long are validation reports retained, and what triggers their deletion? retention
  4. Which timestamps are recorded for a validation run, distinguishing the data's event time from the run's observation time? temporal
Evolution and compatibility How a contract may change without breaking the parties that depend on it.

Compatibility policy and resolution

The declared compatibility mode and the mechanics that make old and new readers interoperate.

Compatibility mode and breaking-change determination

A registry-governed compatibility mode is drawn from BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE and NONE, configurable globally or per subject. The mode is not cosmetic: under backward compatibility consumers must be upgraded first and permitted changes are field deletion and addition of optional fields with defaults; under forward compatibility producers must be upgraded first and permitted changes are field addition and deletion of optional fields with defaults. Transitive modes extend the check across all prior versions rather than only the immediate predecessor.

  1. Which compatibility mode is in force for this contract, and is it set globally or per subject? constraint
  2. Given the mode, which party must be upgraded first when a new version is published? process
  3. What test determines that a proposed change is breaking, and is that test automated? decision
  4. Is compatibility checked only against the immediately previous version or against all prior versions? constraint

Schema resolution, defaults and identifier stability

Avro specifies resolution between a writer's schema and a reader's schema: fields match by name, writer fields absent from the reader are ignored, reader fields absent from the writer are filled from defaults and error without one, aliases may map old names to new, and defined type promotions apply (int to long, float or double; long to float or double; float to double; string and bytes interchangeably). Iceberg takes a different route, tracking columns by identifier rather than name so a rename does not invalidate stored data, and evolving partition and sort order independently of schema. The contract must say which mechanism it relies on.

  1. Which properties carry default values, and what do those defaults mean when a writer omits the field? definition
  2. How are renames handled - through aliases, through stable column identifiers, or not at all? interoperability
  3. Which type changes are treated as safe widening, and which force a new major version? constraint
  4. Are partitioning and sort order versioned independently of the schema, and who tracks that? composition

Canonicalization, fingerprints and language alignments

Avro Parsing Canonical Form strips docs and aliases, expands fullnames, orders attributes and removes whitespace so two schemas that serialise identically in PCF are the same for readers. Fingerprints of PCF (SHA-256, MD5, CRC-64-AVRO) tag data and cache codecs; they are not security guarantees. JSON Schema $id is an identifier, not necessarily a network locator. OpenAPI Schema Object is a superset of JSON Schema 2020-12 with an OAS dialect. Alignments must record conflicts: JSON Schema is open-world constraints; Avro is a closed data definition with positional binary encoding.

  1. What canonical form is used to decide whether two schemas are the same for reading, and which attributes are stripped? definition
  2. What fingerprint algorithm and digest identify this canonical schema, and is it used as a cache key rather than as a security signature? identity
  3. Which external standards is this contract aligned to, and which semantic conflicts are recorded instead of claimed conformance? interoperability
  4. If string-encoded content declares contentEncoding or contentMediaType, is automatic decode disabled by default as JSON Schema requires for safety? security

Change control and retirement

The process by which a change becomes official and by which a version stops being supported.

Change proposal, review and approval

A change to a binding contract is a governed event, not a commit. It needs a proposal, an impact assessment against registered consumers, a compatibility check outcome, an approving authority appropriate to the severity, and a recorded decision. Semantic Versioning supplies the discipline that the released version itself is never edited: a correction is a new version. Where a jurisdictional profile applies, the change may also require re-checking conformance to that profile.

  1. What events may trigger a contract change, and which of them are producer-initiated versus consumer-requested? event
  2. Which registered consumers are affected by the proposed change, and how was that determined? relationship
  3. Who approved the change, on what date and offset, and on what evidence? decision
  4. What minimum notice period must elapse between approval and the change taking effect? temporal

Deprecation, sunset and retirement

Retiring a contract version is the step most often left undefined, and it is where consumers break silently. The contract needs a deprecation state distinct from retirement, a sunset instant after which the version is no longer served or supported, a migration path to the successor version, and a rule for what happens to data already produced under the retired version. DCAT-AP requires a controlled status vocabulary for distributions, and the Data Contract Specification's own deprecation in favour of ODCS with support stated through end of 2026 is a worked example of the pattern.

  1. What distinguishes a deprecated version from a retired one in terms of what the producer still guarantees? state
  2. At what instant does support for this version end, and is that instant published in advance? temporal
  3. What migration path is offered to consumers, and who bears the migration cost? process
  4. What happens to data already produced under a retired version - is it re-written, re-interpreted or left as-is? retention
Agreement and obligations The parties bound by the contract, what each of them promises, and the terms under which data may be used.

Parties and obligations

Who is bound, in what role, and what each side has committed to.

Producer and consumer parties

A contract that does not know its consumers cannot assess the impact of a change. ODCS carries team and roles sections describing who is involved and what access each role holds. Registered consumers are the population that must be notified on deprecation and whose upgrade order matters under a compatibility mode. Unregistered consumption is a real and common state and must be modelled as such rather than assumed away.

  1. Which party produces the data under this contract, and is there more than one producer? ownership
  2. Which consumers are registered against this contract, and how is registration recorded? relationship
  3. What role does each party hold, and what does that role entitle them to? access
  4. How is unregistered or shadow consumption detected, and what is the policy toward it? exception

Obligations and acceptance

ODCS description.usage and description.limitations state what the data may and may not be used for; the Data Contract Specification's terms block covers usage policy, limitations, billing and notice period. Acceptance is the act that makes these binding on a specific consumer, and it has an effective period. An agent needs to distinguish an obligation the producer owes (structure, quality, freshness) from one the consumer owes (permitted use, attribution, no redistribution, notice on cessation).

  1. What exactly does the producer commit to deliver, and in what form is that commitment testable? requirement
  2. What restrictions bind the consumer's use, redistribution and derivation of the data? constraint
  3. How does a consumer accept the contract, and over what period is that acceptance effective? process
  4. What counts as breach by either party, and what remedy follows? exception

Consumer roles and access

ODCS roles list IAM role names, access mode (read or write), and first- and second-level approvers. JSON Schema readOnly and writeOnly describe instance properties managed exclusively by the owning authority or never returned on read. These are contract-level access terms, not a full IAM model.

  1. Which roles may access data under this contract, with what access mode, and who approves grants? access
  2. Which properties are readOnly or writeOnly, and what does the owning authority do if a consumer sends or requests them incorrectly? access
  3. What is the default access rule when no role matches, and which break-glass exceptions exist? security
  4. What decision record authorises a new consumer role binding to this contract? decision

Service levels, terms and data protection

Quantified service promises and the protective classification the data carries.

Service level declarations and support

The Data Contract Specification defines servicelevels covering availability, latency, freshness and retention; ODCS carries a service-level agreement section plus support and communication channels. DCAT supplies dcterms:accrualPeriodicity for update frequency and dcat:temporalResolution for the finest temporal spacing. Each declared level needs a measurement definition, a measurement point and a named channel for raising a breach - a promise with no measurement definition cannot be breached or honoured.

  1. Which service levels are promised - availability, freshness, latency, completeness of delivery, retention? measurement
  2. How is each service level measured, at which point, and by whom? measurement
  3. At what frequency is data updated, and what is the finest temporal resolution the data supports? temporal
  4. Through which channel is an issue raised, and what response commitment attaches to it? process

Classification, personal data and usage restriction

ODCS carries a classification attribute on properties (for example confidential, restricted, public), a criticalDataElement flag and an encryptedName; the Data Contract Specification carries classification and an explicit pii boolean at field level. These declarations drive downstream access decisions but are not themselves access control: they are the input a policy engine consumes. Retention statements and jurisdictional restrictions belong here as declarations, with enforcement delegated to the access and records-management siblings.

  1. What confidentiality classification applies to each property, and from which controlled vocabulary is it drawn? security
  2. Which properties carry personal or specially protected data, and on what basis was that determination made? privacy
  3. What protective measures does the contract require for classified properties - encryption, masking, tokenisation or pseudonym columns? security
  4. What retention period and deletion obligation does the contract state for the described data? retention
  5. Are there jurisdictional or residency restrictions on where the described data may be stored or processed? access
Binding, provenance and interoperability Where the contract touches real systems, where it came from, and how it maps to other standards.

Physical binding and distribution

The servers, formats and media types through which the described data is actually reached.

Server, format and serialization binding

ODCS carries an infrastructure and servers section and per-object physicalName and physicalType; DCAT expresses reachability through Distribution with dcat:mediaType and dcat:accessService, and DCAT-AP mandates IANA media types for dcat:mediaType and an EU vocabulary for dct:format. Iceberg treats partitioning and sort order as separately evolving physical concerns. The same logical contract may bind to several environments, and environment-specific differences must be visible rather than implied.

  1. Which servers or environments does this contract bind to, and what distinguishes them? spatial
  2. In what serialization format and media type is the data made available for each binding? interoperability
  3. What is the physical name of each schema object in each target system? identity
  4. How is the data partitioned or ordered physically, and is that part of the contract or an implementation detail? composition

Provenance and registration

Where the contract came from and how it is published for discovery.

Provenance and derivation of the contract artefact

The contract is itself an entity with provenance. PROV-O supplies the relations: wasGeneratedBy for the activity that produced it, wasAttributedTo for the responsible agent, used for the inputs consumed, wasDerivedFrom for derivation from another artefact and wasRevisionOf for a revision relationship. This matters practically because a schema inferred from sampled data carries a very different warrant than one authored from a governed specification, and consumers deserve to know which they are relying on.

  1. Was this contract authored from a specification, inferred from data, or derived from another contract? provenance
  2. Which agent generated this version, and was that agent human, automated or a combination? provenance
  3. What inputs were used to produce this version, and are they retained for reproducibility? evidence
  4. When was this version generated, and when was that generation recorded in the registry? temporal

Registry publication and discovery

A contract that cannot be found is not operative. A schema registry publishes under a subject determined by a subject name strategy and assigns a schema id and version. A catalogue publishes the governed dataset with a conformance link and, under DCAT-AP, a catalogue record whose application profile is declared. The two publication surfaces have different audiences - runtime serialisers versus human and agent discovery - and a contract usually needs both, with an explicit statement of which is authoritative.

  1. In which registries or catalogues is this contract published, and which of them is the system of record? authority
  2. Under what subject or record name is the contract published, and which naming strategy produced it? identity
  3. How does a prospective consumer discover this contract and determine its applicability? access
  4. How is divergence between the registry copy and the catalogue copy detected and resolved? quality

Cross-standard alignment

How this contract maps to other schema languages and jurisdictional profiles, and where those mappings lose information.

Schema language alignment and mapping fidelity

The same contract is routinely expressed in more than one language: JSON Schema for payload validation, Avro for wire format and evolution, SHACL for graph validation, ODCS for governance. These are alignments, not equivalences. Concrete losses are known: Avro records default-driven resolution that JSON Schema does not model; a JSON Schema format keyword under the format-annotation vocabulary is not an assertion at all; ODCS v3.1.0 added strict JSON Schema validation and relationships that older versions could not express. Claims of conformance to any of these require evidence, not assertion.

  1. In which schema languages is this contract expressed, and which expression is normative? authority
  2. Which contract facts are lost or weakened when projected into each target language? interoperability
  3. What evidence supports any claim that this contract conforms to a named standard? evidence
  4. Where do two aligned standards make contradictory requirements, and which one wins? exception

Profile and jurisdictional conformance

DCAT-AP 3.0.0 demonstrates how a jurisdiction narrows a base standard: it designates mandatory classes, marks properties as reused as-is, extended or profile-specific, mandates controlled vocabularies for named properties, and separates provider conformance from receiver conformance. A contract operating in a regulated or public-sector setting may have to satisfy such a profile in addition to its own rules, and profile obligations can differ for the party publishing and the party consuming.

  1. Which jurisdictional or sectoral profiles apply to this contract, and on what legal or policy basis? authority
  2. Which profile-mandated properties and controlled vocabularies must the contract populate? requirement
  3. Do profile obligations differ between the publishing party and the receiving party, and how? classification
  4. How is profile conformance demonstrated and re-verified after a contract change? validation

Classifiers Filled

Family
World Models
Category
Information and virtual systems
Entry kind
entity
Navigation path
NAV.INF.DAT.SCH
Domain
INF.DAT.SCH
Industry
Cross-industry
Tags
dataschemacontractinf.dat.sch

What it is Filled

This model covers the governed artefact that declares what data means, how it is structured, which constraints and quality expectations hold, who produces and consumes it, and how it may change. It covers both the narrow technical case (a schema document such as a JSON Schema, Avro schema or SHACL shapes graph) and the wider agreement case (a data contract such as ODCS that wraps schema with obligations, service levels and terms). It stops at the boundary of the data instances themselves, of runtime execution, and of enforcement machinery. Storage and interface are projections: the same semantics must survive expression as YAML, JSON, RDF, Markdown, a Git tree, an MCP resource or a MongoDB document.

In scope

  • Identity, version designation and status of a schema or contract as a governed, citable resource
  • The subject the contract governs and the granularity at which it governs it
  • Structural definition: objects, properties, nesting, arrays, keys, uniqueness and declared relationships
  • Logical-to-physical type mapping, encoding conventions and temporal representation rules
  • Binding of properties to business terms, conceptual domains and value domains
  • Constraint expression, including assertion versus annotation semantics and cross-field constraints
  • Declared data quality rules, dimensions, thresholds, severity and business impact
  • Validation outcome structure and conformance evidence
  • Compatibility modes, schema resolution rules and breaking-change determination
  • Change control, approval authority, deprecation and sunset
  • Producer and consumer parties, obligations, acceptance and service-level declarations
  • Classification, personal-data flags, usage terms and retention statements carried by the contract
  • Physical binding to servers, formats and media types
  • Provenance of the contract artefact itself and its registry publication
  • Alignment and mapping to other schema languages and catalogue profiles

Out of scope

  • The data records or instances themselves, and their storage lifecycle
  • Dataset-level catalogue description, discovery metadata and distribution inventory, which belong to the parent dataset model
  • Runtime pipeline orchestration, job scheduling and execution state
  • Run-level lineage events and column-lineage facts produced by execution
  • Access enforcement, authentication, entitlement grants and key management
  • Business glossary authoring and ontology maintenance as an independent discipline
  • Pricing, billing and chargeback execution
  • Physical storage layout, file compaction and table maintenance operations
  • Incident management and observability alerting workflows

Why it exists Filled

Give an agent the context needed to understand, author, validate, version and operate a governed description of data structure, semantics and constraints, together with the producer-consumer agreement that makes that description binding.

Distinguishing features Filled

  • Describes structure, semantics and constraints plus the producer-consumer agreement that makes them binding.
  • Unlike a dataset record, it governs shape and obligations, not the data or its distributions.
  • Separates declaration from enforcement and measurement, which other systems perform.
  • Unlike an API contract, it focuses on data at rest or in streams rather than operations.

What robots and AI may and may not do Filled

Must not

  • Modify a published contract version in place.
  • Publish a contract without an accountable owner and compatibility mode.
  • Grant an exception without an expiry.
  • Claim conformance to an external standard without evidence.
  • Break consumers with an incompatible change outside the deprecation process.

Only with a human decision

  • Approving breaking changes and their sunset timeline.
  • Granting waivers of contract obligations.

May

  • Author and validate a new contract version.
  • Check compatibility of a candidate version against the declared mode.
  • Validate data against a published version and report results.
  • Project a contract into a target schema language.

Moral aspects Filled

  • Contracts declare which fields hold personal data; wrong classification exposes people.
  • Silent breaking changes can corrupt downstream decisions affecting people.

Who is affected

  • Data producers
  • Data consumers
  • Data subjects whose records follow the schema

Owners Filled

Steward

The adopting Dimension must name a single accountable owner for the contract package - the registry designates a data product owner or data steward - and record that ownership as a reference to a party identifier, not a personal name.

Roles

Contract owner (data product owner or data steward)
Hold accountability for the correctness, currency and completeness of the contract; Approve or reject change proposals within delegated authority and escalate breaking changes; Maintain the registered consumer list and initiate deprecation with a successor and sunset instant
Producer engineer
Implement the physical binding so that produced data satisfies the declared structure, constraints and service levels; Run compatibility checks before proposing a new version and honour the upgrade order the mode dictates; Raise an exception request rather than shipping a silent departure from a declared requirement
Consumer representative
Register consumption against a specific contract version and accept its terms; Assess and respond to change notices within the stated notice period; Report observed non-conformance through the declared support channel with the validation evidence attached
Governance and conformance reviewer
Verify semantic bindings against governed terms and value domains, and challenge undeclared divergence; Verify that applicable jurisdictional or sectoral profile obligations are satisfied and re-verified after change; Review exceptions for expiry, compensating control and cumulative risk
Registry operator
Operate the system of record for contract identity, assign identifiers and enforce version immutability; Enforce the declared compatibility mode at publication and retain the check outcome as evidence; Maintain synchronisation and detect divergence between registry and catalogue projections

Links to other meta-models Filled

references

  • WM-DAT-001 Dataset - A dataset declares conformance to one or more schemas or data contracts; the contract references the governed dataset without absorbing its catalogue description. DCAT models this as dcterms:conformsTo on the resource.
  • Data quality assessment and observation model - This model declares quality rules, dimensions and thresholds; the observation model holds measured results, their time series and their run context. The link carries the rule identifier so measurements can be attributed to the declaration that produced them.
  • Data lineage model (run, job and dataset events) - Lineage emits schema, version and data quality facets on dataset events at run time. The contract is the design-time expectation those facets are compared against; the link enables drift detection between declared and observed schema.
  • Business glossary and ontology model - Properties bind to governed business terms through authoritative definitions; the glossary owns the term and its definition history, the contract owns only the binding and any recorded divergence.
  • Reference data and code list model - Enumerated value domains are versioned code lists administered elsewhere. The contract pins a code list version rather than inlining values, which is what jurisdictional profiles require through mandatory controlled vocabularies.
  • Party, organisation and role model - Owners, stewards, approvers, producers and registered consumers are parties with identifiers issued by an identity master system; the contract stores references, never duplicated party attributes.
  • Access policy and entitlement model - Classification and personal-data flags declared here are inputs to policy decisions made and enforced by the access model. The boundary keeps declaration separate from enforcement so a contract change cannot silently grant access.
  • Physical storage and table format model - Table format specifications version schema, partition specification and sort order independently. The contract references the physical binding and states which physical aspects are contractual and which are implementation detail.

aligned

  • API and interface contract model (OpenAPI, AsyncAPI) - Interface contracts reference payload schemas defined here rather than redefining them, aligning on the schema resource identity so a payload has one definition across transport and storage.
  • Metadata registry model (ISO/IEC 11179 family) - Where an organisation operates a metadata registry, contract properties align to administered items with a registration authority and registration status; the alignment is asserted, not a conformance claim, since clause-level text was not verified.

composes

  • Data product model - Where a data product model exists, pricing, support channels, team and commercial terms compose into the product and are referenced by the contract rather than duplicated, resolving the packaging overlap ODCS creates.

extends

  • Change control and approval workflow model - Contract change proposals, impact assessments and approval decisions extend the organisation's general change control process with contract-specific gates such as the compatibility check and the notice period.

neighbor

  • WM-DAT-001 Dataset - The dataset is the thing described; the contract is the description plus the agreement. DCAT expresses this with dcterms:conformsTo on the resource, pointing at the standard or schema it conforms to. Dataset-level discovery metadata (theme, keyword, publisher, distribution list) belongs to the dataset model, not here; only the conformance link and the governed-subject reference are held here.
  • Data quality assessment and observation model - This model holds the declaration of a quality rule (metric, dimension, operator, threshold, severity, schedule) as ODCS defines it. The measured result of running that rule, and its time series, is an observation and belongs to the quality/observation sibling. Confusing declaration with measurement is the single most common overreach in data-contract tooling.
  • Data lineage model - OpenLineage attaches a schema facet and dataQualityAssertions facet to datasets within run events. Those facets are emitted observations about a run; the contract is the design-time statement they are compared against. Lineage owns Run, Job and facet emission; this model owns the normative expectation.
  • API and interface contract model (OpenAPI, AsyncAPI) - Interface contracts own operations, transport, endpoints and status codes. This model owns payload structure and meaning. The overlap is the message payload schema, which should be defined once here and referenced by the interface model rather than duplicated.
  • Metadata registry model (ISO/IEC 11179 family) - A metadata registry administers reusable data element concepts, conceptual domains, value domains and registration authorities across many datasets. A data contract consumes those administered items by reference. Where an organisation runs a registry, the contract must not re-declare the semantics; it binds to them. Treat 11179 as an alignment, not a conformance claim.
  • Data product model - ODCS bundles pricing, support channels, team and SLA into the contract document. That is a packaging decision, not a semantic one. Where a separate data-product model exists, those sections should be composed by reference; this model keeps only what constrains the producer-consumer exchange of the described data.

parent

  • WM-DAT-001

What else AI and robots need to interact with it Filled

Identity and identifiers required Filled

  • Authoritative master-system identifier issued by the governing system of record for contracts - for example the ODCS contract id held by the contract registry, or the schema registry subject together with its assigned schema id and version.
  • Governed global identifier or IRI where no master-system identifier exists - for example the schema resource canonical URI established by $id, or the catalogue record IRI published under the applicable profile.
  • UUID or ULID assigned by the adopting Dimension as a last resort, recorded as Dimension-assigned so that it can be superseded when a master-system identifier becomes available.
  • A version designation, a fingerprint or a date is never an identifier on its own: a version qualifies an identifier, a fingerprint proves content equality, and a date is an attribute.

Direct properties not applicable Not applicable

Not applicable

Institutional or informational subject: no invented physical properties.

Recognition optional Filled

  • A contract has an identifier, version, owner, schema, quality rules, compatibility mode and consumers.
  • Often confused with a dataset, an API specification, a database DDL and a business glossary.

Capabilities and actions required Filled

  • Author or amend a contract version: Create a new contract version by declaring identity, governed subject, structure, semantics, constraints, quality rules, parties and terms, without modifying any already published version.
  • Validate data against a contract version: Evaluate a data instance or dataset against the executable constraints of a named contract version and emit a structured validation report distinguishing errors from annotations.
  • Check compatibility of a candidate version: Evaluate a candidate contract version against the declared compatibility mode and the relevant prior versions, and classify the change as compatible or breaking.
  • Publish a contract version: Register an approved version to the system of record and, where applicable, project it to the catalogue, assigning identifiers and making the version immutable.
  • Evaluate declared quality rules: Execute the declared quality rules of a contract version on schedule and record measured values against thresholds, with severity-driven consequences.
  • Register or deregister a consumer: Bind a named consumer to a contract version with a role and effective period, or release that binding, so that impact assessment and notification lists stay accurate.
  • Deprecate and sunset a version: Move a version to deprecated, publish a sunset instant and successor reference, notify registered consumers, and later retire the version.
  • Project a contract to a target language or profile: Generate an expression of the contract in a target schema language or jurisdictional profile, recording the fidelity of the projection and any information lost.
  • Record a contract exception or waiver: Record a time-bounded, approved departure from a contract requirement, compatibility rule or profile obligation, with its scope, justification and expiry.
  • Resolve references and compose subschemas: Dereference $ref, named types and shape links, applying applicators to produce the effective schema for a location.
  • Canonicalize and fingerprint: Normalise a schema to Parsing Canonical Form or an agreed JSON canonicalisation and compute a fingerprint.

Hazards and failure modes required Filled

  • Downstream breakage from incompatible changes.
  • Mislabelled sensitive fields leading to data leaks.
  • Stale waivers that never expire.

Standards and interfaces required Filled

  • JSON Schema.
  • Apache Avro and Protocol Buffers.
  • Open Data Contract Standard (ODCS).
  • OpenAPI and AsyncAPI.
  • ISO/IEC 11179 metadata registries.

Context of use required Filled

  • DCAT-AP 3.0.0 obligations, including its mandatory controlled vocabularies and the provider versus receiver conformance split, apply to European public-sector data portals and are not assumed to bind elsewhere.
  • No specific data protection regime is assumed. The model carries classification, personal-data flags, retention statements and residency questions as declarations; which regime supplies the legal basis is a Dimension-level configuration, not a property of this model.
  • Sector-specific schema regimes - clinical, financial reporting, geospatial - were not consulted and may impose mandatory elements this model treats as optional.
  • The compatibility vocabulary is grounded in one widely deployed registry implementation. Other registries use different mode names and defaults, so the mode value must always be read from the version rather than assumed.
  • RFC 3339 / ISO 8601 timestamps with explicit offsets are the interchange profile; ODCS examples include named timezones such as Australia/Sydney which must be reduced to offset at the event boundary.
  • Classification values (public, restricted, confidential) and IAM role names are organisation-specific code lists, not a global taxonomy.
  • SQL quality rules are dialect-specific to the target engine; no translation service is provided by ODCS.
  • Retention SLAs may be driven by regional law (for example GDPR storage limitation) but this model records the contracted period, not the legal instrument.
  • ECMA-262 regular-expression interoperability limits apply to JSON Schema and ODCS pattern fields.

Sources Filled

  1. JSON Schema: A Media Type for Describing JSON Documents (draft-bhutton-json-schema-01) - JSON Schema Organization / IETF Internet-Draft
  2. JSON Schema Validation: A Vocabulary for Structural Validation of JSON - JSON Schema Organization / IETF Internet-Draft
  3. Open Data Contract Standard (ODCS) - Fundamentals - Bitol (Linux Foundation AI & Data)
  4. Open Data Contract Standard (ODCS) - Schema - Bitol (Linux Foundation AI & Data)
  5. Open Data Contract Standard (ODCS) - Data Quality - Bitol (Linux Foundation AI & Data)
  6. Apache Avro 1.12.0 Specification - Apache Software Foundation
  7. Shapes Constraint Language (SHACL) - World Wide Web Consortium (W3C)
  8. Data Catalog Vocabulary (DCAT) - Version 3 - World Wide Web Consortium (W3C)
  9. PROV-O: The PROV Ontology - World Wide Web Consortium (W3C)
  10. RFC 3339 - Date and Time on the Internet: Timestamps - IETF / RFC Editor
  11. Schema Evolution and Compatibility Types - Confluent
  12. Schema Compatibility (Event Streaming Patterns) - Confluent Developer
  13. OpenLineage Object Model - OpenLineage (LF AI & Data)
  14. Data Contract Specification (datacontract-specification) - Data Contract Specification project (INNOQ)
  15. DCAT Application Profile for data portals in Europe (DCAT-AP) 3.0.0 - SEMIC / Interoperable Europe, European Commission
  16. ISO/IEC 11179-3:2023 Information technology - Metadata registries (MDR) - Part 3: Metamodel for registry common facilities - International Organization for Standardization / IEC
  17. Semantic Versioning 2.0.0 - Semantic Versioning project
  18. Apache Iceberg - Evolution - Apache Software Foundation
  19. Open Data Contract Standard (ODCS) v3.1.0 - Bitol / LF AI and Data Foundation (Linux Foundation)
  20. JSON Schema: A Media Type for Describing JSON Documents (Core) - JSON Schema project (Internet-Draft draft-bhutton-json-schema-01)
  21. JSON Schema Validation: A Vocabulary for Structural Validation of JSON - JSON Schema project (Internet-Draft draft-bhutton-json-schema-validation-01)
  22. ISO/IEC 11179-31:2023 Information technology — Metadata registries (MDR) — Part 31: Metamodel for data specification registration - ISO/IEC JTC 1/SC 32
  23. OpenAPI Specification v3.1.1 - OpenAPI Initiative
  24. Data Contracts: The Complete Guide (ODCS as industry standard; Data Contract Specification deprecated) - datacontract.com / Bitol TSC members

Open questions

  • Protocol Buffers reserved field numbers and removal semantics, Apache Thrift, W3C XML Schema, RELAX NG, GraphQL SDL, LinkML, FHIR StructureDefinition, Parquet and Arrow type systems were not fetched from primary sources by either provider, so the compatibility and type layers rest on Avro plus one registry vendor's practice rather than on the full wire-format landscape.
  • Geospatial and residency evidence: GeoJSON, OGC Simple Features, CRS declaration conventions, and any normative expression of a data-residency constraint inside a data contract. Both providers flagged this as a gap and neither fetched a source.
  • Streaming-specific semantics: key schema versus value schema, tombstone records, subject naming strategies and per-partition ordering guarantees are only partially reachable through the registry subject concept, and the Confluent subject-compatibility API was not verified as a primary source.
  • SHACL 1.2 Core status tracking. Grok records it as a Working Draft as of 2026 while the model is grounded in the 2017 Recommendation; the normative profile must be reconfirmed at publication time and processors required to declare which profile they implement.
  • ODCS v3.2 and its AI-oriented contract features have no frozen specification. Recheck before publishing so the model is not pinned to a version about to be superseded, and resolve the dataProduct field question in the same pass.
  • Mechanism gaps with no primary source behind them: semantic drift detection where structure is unchanged but meaning has shifted, cryptographic signing of contracts, and multi-party contract negotiation. Each is asked about in one or both packs but supported by no fetched specification.
  • ODCS slaProperties detail deferred from the rejected Grok SLA finding - timeToDetect, timeToNotify, timeToRepair, generalAvailability, endOfSupport, endOfLife and the regulatory/analytics/operational driver - should be reconsidered as description-level enrichment of f-service-levels-support once the ODCS text is refetched at the pinned version.
  • ISO/IEC 11179-3 and any ISO data quality standard were verified only at catalogue-record level because the full texts are paywalled. No clause-level conformance claim is made and any structure resting solely on ISO citation should be treated as an alignment hypothesis.
  • Protocol Buffers evolution rules (reserved field numbers, the semantics of removing a field number) were not fetched from a primary source in this pass, so the compatibility layer is grounded in Avro and registry practice rather than in all three common wire formats.
  • Streaming-specific concerns such as key schema versus value schema, tombstone records and per-partition ordering guarantees are only partially represented through the registry subject concept.
  • Machine-learning feature contracts, embedding dimensionality and model input schemas are not separately addressed; they are plausible extensions but no primary source consulted here treats them as data-contract constructs.
  • Cost, pricing and chargeback sections present in ODCS are deliberately pushed to a data product sibling and are therefore not elaborated here.
  • Semantic drift detection - the case where structure is unchanged but meaning has shifted - is asked about under semantic divergence but has no primary-source mechanism behind it.
  • W3C XML Schema, RELAX NG, Protocol Buffers, Apache Thrift, GraphQL SDL, LinkML, FHIR StructureDefinition, Parquet and Arrow type systems were not fetched as primary sources and are not modelled as canonical.
  • SHACL 1.2 Core is a Working Draft as of 2026 and is not treated as replacing the 2017 Recommendation.
  • ODCS team, infrastructure, pricing and support-channel sections were not independently fetched; team rosters and servers remain out of scope or gaps.
  • ODCS v3.2 and AI-oriented contract features are in progress and lack a frozen primary specification.
  • Multi-party negotiation, cryptographic signing of contracts, and schema-registry product APIs (for example Confluent subject compatibility names) lack primary support here.
  • Geometry, CRS and raster schemas are omitted beyond noting the gap.

Machine files

Provenance

world-models research · reviewable-draft

Built from: models/wm-dat-004-data-schema-data-contract/spec.yaml, ver-cy/world-models/card-supplements/wm-dat-004-data-schema-data-contract.json