{"id":"linked-art/api/schema-place","relativePath":"linked-art/api/schema-place.md","title":"Linked Art API Schema: Place","markdown":"# Linked Art API Schema: Place\n\n**Last refreshed:** 2026-07-06\n\nSource: [Place schema docs](https://linked.art/api/1.0/schema_docs/place/) and [place.json](https://linked.art/api/1.0/schema/place.json), part of Linked Art API 1.0, published under [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/). This is a project summary; the upstream schema is authoritative.\n\n## Purpose\n\nThe Place schema describes `crm:E53_Place`: geographic locations where activities occur. In Linked Art API terms this covers cities, countries, buildings-as-places, archaeological find spots, movement origins and destinations, residences, and other spatial extents.\n\nRelated upstream references:\n\n- [Place API endpoint](https://linked.art/api/1.0/endpoint/place/)\n- [Places model documentation](https://linked.art/model/place/)\n\n## Top-Level Constraints\n\n- Schema type: object.\n- CRM class: `crm:E53_Place`.\n- Additional top-level properties are not allowed.\n- `@context`: required.\n- `id`: required URI string for the entity.\n- `type`: required class string. The practical Linked Art class is `Place`.\n- `_label`: required developer-facing human-readable label.\n\n## Permitted Top-Level Fields\n\n- `identified_by`: array of `Name` or `Identifier` structures.\n- `classified_as`: array of `Type` structures that classify this place.\n- `referred_to_by`: array of embedded statements or textual references about the place.\n- `equivalent`: array of compact references to equivalent identities.\n- `representation`: array of embedded `VisualItem` structures linked through digital objects.\n- `member_of`: array of `Set` references.\n- `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this place.\n- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this place.\n- `defined_by`: string containing a WKT or GeoJSON definition of the place extent.\n- `part_of`: array of `Place` references for larger places that contain this place.\n\n## Embedded Structures Highlighted By The Schema\n\n`identified_by` items can be:\n\n- `Name` structures, with required `type` and `content`, plus optional `_label`, nested `identified_by`, `referred_to_by`, `classified_as`, `language`, and `part`.\n- `Identifier` structures, following the shared identifier pattern.\n\n`referred_to_by` items are embedded `LinguisticObject` statements:\n\n- `type`: required.\n- `content`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `format` are allowed.\n\n`representation` items are embedded `VisualItem` structures:\n\n- `type`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.\n- Nested digital objects can carry `access_point`, `format`, and `conforms_to`.\n\n`subject_of` items are embedded `LinguisticObject` structures:\n\n- `type`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.\n\n## Spatial Definition And Hierarchy\n\nThe schema keeps spatial extent and containment explicit:\n\n- `defined_by`: WKT or GeoJSON geometry string for the spatial extent.\n- `part_of`: larger `Place` references in which this place falls.\n\n`part_of` should express geographic containment, not object containment. Physical containment belongs on object records through `held_or_supported_by`, `part_of`, or current-location fields depending on the evidence.\n\n## Incoming Relationship Context\n\nPlaces commonly appear from other endpoint and activity shapes:\n\n- `took_place_at`: events and activities occur at places.\n- `current_location`: physical objects can currently be at a place.\n- `current_permanent_location`: physical objects can have a normal long-term place.\n- `moved_from` and `moved_to`: movement activities use places as origin and destination.\n- `residence`: people and groups can have current or former residence places.\n- `encountered_by`: object encounters can carry find-spot place evidence through activity location.\n\nThese incoming relationships should remain structured references, not flattened display strings.\n\n## Meta Museum Notes\n\nMeta Museum already preserves place semantics in record detail coverage: city and nation classifications, names, descriptions, `part_of` spatial hierarchy, authority `equivalent[]`, WKT `defined_by` geometry, approximate place nesting, and building/object `current_location -> Place` references stay distinct.\n\nThis expanded schema adds the endpoint-level validation target for place exports: required identity fields, no unexpected top-level properties, explicit geometry, spatial containment, and the link between place records and activity/object/actor references.\n\n## Test Ideas\n\n- Validate representative `Place` records against `place.json`.\n- Assert `@context`, `id`, `type`, and `_label` are present.\n- Assert unknown top-level properties fail schema validation.\n- Preserve `defined_by` as WKT or GeoJSON geometry text.\n- Preserve `part_of` as larger `Place` references.\n- Preserve place references from `took_place_at`, `current_location`, `current_permanent_location`, `moved_from`, `moved_to`, and `residence` without flattening them.\n","sections":[{"level":2,"heading":"Purpose","anchor":"purpose"},{"level":2,"heading":"Top-Level Constraints","anchor":"top-level-constraints"},{"level":2,"heading":"Permitted Top-Level Fields","anchor":"permitted-top-level-fields"},{"level":2,"heading":"Embedded Structures Highlighted By The Schema","anchor":"embedded-structures-highlighted-by-the-schema"},{"level":2,"heading":"Spatial Definition And Hierarchy","anchor":"spatial-definition-and-hierarchy"},{"level":2,"heading":"Incoming Relationship Context","anchor":"incoming-relationship-context"},{"level":2,"heading":"Meta Museum Notes","anchor":"meta-museum-notes"},{"level":2,"heading":"Test Ideas","anchor":"test-ideas"}],"html":"<h1 id=\"linked-art-api-schema-place\">Linked Art API Schema: Place</h1>\n<p><strong>Last refreshed:</strong> 2026-07-06</p>\n<p>Source: <a href=\"https://linked.art/api/1.0/schema_docs/place/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Place schema docs</a> and <a href=\"https://linked.art/api/1.0/schema/place.json\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">place.json</a>, part of Linked Art API 1.0, published under <a href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">CC BY 4.0</a>. This is a project summary; the upstream schema is authoritative.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The Place schema describes `crm:E53_Place`: geographic locations where activities occur. In Linked Art API terms this covers cities, countries, buildings-as-places, archaeological find spots, movement origins and destinations, residences, and other spatial extents.</p>\n<p>Related upstream references:</p>\n<ul><li><a href=\"https://linked.art/api/1.0/endpoint/place/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Place API endpoint</a></li><li><a href=\"https://linked.art/model/place/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Places model documentation</a></li></ul>\n<h2 id=\"top-level-constraints\">Top-Level Constraints</h2>\n<ul><li>Schema type: object.</li><li>CRM class: `crm:E53_Place`.</li><li>Additional top-level properties are not allowed.</li><li>`@context`: required.</li><li>`id`: required URI string for the entity.</li><li>`type`: required class string. The practical Linked Art class is `Place`.</li><li>`_label`: required developer-facing human-readable label.</li></ul>\n<h2 id=\"permitted-top-level-fields\">Permitted Top-Level Fields</h2>\n<ul><li>`identified_by`: array of `Name` or `Identifier` structures.</li><li>`classified_as`: array of `Type` structures that classify this place.</li><li>`referred_to_by`: array of embedded statements or textual references about the place.</li><li>`equivalent`: array of compact references to equivalent identities.</li><li>`representation`: array of embedded `VisualItem` structures linked through digital objects.</li><li>`member_of`: array of `Set` references.</li><li>`subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this place.</li><li>`attributed_by`: array of `AttributeAssignment` structures relating another entity to this place.</li><li>`defined_by`: string containing a WKT or GeoJSON definition of the place extent.</li><li>`part_of`: array of `Place` references for larger places that contain this place.</li></ul>\n<h2 id=\"embedded-structures-highlighted-by-the-schema\">Embedded Structures Highlighted By The Schema</h2>\n<p>`identified_by` items can be:</p>\n<ul><li>`Name` structures, with required `type` and `content`, plus optional `_label`, nested `identified_by`, `referred_to_by`, `classified_as`, `language`, and `part`.</li><li>`Identifier` structures, following the shared identifier pattern.</li></ul>\n<p>`referred_to_by` items are embedded `LinguisticObject` statements:</p>\n<ul><li>`type`: required.</li><li>`content`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `format` are allowed.</li></ul>\n<p>`representation` items are embedded `VisualItem` structures:</p>\n<ul><li>`type`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.</li><li>Nested digital objects can carry `access_point`, `format`, and `conforms_to`.</li></ul>\n<p>`subject_of` items are embedded `LinguisticObject` structures:</p>\n<ul><li>`type`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.</li></ul>\n<h2 id=\"spatial-definition-and-hierarchy\">Spatial Definition And Hierarchy</h2>\n<p>The schema keeps spatial extent and containment explicit:</p>\n<ul><li>`defined_by`: WKT or GeoJSON geometry string for the spatial extent.</li><li>`part_of`: larger `Place` references in which this place falls.</li></ul>\n<p>`part_of` should express geographic containment, not object containment. Physical containment belongs on object records through `held_or_supported_by`, `part_of`, or current-location fields depending on the evidence.</p>\n<h2 id=\"incoming-relationship-context\">Incoming Relationship Context</h2>\n<p>Places commonly appear from other endpoint and activity shapes:</p>\n<ul><li>`took_place_at`: events and activities occur at places.</li><li>`current_location`: physical objects can currently be at a place.</li><li>`current_permanent_location`: physical objects can have a normal long-term place.</li><li>`moved_from` and `moved_to`: movement activities use places as origin and destination.</li><li>`residence`: people and groups can have current or former residence places.</li><li>`encountered_by`: object encounters can carry find-spot place evidence through activity location.</li></ul>\n<p>These incoming relationships should remain structured references, not flattened display strings.</p>\n<h2 id=\"meta-museum-notes\">Meta Museum Notes</h2>\n<p>Meta Museum already preserves place semantics in record detail coverage: city and nation classifications, names, descriptions, `part_of` spatial hierarchy, authority `equivalent[]`, WKT `defined_by` geometry, approximate place nesting, and building/object `current_location -&gt; Place` references stay distinct.</p>\n<p>This expanded schema adds the endpoint-level validation target for place exports: required identity fields, no unexpected top-level properties, explicit geometry, spatial containment, and the link between place records and activity/object/actor references.</p>\n<h2 id=\"test-ideas\">Test Ideas</h2>\n<ul><li>Validate representative `Place` records against `place.json`.</li><li>Assert `@context`, `id`, `type`, and `_label` are present.</li><li>Assert unknown top-level properties fail schema validation.</li><li>Preserve `defined_by` as WKT or GeoJSON geometry text.</li><li>Preserve `part_of` as larger `Place` references.</li><li>Preserve place references from `took_place_at`, `current_location`, `current_permanent_location`, `moved_from`, `moved_to`, and `residence` without flattening them.</li></ul>","updatedAt":"2026-07-06T00:00:00.000Z","checksum":"f3340073270b070aea04f6d0921f99fbdbb7ebd31c17566b786c6d0e428b89d2","checksumPrefix":"f3340073270b","anchorCount":8,"lineCount":99,"rawUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-place.md","htmlUrl":"/docs?doc=linked-art%2Fapi%2Fschema-place.md","apiUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-place.md"}