Last refreshed: 2026-07-06
Source: Set schema docs and set.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 Set schema describes `la:Set`: a collection of other resources, such as a set of objects, places, concepts, texts, images, archival groupings, auction lots, exhibition object lists, or other aggregations. In Linked Art API terms this is the endpoint shape for collection-like resources where members usually point to the set with `member_of`.
Related upstream references:
Top-Level Constraints
- Schema type: object.
- Linked Art class: `la:Set`.
- 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 `Set`.
- `_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 set.
- `referred_to_by`: array of embedded statements or textual references about the set.
- `equivalent`: array of compact references to equivalent identities.
- `representation`: array of embedded `VisualItem` structures linked through digital objects.
- `member_of`: array of parent `Set` references.
- `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this set.
- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this set.
- `dimension`: array of `Dimension` structures, such as a member count.
- `about`: array of references to the main topics of the set.
- `members_contained_by`: array of `HumanMadeObject` references that physically contain or support the set members.
- `members_exemplified_by`: array of exemplar templates for members of the set. The upstream schema notes that contents below this point are not validated.
- `used_for`: array of activities in which this set was used.
- `created_by`: creation activity for the set as an intellectual or conceptual entity.
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.
Aggregation Boundaries
The schema keeps collection identity separate from membership enumeration:
- `member_of`: parent set references for set hierarchy.
- `members_contained_by`: physical object references for containers or supports, such as boxes, folders, or shelves.
- `members_exemplified_by`: exemplar templates for the kinds of members in the set, not a complete validated member list.
- `about`: topics of the set as an intellectual or descriptive aggregation.
Do not invent exhaustive inverse `member[]` lists on a set record unless the source actually provides and the profile expects them. In normal Linked Art API use, member records carry `member_of` and consumers discover members through search or implementation-specific APIs.
Activity Fields
The schema supports set-related activity evidence:
- `used_for`: activities in which the set was used, such as an exhibition or auction lot event using a set of objects.
- `created_by`: creation of the intellectual or conceptual set, including common activity fields such as `took_place_at`, `timespan`, `caused_by`, `carried_out_by`, `used_specific_object`, `influenced_by`, `technique`, `during`, `after`, `before`, and `part_of`.
This keeps a conceptual collection or list distinct from the physical objects that may exemplify, contain, or participate in it.
Meta Museum Notes
Meta Museum already exposes sets through `/api/sets/{id}` and preserves full `Set` records through `/api/records/{id}`. Existing coverage proves exhibition-object sets, concept-scheme sets, archival hierarchy sets, auction lot sets, `member_of` links on member records, `members_contained_by` physical-container alignment, `members_exemplified_by` collective descriptions, and `Set` semantic `Creation` activity rows.
This expanded schema adds the endpoint-level validation target for set exports: required identity fields, no unexpected top-level properties, structured classification and descriptive fields, set hierarchy, physical containment support, exemplar templates, and set-specific activity evidence.
Test Ideas
- Validate representative `Set` records against `set.json`.
- Assert `@context`, `id`, `type`, and `_label` are present.
- Assert unknown top-level properties fail schema validation.
- Preserve `member_of` as parent `Set` references.
- Preserve `members_contained_by` as `HumanMadeObject` references.
- Preserve `members_exemplified_by` without treating it as a validated exhaustive member list.
- Preserve `about`, `dimension`, `used_for`, and `created_by` on collection-like records.