Last refreshed: 2026-07-06
Source: Person schema docs and person.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 Person schema describes `crm:E21_Person`: a human. In Linked Art API terms this covers artists, makers, collectors, curators, conservators, donors, staff members, and other individual actors.
Related upstream references:
Top-Level Constraints
- Schema type: object.
- CRM class: `crm:E21_Person`.
- 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 `Person`.
- `_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 person.
- `referred_to_by`: array of embedded statements or textual references about the person.
- `equivalent`: array of compact references to equivalent identities.
- `representation`: array of embedded `VisualItem` structures linked through digital objects.
- `member_of`: array of `Group` references of which this person is a current or former member.
- `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this person.
- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this person.
- `carried_out`: array of activities this person carried out or performed.
- `participated_in`: array of activities this person participated in without necessarily carrying them out directly.
- `contact_point`: array of `Identifier` structures for contact points or addresses.
- `residence`: array of `Place` references where the person has resided.
- `born`: birth event for the person.
- `died`: death event for the person.
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`.
`subject_of` items are embedded `LinguisticObject` structures:
- `type`: required.
- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.
`member_of` references groups:
- References point to `crm:E74_Group`.
- This is current-or-former group membership and should remain structured.
Activity And Life Event Shapes
The schema uses activity shapes for actor participation:
- `carried_out`: activities performed by the person.
- `participated_in`: activities the person joined or participated in without direct responsibility.
The schema also uses event shapes for person lifecycle evidence:
- `born`: the event in which this person was born.
- `died`: the event in which this person died.
The activity/event structures support:
- `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`
Birth and death events particularly rely on `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.
Contact And Residence
`contact_point` is modeled as an `Identifier`, not a loose string. This lets email addresses, web handles, phone numbers, and similar values carry structured identifier evidence.
`residence` references `Place` records and is appropriate for current or former residences.
Meta Museum Notes
Meta Museum already preserves person actor semantics in endpoint notes and fixtures: people stay `Person`, names and identifiers remain structured, external identities stay in `equivalent`, group membership stays in `member_of`, and activity participation is kept separate from object/person display text.
This expanded schema adds the endpoint-level validation target for individual actors: required identity fields, no unexpected top-level properties, structured membership/contact/residence evidence, performed-vs-participated activity evidence, and explicit birth/death event structures.
Test Ideas
- Validate representative `Person` records against `person.json`.
- Assert `@context`, `id`, `type`, and `_label` are present.
- Assert unknown top-level properties fail schema validation.
- Preserve `member_of` as `Group` references.
- Preserve `carried_out` separately from `participated_in`.
- Preserve `contact_point` as `Identifier` structures.
- Preserve `residence` as `Place` references.
- Preserve `born` and `died` event evidence including `timespan`, `took_place_at`, `during`, `after`, `before`, and `caused_by`.