Skip to main content
JSON-LD (JSON for Linked Data) is a W3C standard that adds semantic meaning to JSON by associating each field with a globally recognised vocabulary term. Exporting your DMS records as JSON-LD makes them machine-readable by search engines, library catalogue systems, and linked open data portals — without changing how they look to a human reader.

Why it matters

A plain DMS JSON record uses field names like creator and title. A JSON-LD export maps those same fields to precise URIs from established vocabularies:
  • creatorhttp://purl.org/dc/elements/1.1/creator
  • titlehttp://purl.org/dc/elements/1.1/title
  • name (on a creator) → http://xmlns.com/foaf/0.1/name
This means any application that understands those vocabularies can consume your metadata without custom parsing.

Exporting a single record

By default the output file is placed next to the input with a .jsonld extension:
Use --output to choose a different path:

Exporting an entire collection

Pass --dir to export every .json file in a directory as a single JSON-LD @graph document:
This writes a collection.jsonld file into the directory. Each record becomes a node in the @graph array, sharing a single top-level @context block:

Vocabulary mappings

DMS maps its fields to six linked data vocabularies defined in schema/dms.jsonld:
The core bibliographic vocabulary. Used for the fundamental descriptive fields:
Used to describe people involved in creating or contributing to a record:Role mappings to FOAF include authorfoaf:maker.
Provides document-type classifications and roles specific to bibliographic resources:Creator roles include interviewerbibo:interviewer, editorbibo:editor, translatorbibo:translator.
Provides rich type mappings recognised by Google, Bing, and major catalogues:Additional field mappings: creator[].affiliationschema:affiliation, coverage.start_dateschema:startDate, coverage.end_dateschema:endDate.
Used for geographic coordinates on the location object:
The SKOS namespace is included in the context for future use in classifying subject tags as concept scheme entries, enabling interoperability with controlled vocabulary systems and thesauri.

Example JSON-LD output

The following shows what the examples/story.json record looks like after export. The @context block is sourced directly from schema/dms.jsonld:
story_b3e7c8a1.jsonld
Key differences from the plain JSON record:
  • @context declares all vocabulary prefix bindings
  • @type is set to both dms:HeritageRecord and the appropriate Schema.org type (schema:Article for a story)
  • @id is a urn:dms: URI derived from the record’s UUID
  • id is preserved as dc:identifier
  • Each creator gets "@type": "foaf:Person"
  • The location object gets "@type": "schema:Place"

Use cases

Library catalogues

Dublin Core and BIBO mappings make DMS records directly importable into library management systems such as DSpace, Omeka, and Koha.

Linked open data portals

Publish a collection.jsonld graph document to a SPARQL endpoint or a static open data portal for query by the wider research community.

Search engine indexing

Schema.org @type values allow Google Knowledge Graph and Bing to index heritage records as structured data, improving discoverability.

Interoperability

Shared vocabulary URIs mean DMS records can be joined with datasets from other institutions that use Dublin Core or FOAF without custom data-mapping work.