← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Group

linked-art/api/schema-group.md · 124 lines · SHA-256 33ee6eb1355f

Last refreshed: 2026-07-06

Source: Group schema docs and group.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 Group schema describes `crm:E74_Group`: a group of people and/or other groups. In Linked Art API terms this covers organizations, departments, families, societies, teams, committees, and other collective actors.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM class: `crm:E74_Group`.
  • 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 `Group`.
  • `_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 group.
  • `referred_to_by`: array of embedded statements or textual references about the group.
  • `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 group is a current or former member.
  • `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this group.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this group.
  • `carried_out`: array of activities this group carried out or performed.
  • `participated_in`: array of activities this group 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 group has resided or done business.
  • `formed_by`: formation activity for the group.
  • `dissolved_by`: dissolution activity for the group.

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 parent groups:

  • References point to `crm:E74_Group`.
  • This is current-or-former group membership and should not be flattened into a display-only organization label.

Activity Shapes

The schema uses activity shapes in several places:

  • `carried_out`: activities performed by the group.
  • `participated_in`: activities the group joined or participated in without direct responsibility.
  • `formed_by`: activity of forming or creating the group.
  • `dissolved_by`: activity of dissolving or ending the group.

The activity 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`

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

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 the same structured identifier evidence as other identifiers.

`residence` references `Place` records and is appropriate for organizational locations, business addresses, historical seats, departments, or other places where a group has resided or done business.

Meta Museum Notes

Meta Museum already preserves group semantics in endpoint notes and fixtures: group actors stay `Group`, subgroup/organization membership remains structured, contact points remain identifiers, residences stay place references, and formation/dissolution are activity structures instead of dates or strings.

This expanded schema adds the endpoint-level validation target for collective actors: required identity fields, no unexpected top-level properties, current-or-former group membership, explicit performed-vs-participated activity evidence, structured contact/residence data, and lifecycle activity shapes for formation and dissolution.

Test Ideas

  • Validate representative `Group` records against `group.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 `formed_by` and `dissolved_by` activity evidence including `timespan`, `took_place_at`, `caused_by`, `influenced_by`, and `part_of`.