← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Concept

linked-art/api/schema-concept.md · 118 lines · SHA-256 6a568b387d80

Last refreshed: 2026-07-06

Source: Concept schema docs and concept.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 Concept schema describes `crm:E55_Type`: concepts, subjects, and other categorizations. In Linked Art API terms this covers full concept records, including `Type` and subclasses such as `Language`, `Material`, `Currency`, and `MeasurementUnit`.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM class: `crm:E55_Type`.
  • 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 `Type`, `Language`, `Material`, `Currency`, and `MeasurementUnit`.
  • `_label`: required developer-facing human-readable label.

Permitted Top-Level Fields

  • `classified_as`: array of `Type` structures that classify this concept beyond its class.
  • `identified_by`: array of `Name` or `Identifier` structures.
  • `referred_to_by`: array of embedded statements or textual references about the concept.
  • `equivalent`: array of compact references to equivalent identities in external vocabularies or systems.
  • `representation`: array of embedded `VisualItem` structures linked to digital objects.
  • `member_of`: array of `Set` references.
  • `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this concept.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this concept.
  • `created_by`: creation activity for the intellectual or conceptual entity.
  • `broader`: array of broader concept references, using `skos:broader`.

Embedded Structures Highlighted By The Schema

`classified_as` items are concept references:

  • `id`: required.
  • `type`: required.
  • `_label`, `identified_by`, `classified_as`, `referred_to_by`, and `equivalent` are allowed.

`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.

`equivalent` items are compact references:

  • `id`: required.
  • `type`: required.
  • `_label`: optional.
  • `equivalent`: optional nested equivalent references.

`representation` items are embedded `VisualItem` structures:

  • `type`: required.
  • `_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.
  • Nested digital objects can carry `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.

`broader` items reference a `Type` or subclass:

  • Broader links model concept hierarchy and should remain explicit `skos:broader` relationships.
  • Subclasses can include `Language`, `Material`, `Currency`, and `MeasurementUnit`.

Creation Activity Shape

`created_by` describes creation of the concept record or conceptual entity. The expanded schema allows 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`

`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 concept classes, vocabulary alignments, `equivalent` links, `notation`, and `broader` relationships in the Concept endpoint notes and shared concept-reference notes. This expanded schema adds the strict endpoint validation target: concept records are full `crm:E55_Type` objects with required identity/label fields and no unexpected top-level properties.

The highest-value next code task is to validate representative `Type`, `Material`, `Language`, `Currency`, and `MeasurementUnit` records against `concept.json`, including `broader` hierarchy and embedded statement language/format fields.

Test Ideas

  • Validate representative Concept records against `concept.json`.
  • Assert `@context`, `id`, `type`, and `_label` are present.
  • Assert unknown top-level properties fail schema validation.
  • Preserve `broader` as explicit concept hierarchy, not a flattened label.
  • Preserve `representation` visual evidence and `subject_of` web-page evidence.
  • Preserve `created_by` activity fields including `timespan`, `carried_out_by`, `used_specific_object`, `technique`, and `part_of`.