← Documentation home

Canonical Markdown source · Jul 6, 2026

Linked Art API Schema: Place

linked-art/api/schema-place.md · 99 lines · SHA-256 f3340073270b

Last refreshed: 2026-07-06

Source: Place schema docs and place.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 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.

Related upstream references:

Top-Level Constraints

  • Schema type: object.
  • CRM class: `crm:E53_Place`.
  • 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 `Place`.
  • `_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 place.
  • `referred_to_by`: array of embedded statements or textual references about the place.
  • `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 place.
  • `attributed_by`: array of `AttributeAssignment` structures relating another entity to this place.
  • `defined_by`: string containing a WKT or GeoJSON definition of the place extent.
  • `part_of`: array of `Place` references for larger places that contain this place.

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.

Spatial Definition And Hierarchy

The schema keeps spatial extent and containment explicit:

  • `defined_by`: WKT or GeoJSON geometry string for the spatial extent.
  • `part_of`: larger `Place` references in which this place falls.

`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.

Incoming Relationship Context

Places commonly appear from other endpoint and activity shapes:

  • `took_place_at`: events and activities occur at places.
  • `current_location`: physical objects can currently be at a place.
  • `current_permanent_location`: physical objects can have a normal long-term place.
  • `moved_from` and `moved_to`: movement activities use places as origin and destination.
  • `residence`: people and groups can have current or former residence places.
  • `encountered_by`: object encounters can carry find-spot place evidence through activity location.

These incoming relationships should remain structured references, not flattened display strings.

Meta Museum Notes

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 -> Place` references stay distinct.

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.

Test Ideas

  • Validate representative `Place` records against `place.json`.
  • Assert `@context`, `id`, `type`, and `_label` are present.
  • Assert unknown top-level properties fail schema validation.
  • Preserve `defined_by` as WKT or GeoJSON geometry text.
  • Preserve `part_of` as larger `Place` references.
  • Preserve place references from `took_place_at`, `current_location`, `current_permanent_location`, `moved_from`, `moved_to`, and `residence` without flattening them.