← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Human-Made Object

linked-art/api/schema-physical-object.md · 134 lines · SHA-256 d0ab12e93755

Last refreshed: 2026-07-06

Source: Physical Object schema docs and object.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 Physical Object schema describes `crm:E22_Human-Made_Object`: a human-made object, a part of one, or a natural object whose value is imbued through interaction with human culture. In Linked Art API terms this is the core `HumanMadeObject` endpoint shape.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM class: `crm:E22_Human-Made_Object`.
  • Additional top-level properties are not allowed.
  • `@context`: required.
  • `id`: required URI string for the entity.
  • `type`: required class string. The practical Linked Art class is `HumanMadeObject`.
  • `_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 object.
  • `referred_to_by`: array of embedded statements or textual references about the object.
  • `equivalent`: array of compact references to equivalent 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 object.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this object.
  • `dimension`: array of `Dimension` structures.
  • `made_of`: array of `Material` references.
  • `part_of`: compact reference to another `HumanMadeObject` of which this object is part.
  • `current_owner`: array of `Person` or `Group` references.
  • `current_custodian`: array of `Person` or `Group` references, if different from owner.
  • `current_permanent_custodian`: array of `Person` or `Group` references for normal custody when current custody differs.
  • `current_location`: `Place` reference for current location.
  • `current_permanent_location`: `Place` reference for normal permanent location when current location differs.
  • `held_or_supported_by`: physical object reference for the object that holds, contains, or supports this object.
  • `used_for`: array of activities in which this object was used.
  • `shows`: array of `VisualItem` references shown by the object.
  • `carries`: array of `LinguisticObject` references carried by the object.
  • `produced_by`: production activity for the object.
  • `destroyed_by`: destruction event for the object.
  • `removed_by`: array of part-removal activities in which this object was removed from another object.
  • `encountered_by`: array of encounter activities in which this object was found, discovered, or encountered.
  • `modified_by`: array of modification activities in which this object was modified.
  • `changed_ownership_through`: array of acquisition activities in which ownership changed.

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 digital objects can carry `access_point`, `format`, and `conforms_to`.

`made_of` items reference `Material` concepts:

  • `id`: required.
  • `type`: required.
  • `_label` and `equivalent` are allowed.

`part_of`, `held_or_supported_by`, and current object containment references point to other `HumanMadeObject` records and should remain object references, not display strings.

Current State Fields

The schema separates current legal, custody, and location state:

  • `current_owner`: current title holder.
  • `current_custodian`: current keeper if different from owner.
  • `current_permanent_custodian`: normal keeper when current custody is temporary.
  • `current_location`: current place.
  • `current_permanent_location`: normal place when current location is temporary.
  • `held_or_supported_by`: current physical holder, container, or support object.

This distinction is important for exhibitions, loans, storage moves, and archival containment.

Lifecycle And Provenance Activity Shapes

The schema uses activity/event structures for object lifecycle and provenance:

  • `produced_by`: production or creation of the object.
  • `destroyed_by`: destruction event.
  • `removed_by`: part-removal activities, including a `diminished` reference to the object from which this object was removed.
  • `encountered_by`: encounter, find, or discovery activity.
  • `modified_by`: modification activities.
  • `changed_ownership_through`: acquisition activities, including `transferred_title_from` and `transferred_title_to`.
  • `used_for`: activities in which the object was used.

These activity structures support the normal Linked Art 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`, and `part_of`.

Content Relationships

The schema keeps physical carriers separate from content:

  • `shows` references `VisualItem` content shown by the object.
  • `carries` references `LinguisticObject` content carried by the object.
  • `representation` references digital or visual surrogates of the object.

These must not be collapsed into object identity or image URL fields.

Meta Museum Notes

Meta Museum already treats `HumanMadeObject` as the central carrier record shape. Existing records and tests preserve object identity, equivalents, dimensions, materials, production, ownership, custody, location, part relationships, visual content, linguistic content, provenance activities, and current state without flattening them into display-only text.

This expanded schema adds the endpoint-level validation target for object exports: required identity fields, no unexpected top-level properties, explicit current state fields, object/content/digital separation, and lifecycle/provenance activity evidence.

Test Ideas

  • Validate representative `HumanMadeObject` records against `object.json`.
  • Assert `@context`, `id`, `type`, and `_label` are present.
  • Assert unknown top-level properties fail schema validation.
  • Preserve `made_of`, `dimension`, `part_of`, and `held_or_supported_by`.
  • Preserve `current_owner`, `current_custodian`, `current_permanent_custodian`, `current_location`, and `current_permanent_location` as distinct fields.
  • Preserve `shows`, `carries`, and `representation` as separate carrier/content/surrogate relationships.
  • Preserve `produced_by`, `destroyed_by`, `removed_by`, `encountered_by`, `modified_by`, `used_for`, and `changed_ownership_through` activity evidence.