DMS is fully compatible with Dublin Core — the most widely used metadata standard for digital heritage and library resources. Every DMS field maps directly to a Dublin Core element or term, allowing DMS records to be harvested, indexed, and exchanged by any system that understands Dublin Core.
Dublin Core field mapping
All 15 DMS fields map to adc: or dcterms: property. Fields with no equivalent Dublin Core term use a dms: or schema: extension property.
| DMS field | Dublin Core / extension mapping | Namespace |
|---|---|---|
id | dc:identifier | Dublin Core Elements |
title | dc:title | Dublin Core Elements |
type | dc:type | Dublin Core Elements |
description | dc:description | Dublin Core Elements |
language | dc:language | Dublin Core Elements |
creator | dc:creator | Dublin Core Elements |
date | dc:date | Dublin Core Elements |
date.created | dcterms:created | Dublin Core Terms |
date.modified | dcterms:modified | Dublin Core Terms |
date.event_date | dcterms:date | Dublin Core Terms |
subject | dc:subject | Dublin Core Elements |
location | dcterms:spatial | Dublin Core Terms |
location.latitude | geo:lat | W3C Geo |
location.longitude | geo:long | W3C Geo |
location.area | dms:campArea | DMS extension |
rights | dc:rights | Dublin Core Elements |
rights.license | dcterms:license | Dublin Core Terms |
rights.holder | dcterms:rightsHolder | Dublin Core Terms |
rights.access_level | dms:accessLevel | DMS extension |
source | dc:source | Dublin Core Elements |
source.contributor | dcterms:contributor | Dublin Core Terms |
source.collection | bibo:Collection | BIBO |
source.original_format | dms:originalFormat | DMS extension |
format | dc:format | Dublin Core Elements |
relation | dc:relation | Dublin Core Elements |
coverage | dc:coverage | Dublin Core Elements |
coverage.start_date | schema:startDate | Schema.org |
coverage.end_date | schema:endDate | Schema.org |
coverage.period | dcterms:temporal | Dublin Core Terms |
schema_version | schema:schemaVersion | Schema.org |
Vocabulary mappings
Thedms.jsonld context declares prefix mappings for six external vocabularies. These mappings enable DMS records to be published as Linked Data and consumed by RDF-aware systems.
| Vocabulary | Prefix | URI | Used for |
|---|---|---|---|
| Dublin Core | dc:, dcterms: | http://purl.org/dc/elements/1.1/, http://purl.org/dc/terms/ | Core metadata fields: title, creator, subject, rights, etc. |
| FOAF | foaf: | http://xmlns.com/foaf/0.1/ | Person and agent descriptions (foaf:name, foaf:Person, foaf:Image) |
| BIBO | bibo: | http://purl.org/ontology/bibo/ | Bibliographic roles (bibo:editor, bibo:translator, bibo:interviewer) |
| Schema.org | schema: | https://schema.org/ | Creative works, places, events, and affiliations |
| W3C Geo | geo: | http://www.w3.org/2003/01/geo/wgs84_pos# | Geographic coordinates (geo:lat, geo:long) |
| SKOS | skos: | http://www.w3.org/2004/02/skos/core# | Subject vocabularies and concept schemes |
JSON-LD context
The fileschema/dms.jsonld provides a JSON-LD 1.1 context that transforms any DMS JSON record into a valid RDF document. Loading the context alongside a record expands each field key into a fully qualified URI.
Context prefix declarations
schema/dms.jsonld (prefixes)
Type mappings in JSON-LD
Each value of thetype enum is mapped to one or more Schema.org, FOAF, and BIBO classes in the @graph section of dms.jsonld.
type value | Primary class | Additional classes |
|---|---|---|
story | schema:Article | foaf:Document, bibo:Document |
photo | schema:Photograph | foaf:Image |
document | schema:DigitalDocument | foaf:Document, bibo:Document |
audio | schema:AudioObject | bibo:AudioDocument |
video | schema:VideoObject | bibo:AudioVisualDocument |
event | schema:Event | bibo:Event |
map | schema:Map | foaf:Document |
artwork | schema:VisualArtwork | foaf:Image |
site | schema:Place | schema:LandmarksOrHistoricalBuildings |
poem | schema:CreativeWork | bibo:Document |
Example: record as JSON-LD
The following showsexamples/story.json as it would be interpreted when expanded with the DMS JSON-LD context. Field keys resolve to their full URI equivalents.
story-as-jsonld.json
CSV format
DMS supports importing and exporting records in CSV format for spreadsheet-based workflows. The CSV format uses the same field names as the JSON schema, with nested objects represented as flattened dot-notation columns.- CSV to JSON
- JSON to CSV
Convert a CSV batch file to individual JSON records:Each row in the CSV becomes a separate JSON record file. Nested fields such as
location.name, rights.license, and creator.0.name are expanded into their corresponding object structures.JSON Schema validation
Theschema/dms.json file is a valid JSON Schema Draft 2020-12 document. Any JSON Schema validator can use it to validate DMS records in any language or platform.
The
dms validate command supports single files and entire directories. Use dms validate --dir records/ to validate all JSON files in a collection at once.