Schema details
| Property | Value |
|---|---|
| Version | 1.0.0 |
| Base specification | JSON Schema Draft 2020-12 |
| Dublin Core alignment | Full — all 15 fields map to dc: or dcterms: |
| Additional properties | Not allowed (additionalProperties: false) |
Available formats
JSON Schema
schema/dms.json — Draft 2020-12. Use for programmatic validation in any language or CI pipeline.YAML Schema
schema/dms.yaml — Identical to dms.json, useful for human-readable review and YAML-based tooling.JSON-LD Context
schema/dms.jsonld — RDF/Linked Data context. Enables semantic web publishing with vocabulary mappings to Dublin Core, FOAF, BIBO, Schema.org, and W3C Geo.Field tiers
The schema defines 15 fields across three tiers. Therequired array in dms.json enforces the five fields every valid record must include.
| Field | Tier | Type | Dublin Core mapping |
|---|---|---|---|
id | Required | string (UUID v4) | dc:identifier |
title | Required | string (1–500 chars) | dc:title |
type | Required | enum (10 values) | dc:type |
description | Required | string | dc:description |
language | Required | string (BCP 47) | dc:language |
creator | Recommended | array of Creator objects | dc:creator |
date | Recommended | DateInfo object | dc:date / dcterms:created / dcterms:modified |
subject | Recommended | array of strings | dc:subject |
location | Recommended | Location object | dcterms:spatial |
rights | Recommended | Rights object | dc:rights |
source | Optional | Source object | dc:source |
format | Optional | string (MIME type) | dc:format |
relation | Optional | array of UUIDs | dc:relation |
coverage | Optional | Coverage object | dc:coverage |
schema_version | Optional | const "1.0.0" | schema:schemaVersion |
Recommended fields are not enforced by the JSON Schema validator, but including them significantly improves discoverability, interoperability, and archival completeness. The
dms stats command reports field completion rates across a collection.Minimal valid record
A record that passes schema validation must include only the five required fields.minimal-record.json
Fully populated record
The example below is taken directly fromexamples/story.json. It demonstrates all available field groups.
examples/story.json
Next steps
Field guide
Detailed definitions, constraints, and examples for all 15 fields.
Heritage item types
Descriptions and examples for each of the 10 valid
type values.Interoperability
Dublin Core mapping, JSON-LD context, and vocabulary alignment tables.