Last refreshed: 2026-07-06
Source: Textual Work schema docs and text.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 Textual Work schema describes `crm:E33_Linguistic_Object`: textual content expressed in one or more human languages, whether or not it is written on a physical carrier. In Linked Art API terms this is the endpoint shape for intellectual or linguistic text, separate from the physical object that carries it and the digital object that makes it available.
Related upstream references:
Top-Level Constraints
- Schema type: object.
- CRM class: `crm:E33_Linguistic_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 `LinguisticObject`.
- `_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 textual work.
- `referred_to_by`: array of embedded statements or textual references about the textual work.
- `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 text.
- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this text.
- `dimension`: array of `Dimension` structures, such as page count or word count.
- `subject_to`: array of `Right` structures that apply to the textual work.
- `language`: array of `Language` references for languages expressed in the text.
- `format`: media type of the embedded textual `content`, such as `text/plain` or `text/html`.
- `about`: array of references to the main topics of the text.
- `created_by`: creation activity for the intellectual or linguistic content.
- `used_for`: array of activities in which this textual work was used.
- `part_of`: array of `LinguisticObject` or `VisualItem` references of which this text is part.
- `content`: string representation of the textual content when supplied.
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.
`subject_to` items are `Right` structures:
- `type`: required and must be `Right`.
- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `created_by`, and `possessed_by` 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`.
Text Content And Carrier Boundaries
The schema keeps textual content separate from carriers:
- `content`: literal textual content when included in the endpoint response.
- `language`: language references for the text.
- `format`: media type of the embedded textual content.
- `part_of`: another `LinguisticObject` or `VisualItem` of which this text forms part.
- Physical objects carry text through object-side `carries`.
- Digital objects carry text through digital-object-side `digitally_carries`.
Do not collapse a book, scan, web page, and textual work into one entity. The textual work remains a `LinguisticObject`; carriers and surrogates remain separate linked resources.
Activity Fields
The schema supports textual-work activity evidence:
- `created_by`: creation of the intellectual or linguistic content, 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`.
- `used_for`: activities in which the text was used, such as publication, exhibition interpretation, citation, or other documented use.
Authorship and publication should remain activity evidence rather than flattened display strings when the data supports it.
Meta Museum Notes
Meta Museum already preserves Textual Work semantics through `/api/records/{id}` fixtures for the Textual Documents profile. Existing coverage proves physical book `HumanMadeObject` carriers link to `LinguisticObject` content through `carries`; textual records preserve monograph/chapter classifications, primary and system identifiers, language, `content`, authorship `Creation`, publishing `Activity`, object `about` references, abstract-work `part_of` links, pagination statements, page-count dimensions, and `digitally_carried_by` digital carriers.
This expanded schema adds the endpoint-level validation target for textual exports: required identity fields, no unexpected top-level properties, structured names/classifications/statements, language and content fields, rights, aboutness, part relationships, and textual-work creation/use activity evidence.
Test Ideas
- Validate representative `LinguisticObject` records against `text.json`.
- Assert `@context`, `id`, `type`, and `_label` are present.
- Assert unknown top-level properties fail schema validation.
- Preserve `language`, `content`, `format`, `about`, `subject_to`, `dimension`, `created_by`, `used_for`, and `part_of`.
- Preserve `subject_to` as `Right` structures, not string labels.
- Preserve carrier boundaries: physical objects use `carries`, digital objects use `digitally_carries`, and the text remains a distinct `LinguisticObject`.