← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Event

linked-art/api/schema-event.md · 112 lines · SHA-256 ecc0b93c1ea6

Last refreshed: 2026-07-06

Source: Event/Activity schema docs and event.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 Event schema describes temporal entities: `crm:E4_Period`, `crm:E6_Event`, and `crm:E7_Activity`. Linked Art uses this endpoint for periods, events where a change occurred without a responsible actor, and activities where a human or group was responsible.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM classes: `crm:E4_Period`, `crm:E6_Event`, or `crm:E7_Activity`.
  • 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 `Period`, `Event`, and `Activity`.
  • `_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 temporal entity.
  • `referred_to_by`: array of embedded statements or textual references about the entity.
  • `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 entity.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this one.
  • `took_place_at`: array of `Place` references where the event or activity occurred.
  • `timespan`: `TimeSpan` structure describing when the event or activity occurred.
  • `during`: array of `Period` references that contain the temporal entity.
  • `after`: array of `Period`, `Event`, or `Activity` references that ended before this temporal entity began.
  • `before`: array of `Period`, `Event`, or `Activity` references that start after this temporal entity ends.
  • `caused_by`: array of `Event` references that caused this temporal entity.
  • `carried_out_by`: array of `Person` or `Group` references responsible for an activity.
  • `participant`: array of `Person` or `Group` references that participated in the activity.
  • `used_specific_object`: array of objects, sets, or other things used by the activity.
  • `influenced_by`: array of entities that influenced the activity.
  • `technique`: array of `Type` references for techniques used in the activity.
  • `part_of`: compact reference to an identified `Event` or `Activity` of which this one is part.

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.

`part_of` references an enclosing event or activity:

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

Temporal And Activity Semantics

The schema keeps temporal structure explicit:

  • `took_place_at` records place evidence.
  • `timespan` records fuzzy or exact date/time boundaries.
  • `during` records containment within a period.
  • `after` and `before` record relative temporal ordering without forcing exact dates.
  • `caused_by` records causal context.

For activities, the schema also distinguishes:

  • `carried_out_by`: responsible actors.
  • `participant`: actors involved but not necessarily responsible.
  • `used_specific_object`: concrete things used in the activity.
  • `technique`: general technique used.
  • `influenced_by`: motivating or influencing entities.

Meta Museum Notes

Meta Museum already has regression coverage for event identity and activity preservation through `/api/records/{id}` and `/api/events/{id}`: `Period`, `Event`, and `Activity` records preserve names, timespans, places, actor responsibility, causation, `part_of`, `during`, `before`, and `after`.

This expanded schema adds the endpoint-level validation target: standalone temporal records must keep required identity fields, reject unexpected top-level properties, preserve temporal ordering fields, and keep `carried_out_by` distinct from broader `participant` evidence.

Test Ideas

  • Validate representative `Period`, `Event`, and `Activity` records against `event.json`.
  • Assert `@context`, `id`, `type`, and `_label` are present.
  • Assert unknown top-level properties fail schema validation.
  • Preserve `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.
  • Preserve `carried_out_by` separately from `participant`.
  • Preserve `used_specific_object`, `influenced_by`, `technique`, and `part_of` on activity records.