← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Digital Object

linked-art/api/schema-digital-object.md · 130 lines · SHA-256 750a7f2de6a7

Last refreshed: 2026-07-06

Source: Digital Object schema docs and digital.json, part of Linked Art API 1.0, published under CC BY 4.0. This is a project summary; the upstream schema is authoritative.

Purpose

The Digital Object schema describes `dig:D1_Digital_Object`: a digital resource, such as a web page, image, manifest, or other retrievable digital carrier. In Linked Art API terms this is the endpoint shape for `DigitalObject` records and closely related embedded digital service structures.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM/digital class: `dig:D1_Digital_Object`.
  • Additional top-level properties are not allowed.
  • `@context`: required.
  • `id`: required URI string for the entity.
  • `type`: required class string. Practical Linked Art classes include `DigitalObject` and `DigitalService`.
  • `_label`: required developer-facing human-readable label.

Permitted Top-Level Fields

  • `identified_by`: array of `Name` or `Identifier` structures.
  • `classified_as`: array of `Type` structures that classify this digital object.
  • `referred_to_by`: array of embedded statements or textual references about the digital object.
  • `equivalent`: array of compact references to equivalent digital identities.
  • `representation`: array of embedded `VisualItem` structures linked through digital objects.
  • `member_of`: array of `Set` references.
  • `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this entity.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this one.
  • `dimension`: array of `Dimension` structures.
  • `part_of`: compact reference to another `DigitalObject` of which this one is part.
  • `format`: media type string, such as `image/jpeg` or `text/html`.
  • `conforms_to`: array of `InformationObject` references for standards or specifications embodied by the resource.
  • `access_point`: array of URLs from which the digital object can be retrieved.
  • `digitally_available_via`: array of `DigitalService` structures used to retrieve or act on the digital object.
  • `digitally_carries`: array of `LinguisticObject` references carried by the digital object.
  • `digitally_shows`: array of `VisualItem` references shown by the digital object.
  • `used_for`: array of `Activity` structures for activities that used the digital object.
  • `created_by`: creation activity for the intellectual or conceptual entity.

Embedded Structures Highlighted By The Schema

`identified_by` items can be:

  • `Name` structures, with required `type` and `content`, plus optional `_label`, nested `identified_by`, `referred_to_by`, `classified_as`, `language`, and `part`.
  • `Identifier` structures, following the shared identifier pattern.

`referred_to_by` items are embedded `LinguisticObject` statements:

  • `type`: required.
  • `content`: required.
  • `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `format` are allowed.

`representation` items are embedded `VisualItem` structures:

  • `type`: required.
  • `_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.
  • Nested `digitally_shown_by` digital objects can include `access_point`, `format`, and `conforms_to`.

`subject_of` items are embedded `LinguisticObject` structures:

  • `type`: required.
  • `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.

`part_of` references another digital object:

  • `id`: required.
  • `type`: required.
  • `_label`, `equivalent`, `format`, `conforms_to`, and `access_point` are allowed.

`digitally_available_via` items are `DigitalService` structures:

  • `type`
  • `_label`
  • `identified_by`
  • `classified_as`
  • `referred_to_by`
  • `access_point`
  • `conforms_to`

`digitally_carries` and `digitally_shows` use compact content references:

  • `digitally_carries` references `LinguisticObject` records.
  • `digitally_shows` references `VisualItem` records.
  • Each reference carries required `id` and `type`, plus optional `_label` and `equivalent`.

Activity Shapes

`used_for` records activities that used the digital object. `created_by` describes creation of the digital object or conceptual digital resource. Both support normal activity fields:

  • `type`
  • `_label`
  • `identified_by`
  • `classified_as`
  • `referred_to_by`
  • `took_place_at`
  • `timespan`
  • `caused_by`
  • `carried_out_by`
  • `used_specific_object`
  • `influenced_by`
  • `technique`
  • `during`
  • `after`
  • `before`
  • `part_of`

`created_by.part_of` can reference an `Event` or `Activity` with required `id` and `type`, plus optional `_label` and `equivalent`.

Meta Museum Notes

Meta Museum already preserves digital-object and digital-service patterns in endpoint notes and shared digital-link notes: `access_point`, `format`, `conforms_to`, `digitally_carries`, `digitally_shows`, `digitally_carried_by`, `digitally_shown_by`, and IIIF-style service references stay structured rather than being flattened into image URLs.

This expanded schema adds the strict endpoint validation target for digital carriers: required identity fields, no unexpected top-level properties, explicit service/access relationships, media type handling, content-carrier boundaries, and activity evidence for creation or use.

Test Ideas

  • Validate representative `DigitalObject` and `DigitalService` records against `digital.json`.
  • Assert `@context`, `id`, `type`, and `_label` are present.
  • Assert unknown top-level properties fail schema validation.
  • Preserve `access_point`, `format`, and `conforms_to` on digital objects and nested digital services.
  • Preserve `digitally_carries` and `digitally_shows` as references rather than flattening them into display strings.
  • Preserve `used_for` and `created_by` activity evidence including `timespan`, `carried_out_by`, `used_specific_object`, and `technique`.