PLATO — Place Attestation Ontology
type: Ontology
contributor: Pelagios Network Place Working Group
created: 2026-02-16
creator: Stephen Gadd
  type: Person
  account: stephengadd
description: An ontology for representing historical place knowledge as attestations: bundles of evidence linking Things (places, routes, networks, and other entities related to place) to Names, Geometries, Timespans, Types, and Authorities with full provenance. Developed by the Pelagios Network's Place Working Group, led by the Institute for Spatial History Innovation (ISHI), University of Pittsburgh. PLATO formalises the WHG v4 data model, in which the Attestation is the fundamental unit of contributed knowledge. It unifies and supersedes the Linked Places Format (LPF) and Linked Traces.
license: https://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: plato
preferred namespace uri: https://w3id.org/plato#
version info: 0.1.0-draft

Attestation
type: Class
comment: A bundle of evidence asserting that a particular Thing had a particular Name, Geometry, Type, or combination thereof, during a particular Timespan, according to a particular Authority. The Attestation node carries only metadata; its semantic content is defined entirely by its outgoing relationships. IMPORTANT: Attestations are document nodes in the graph, not edges. They are instances of plato:Attestation (a class), not instances of owl:ObjectProperty. This design enables meta-attestations and full provenance tracking.
subclass of: Entity

Authority
type: Class
comment: Abstract superclass for all reference entities that provide provenance or semantic grounding for attestations. Subtypes include Source, Dataset, Period, RelationType, and CertaintyLevel.
disjoint union of: Certainty Level
disjoint union of: Dataset
disjoint union of: Period
disjoint union of: Relation Type
disjoint union of: Source

Candidate
type: Class
comment: An algorithm-generated match candidate between two Things, produced by the PLACE clustering engine. Candidates carry a similarity score, algorithm version, and review status. They are explicitly not IdentityRelations — they become IdentityRelations only when confirmed by a human reviewer (linked back via plato:promoted_from).

Certainty Level
type: Class
comment: A defined level of certainty for use in attestations, allowing projects to standardise their confidence vocabulary.
subclass of: Authority

Contributor
type: Class
comment: A person, team, or automated process that creates attestations. Aligned with both foaf:Agent and prov:Agent for provenance chain-of-custody tracking. Contributors should be identified using persistent identifiers where possible. For persons, ORCID (https://orcid.org/) is strongly recommended and may be required by specific implementations. ORCID identifiers should use the full URI format (https://orcid.org/0000-0000-0000-0000) rather than just the numeric portion, as ORCID is particular about proper URI formatting for linked data interoperability. For organizations, ROR (https://ror.org/) or ISNI identifiers are recommended. Proper identification ensures accurate attribution, enables citation, and supports research assessment.
subclass of: Agent

Dataset
type: Class
comment: A collection-level authority: a published gazetteer, a contributed dataset, or an external authority corpus (GeoNames, Wikidata, TGN, OSM, Pleiades). Carries metadata such as title, version, publisher, licence, and URI.
subclass of: Authority

Gazetteer
type: Class
comment: A mutable, versioned workspace of Things and their associated Attestations, owned by a contributor or team. Replaces the WHG v3 concepts of Dataset, Dataset Collection, and Place Collection. A Gazetteer can be incrementally edited, enriched, and corrected without re-ingestion.
subclass of: Dataset

Gazetteer Group
type: Class
comment: A thematic or organisational grouping of Gazetteers (e.g. 'EMEW — Gazetteer of Early Modern England and Wales').

Geometry
type: Class
comment: A spatial representation of a Thing's extent or location. Geometries are independent, reusable entities. The same Geometry may be referenced by multiple Attestations across different Things or time periods. Note: GeometryCollection is not supported in some graph database implementations. For heterogeneous geometry sets (e.g., both point and polygon), use multiple Geometry entities linked through separate attestations.
subclass of: Geometry

Identity Relation
type: Class
comment: An assertion that two Things refer to the same real-world entity. Carries its own provenance (who asserted it, on what basis), certainty (how confident the assertion is), and identity semantics (exactMatch, closeMatch, related). Identity relations are distinct from scholarly Thing-to-Thing relations, which describe substantive historical relationships between different entities. They are also distinct from Candidates, which are algorithm-generated candidates not yet confirmed by human review.

Name
type: Class
comment: A toponym or appellation for a Thing. Names are independent, reusable entities. The association between a Name and a Thing is always mediated by an Attestation, which provides temporal scope and provenance.

Organization
type: Class
comment: An organization to which a Contributor is affiliated. This is a lightweight class defined primarily to avoid ambiguity in ontology visualizations. Organizations can be further described using properties from FOAF, schema.org, or other ontologies. Organizations should use persistent identifiers where possible: - ROR (Research Organization Registry): https://ror.org/ - ISNI (International Standard Name Identifier) - Wikidata QIDs

Period
type: Class
comment: A named historical period (e.g. 'Byzantine', 'Early Modern'), optionally linked to PeriodO or defined locally. Includes temporal bounds for period-based querying.
subclass of: Authority

Relation Type
type: Class
comment: A vocabulary entry defining a semantic relationship between Things: 'capital_of', 'successor_to', 'connected_by_trade_route_to', etc. Carries a label, an inverse label, and domain/range constraints. This allows the vocabulary of historical relationships to grow without modifying the core ontology.
subclass of: Authority

Source
type: Class
comment: A citable source of evidence: a manuscript, chronicle, tax record, map, scholarly article, or other document. Sources are the primary provenance anchor for attestations. A Source may reference its parent Dataset via plato:partOf.
subclass of: Authority

Thing
type: Class
comment: A stable, persistent identity representing a place or other historical entity related to place (routes, networks, administrative units, etc.). Things are not defined by any single attestation; they are the point of convergence for multiple attestations from different sources, periods, and contributors.
subclass of: Entity

Timespan
type: Class
comment: A temporal interval with start and end bounds. Timespans are independent, reusable entities that may be shared across multiple Attestations. Precision and uncertainty are expressed through the start and end bound properties. Aligned with W3C Time Ontology and compatible with PeriodO period definitions.
subclass of: ProperInterval

Type
type: Class
comment: A classification or category for a Thing, typically drawn from a controlled vocabulary such as the Getty Art & Architecture Thesaurus (AAT). Types are independent, reusable entities.
subclass of: Concept

algorithm version
type: DatatypeProperty
domain: Candidate
range: string

attests about
type: ObjectProperty
type: FunctionalProperty
comment: Links an Attestation to the Thing it is about. Every attestation must have exactly one subject Thing. This is the primary entity being described by the bundled name, geometry, timespan, and type assertions. Functional property: each attestation has exactly one subject Thing.
domain: Attestation
range: Thing

attests geometry
type: ObjectProperty
comment: Links an Attestation to a Geometry it asserts for the Thing. An attestation may assert multiple geometries (e.g., point and polygon) or no geometry at all (e.g., name-only attestations from textual sources).
domain: Attestation
range: Geometry

attests name
type: ObjectProperty
comment: Links an Attestation to a Name it asserts for the Thing. An attestation may assert multiple names (e.g., primary name and variants) or no name at all (e.g., geometry-only attestations).
domain: Attestation
range: Name

attests timespan
type: ObjectProperty
comment: Links an Attestation to the Timespan during which the attested properties (name, geometry, type) were applicable. Distinct from the attestation's creation date: this is the historical timespan being asserted, not when the assertion was made.
domain: Attestation
range: Timespan

attests type
type: ObjectProperty
comment: Links an Attestation to a Type classification it assigns to the Thing. An attestation may assert multiple types or no type at all.
domain: Attestation
range: Type

title
type: DatatypeProperty
domain: Authority
range: string

authority URI
type: DatatypeProperty
domain: Authority
range: anyURI

version
type: DatatypeProperty
comment: Version identifier for tracking upstream authority updates.
domain: Authority
range: string

bounding box
type: DatatypeProperty
comment: Bounding box as array: [min_lon, min_lat, max_lon, max_lat]. Enables fast spatial filtering. Format: comma-separated string or JSON array depending on serialization context.
domain: Geometry
range: string

bibliographic string
type: DatatypeProperty
comment: A formatted citation string for this source.
domain: Source
range: string

candidate thing
type: ObjectProperty
domain: Candidate
range: Thing

source thing
type: ObjectProperty
domain: Candidate
range: Thing

status
type: DatatypeProperty
comment: Review status: 'suggested', 'confirmed', 'rejected'.
domain: Candidate
range: string

country codes
type: DatatypeProperty
comment: ISO 3166-1 alpha-2 country codes associated with this Thing.
domain: Thing
range: string

certainty
type: DatatypeProperty
comment: Overall certainty of this attestation, from 0.0 (completely uncertain) to 1.0 (completely certain). This represents the contributor's confidence in the bundle as a whole. Individual facets (Name, Geometry, Timespan) can have their own uncertainty values that may differ from the attestation's overall certainty.
domain: Attestation
range: float

certainty note
type: DatatypeProperty
comment: Free-text explanation of the certainty assessment. Should describe the basis for the certainty value: quality of evidence, degree of scholarly consensus, reliability of source, etc.
domain: Attestation
range: string

connection metadata
type: DatatypeProperty
comment: Structured metadata for network-type attestations. Can encode information about trade goods, flow direction, capacity, frequency, or other properties of network connections. Format is implementation- specific (JSON recommended) but should be documented in the gazetteer's metadata.
domain: Attestation
range: string

contains attestation
type: ObjectProperty
comment: Links a Gazetteer to an Attestation contributed within it.
domain: Gazetteer
range: Attestation

contains thing
type: ObjectProperty
comment: Links a Gazetteer to a Thing it contains.
domain: Gazetteer
range: Thing

contributed by
type: ObjectProperty
comment: The agent (person, team, or process) who created this attestation. Semantically equivalent to PROV-O's prov:wasAttributedTo for provenance tracking. We don't use formal rdfs:subPropertyOf to avoid importing PROV-O's domain/range constraints. Distinct from sourced_by, which indicates the historical source being cited.
domain: Attestation
range: Contributor

affiliation
type: ObjectProperty
comment: Organizational affiliation of the contributor. Links to a plato:Organization entity, which can be further described using FOAF, schema.org, or other ontology properties. Organizations should ideally use persistent identifiers (ROR, ISNI, etc.). For simple cases, use contributor_affiliation_string for free-text affiliation names.
domain: Contributor
range: Organization

affiliation (string)
type: DatatypeProperty
comment: Free-text organizational affiliation when a structured Organization entity is not available. Example: "University of Pittsburgh, Institute for Spatial History Innovation"
domain: Contributor
range: string

email
type: DatatypeProperty
comment: Contact email address for the contributor. Useful for collaboration and correspondence about contributed data.
domain: Contributor
range: string

contributor identifier
type: DatatypeProperty
comment: Additional persistent identifier for the contributor. Can be used for identifiers other than ORCID, such as: - ISNI (International Standard Name Identifier) - VIAF (Virtual International Authority File) - Wikidata QID (for persons or organizations) - Internal system identifiers When using this property, specify the identifier type in the value (e.g., "ISNI:0000000121032683" or "VIAF:12345678").
domain: Contributor
range: string

contributor name
type: DatatypeProperty
comment: The name of the contributor (person, team, or automated process). For persons, should be the full name as preferred by the contributor. For teams, the team name. For automated processes, a descriptive name.
domain: Contributor
range: string

ORCID
type: DatatypeProperty
comment: ORCID identifier for person contributors. Can be provided in two formats: 1. Compact format: 0000-0000-0000-0000 (sixteen digits in groups of four) 2. URI format: https://orcid.org/0000-0000-0000-0000 (preferred) The URI format (https://orcid.org/...) is preferred and required for proper linked data representation. ORCID is particular about always including the https:// protocol and domain prefix. While optional in the general ontology, specific implementations (e.g., WHG) may require ORCID for person contributors to ensure proper attribution and citation. ORCID provides persistent identification for researchers, enabling proper credit and reducing name ambiguity.
domain: Contributor
range: string

contributor role
type: DatatypeProperty
comment: Role of the contributor in the project or gazetteer. Examples: 'principal_investigator', 'data_curator', 'student_researcher', 'automated_process', 'external_contributor'. Helps understand the context and authority of contributions.
domain: Contributor
range: string

contributor URL
type: DatatypeProperty
comment: Website or profile URL for the contributor (personal website, institutional page, project page, GitHub profile, etc.). Provides additional context about the contributor's work and identity.
domain: Contributor
range: anyURI

created
type: DatatypeProperty
comment: Timestamp when this attestation was created. This is the contribution date, not the historical timespan being attested (use attests_timespan for that). Semantically equivalent to PROV-O's prov:generatedAtTime. We don't use formal rdfs:subPropertyOf to avoid importing PROV-O constraints.
domain: Attestation
range: dateTime

EDTF string
type: DatatypeProperty
comment: Extended Date/Time Format (EDTF) representation of this timespan. Provides standardized string encoding for interchange with systems using EDTF. Optional but recommended for interoperability with library and archival systems. Example: '1453-05-29/1453-05-29' or '1450~/1453~' for approximate dates.
domain: Timespan
range: string

end earliest
type: DatatypeProperty
comment: The earliest possible end date for this timespan. Together with end_latest, defines the uncertainty range for when the interval ended. May be null for unknown or deliberately open-end intervals.
domain: Timespan
range: string

end latest
type: DatatypeProperty
comment: The latest possible end date for this timespan. For certain dates, this equals end_earliest. For uncertain dates, defines the end of the uncertainty range for when the interval ended.
domain: Timespan
range: string

end precision
type: DatatypeProperty
comment: Temporal granularity of the end bound. Values: 'year', 'decade', 'century', 'era', 'geological_period'.
domain: Timespan
range: string

fuzziness
type: DatatypeProperty
comment: Ontological fuzziness: a measure of how inherently vague or indeterminate the facet's referent is, from 0.0 (crisp, sharply bounded) to 1.0 (maximally vague). Distinct from uncertainty: fuzziness is a property of the thing itself, not of our knowledge of it. A regional boundary that was never precisely defined has high fuzziness regardless of how much evidence we have.
range: float

fuzziness note
type: DatatypeProperty
comment: Free-text explanation of the nature of ontological fuzziness (e.g. 'regional boundary was never formally demarcated', 'name used inconsistently across contemporary sources', 'transition was gradual rather than a discrete event').
range: string

owner
type: ObjectProperty
domain: Gazetteer
range: Contributor

status
type: DatatypeProperty
comment: Publication status: 'draft' or 'published'.
domain: Gazetteer
range: string

generated at
type: DatatypeProperty
domain: Candidate
range: dateTime

geometry GeoJSON
type: DatatypeProperty
comment: GeoJSON representation of the geometry. Used for web mapping applications and LPF export. Should be a valid GeoJSON geometry object (not a Feature or FeatureCollection).
domain: Geometry
range: string

geometry WKT
type: ObjectProperty
type: DatatypeProperty
comment: Well-Known Text representation of the geometry, following OGC/ISO standards. Used for GeoSPARQL queries and RDF serialization. Supports Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon.
domain: Geometry
range: wktLiteral
sub property of: asWKT

meta-attestation type
type: ObjectProperty
comment: The nature of a meta-attestation's relationship to its target attestation. Should reference a controlled vocabulary concept defining the relationship type. Standard values include: - 'contradicts': asserts the target attestation is incorrect - 'supports': provides additional evidence for the target attestation - 'supersedes': replaces the target attestation with newer information - 'refines': provides more precise information than the target - 'challenges': questions the target attestation's validity - 'bundles': groups the target with other related attestations Using SKOS concepts rather than strings enables vocabulary management and multilingual labels.
domain: Attestation
range: Concept

has relation type
type: ObjectProperty
comment: Specifies the semantic type of a Thing-to-Thing relationship attested by an Attestation. References a RelationType authority which defines the relationship's label, inverse, and domain/range constraints. Examples: 'capital_of', 'successor_to', 'connected_by_trade_route_to'. The extensible vocabulary pattern allows new relationship types to be added as Authority records without modifying the ontology.
domain: Attestation
range: Relation Type

has timespan
type: ObjectProperty
comment: Links a Period authority to its temporal extent, represented as a Timespan node. Used for locally-defined periods or when more detailed temporal modeling is needed than provided by external period definitions.
domain: Period
range: Timespan

convex hull
type: ObjectProperty
type: DatatypeProperty
comment: Convex hull of the geometry as WKT Polygon. Used for quick spatial filtering before more expensive exact geometry operations. Optional but recommended for complex geometries.
domain: Geometry
range: wktLiteral

asserted at
type: DatatypeProperty
domain: Identity Relation
range: dateTime

asserted by
type: ObjectProperty
comment: The agent who made or confirmed this identity assertion.
domain: Identity Relation
range: Contributor

identity basis
type: DatatypeProperty
comment: Free-text explanation of the evidence or reasoning supporting this identity assertion (e.g. 'coordinates within 500m and name forms are cognate', 'identified by contributor during reconciliation review', 'confirmed via TGN cross-reference').
domain: Identity Relation
range: string

identity certainty
type: DatatypeProperty
comment: Confidence in the identity assertion, from 0.0 to 1.0. This is the epistemic certainty of the asserter, distinct from identity_type which describes the semantic nature of the relationship. A closeMatch can have high certainty ('I'm confident these are close but not exact') and an exactMatch can have low certainty ('I think they're identical but I'm not sure').
domain: Identity Relation
range: float

identity object
type: ObjectProperty
comment: The second Thing in an identity assertion.
domain: Identity Relation
range: Thing

identity sourced by
type: ObjectProperty
comment: The Authority (Source or Dataset) that provides evidence for this identity assertion, if any.
domain: Identity Relation
range: Authority

identity subject
type: ObjectProperty
comment: The first Thing in an identity assertion.
domain: Identity Relation
range: Thing

identity type
type: DatatypeProperty
comment: The semantic strength of the identity assertion: 'exactMatch' — the two Things are unambiguously the same entity. 'closeMatch' — the two Things are believed to be the same entity but with some residual ambiguity (e.g. differing granularity, overlapping but not identical scope). 'related' — the two Things are closely associated but may not be strictly identical (e.g. a settlement and its administrative district, or successive phases of a site that might or might not constitute continuity).
domain: Identity Relation
range: string

inverse label
type: DatatypeProperty
comment: Inverse label (e.g. 'has_capital').
domain: Relation Type
range: string

IPA
type: DatatypeProperty
comment: International Phonetic Alphabet representation of the name's pronunciation. Enables phonetic search and comparison across scripts and languages.
domain: Name
range: string

language
type: DatatypeProperty
comment: BCP 47 language tag for this name (e.g., 'ar' for Arabic, 'zh-Hans' for Simplified Chinese). Recommended: use ISO 639-3 three-letter codes within BCP 47 for better granularity (e.g., 'ara', 'cmn').
domain: Name
range: string

licence
type: DatatypeProperty
domain: Dataset
range: anyURI

member of group
type: ObjectProperty
comment: Links a Gazetteer to a GazetteerGroup.
domain: Gazetteer
range: Gazetteer Group

meta-attestation about
type: ObjectProperty
comment: Links a meta-Attestation to the Attestation it comments on or relates to. Used with plato:has_meta_type to specify the nature of the relationship. Example: A meta-attestation might assert that one source's geometry attestation contradicts another source's geometry attestation for the same Thing.
domain: Attestation
range: Attestation

modified
type: DatatypeProperty
comment: Timestamp when this attestation was last modified. Enables tracking of editorial changes and versioning.
domain: Attestation
range: dateTime

name embedding
type: DatatypeProperty
comment: Vector embedding for phonetic similarity search. Typically a 256-dimensional vector generated from the name's phonetic form, enabling fuzzy matching and transliteration-variant detection. Format is implementation-specific but should be documented in gazetteer metadata. WHG v4 uses Symphonym embeddings.
domain: Name
range: string

name type
type: DatatypeProperty
comment: Type of name: 'toponym' (place name), 'chrononym' (period/era name), 'ethnonym' (people/ethnic group), 'demonym' (inhabitants), 'odonym' (street/road name), 'hydronym' (water body name). Multiple types possible (e.g., a name that functions as both toponym and ethnonym).
domain: Name
range: string

namespace
type: DatatypeProperty
comment: The authority namespace for this Thing (e.g. 'geonames', 'wikidata', 'tgn', 'osm', 'pleiades', 'whg'). Authority-sourced Things carry their origin namespace; contributed Things that cannot be linked to any authority receive the 'whg' namespace.
domain: Thing
range: string

notes
type: DatatypeProperty
comment: Free-text notes providing additional context about this attestation. Can include transcriptions, translations, editorial comments, or other information that doesn't fit structured fields.
domain: Attestation
range: string

open end
type: DatatypeProperty
comment: Boolean flag indicating that the end of this interval is deliberately unspecified (not merely unknown). True for ongoing periods like 'Modern era (1800-present)' or situations where the end does not exist. Aligns with PeriodO's OpenEndInterval.
domain: Timespan
range: boolean

open start
type: DatatypeProperty
comment: Boolean flag indicating that the start of this interval is deliberately unspecified (not merely unknown). True for intervals like 'everything before 1453' or 'prehistory until...'. Distinct from null start_earliest, which indicates unknown start. Aligns with PeriodO's OpenBeginningInterval.
domain: Timespan
range: boolean

part of
type: ObjectProperty
comment: Links a Source to its parent Dataset.
domain: Source
range: Dataset

period label
type: DatatypeProperty
comment: Human-readable label for this period (e.g., 'Byzantine period', 'Han Dynasty', 'Early Bronze Age'). Distinct from authority_title, which may be more formal.
domain: Period
range: string

PeriodO URI
type: DatatypeProperty
comment: Link to a PeriodO period definition for this Period authority. When present, indicates this Period aligns with a standardized PeriodO definition. The PeriodO record provides authoritative temporal bounds, spatial extent, and cultural context. Example: 'https://n2t.net/ark:/99152/p06v8w4rb38'
domain: Period
range: anyURI

PeriodO URI
type: DatatypeProperty
comment: Link to a PeriodO period definition (https://perio.do/). When a timespan corresponds to a standardized period in PeriodO, this property enables alignment and allows PLATO to inherit PeriodO's temporal bounds, spatial coverage, and cultural context. Example: 'https://n2t.net/ark:/99152/p06v8w4rb38'
domain: Timespan
range: anyURI

precision in kilometers
type: DatatypeProperty
comment: Uncertainty radius in kilometers. For point geometries, indicates how far the true location might be from the stated coordinates. For polygons, indicates boundary uncertainty. Can be multiple values for heterogeneous geometries.
domain: Geometry
range: float

precision value
type: DatatypeProperty
comment: Numeric precision indicator in years. For example, a decade-level precision would have value 10, century-level would be 100. Enables computational comparison of precision across timespans.
domain: Timespan
range: integer

promoted from
type: ObjectProperty
comment: Links an IdentityRelation to the Candidate from which it was promoted, preserving the algorithmic provenance. Optional: identity relations can also be created directly by human assertion without a prior Candidate.
domain: Identity Relation
range: Candidate

publisher
type: DatatypeProperty
domain: Dataset
range: string

relates to
type: ObjectProperty
comment: Links an Attestation to a second Thing, asserting a relationship between the Attestation's subject Thing (via attests_about) and this target Thing. The semantic nature of the relationship is specified by plato:has_relation_type, which references a RelationType authority. Example: An attestation about Constantinople that relates_to the Byzantine Empire with relation_type "capital_of" asserts that "Constantinople was the capital of the Byzantine Empire".
domain: Attestation
range: Thing

domain constraint
type: DatatypeProperty
comment: Valid subject type for this relation.
domain: Relation Type
range: string

relation label
type: DatatypeProperty
comment: Forward label for the relationship (e.g. 'capital_of').
domain: Relation Type
range: string

range constraint
type: DatatypeProperty
comment: Valid object type for this relation.
domain: Relation Type
range: string

bearing
type: DatatypeProperty
comment: Compass bearing from the anchor, in degrees (0–360). Primarily used for relative geometries: '90' means east of the anchor. May carry its own uncertainty or fuzziness.
range: float

distance
type: DatatypeProperty
comment: Distance from the anchor, in metres. Primarily used for relative geometries. May carry its own uncertainty or fuzziness.
range: float

relative qualifier
type: ObjectProperty
comment: A controlled-vocabulary term describing the relative relationship when bearing and distance are not applicable or not sufficient. Should point to a concept in a SKOS concept scheme (e.g. plato:Near, plato:Within, plato:Beyond, plato:UpstreamOf, plato:BetweenXAndY, plato:DuringReignOf, plato:VariantOf). Using URIs rather than free text enables machine reconciliation across gazetteers that describe relativity differently.
domain: Class
  union of: Geometry
  union of: Name
  union of: Timespan
  union of: Type
range: Concept

relative to
type: ObjectProperty
comment: Links a facet node to its anchor entity, indicating that this facet is defined relationally rather than absolutely. The anchor is typically a Thing, Period, or another facet (Name, Timespan, etc.). Common patterns: - Spatial relativity: "20km east of Nanjing" (anchor is a Thing) - Temporal relativity: "during the reign of Justinian" (anchor is a Period) - Name relativity: "also known as Rome" (anchor is another Name)
domain: Class
  union of: Geometry
  union of: Name
  union of: Timespan
  union of: Type
range: Class
  union of: Name
  union of: Period
  union of: Thing
  union of: Timespan
  union of: Type

representative point
type: ObjectProperty
type: DatatypeProperty
comment: A single representative point (centroid, label point, or best estimate) for spatial indexing and distance queries. Stored as WKT Point. Required for all geometries to enable spatial search.
domain: Geometry
range: wktLiteral

romanized
type: DatatypeProperty
comment: Romanized (Latin-script) form of the name for searchability and display in contexts requiring ASCII. Should specify transliteration system used via plato:transliteration_system.
domain: Name
range: string

script
type: DatatypeProperty
comment: ISO 15924 script code (e.g., 'Arab' for Arabic script, 'Latn' for Latin script, 'Hant' for Traditional Han characters). Important for names that may appear in multiple scripts.
domain: Name
range: string

sequence
type: DatatypeProperty
comment: Ordering index for attestations in routes or itineraries. Defines the position of this attestation in an ordered sequence. Used when the Thing being attested (via attests_about) is a Route or Itinerary. Lower numbers come first in the sequence.
domain: Attestation
range: integer

similarity score
type: DatatypeProperty
domain: Candidate
range: float

source CRS
type: DatatypeProperty
comment: Original coordinate reference system. Typically 'EPSG:4326' (WGS84), but may reference historical or custom CRS identifiers for historical maps. Enables proper interpretation of coordinate values.
domain: Geometry
range: string

source label
type: DatatypeProperty
comment: The original label as given in the contributing source, before vocabulary mapping.
domain: Type
range: string

sourced by
type: ObjectProperty
comment: Links an Attestation to the Authority (typically a Source or Dataset) that grounds it. This provides the provenance chain for the attestation. Semantically equivalent to PROV-O's prov:wasDerivedFrom, indicating the authority is the origin of the attested knowledge. We don't use formal rdfs:subPropertyOf to avoid importing PROV-O's domain/range constraints which conflict with PLATO's class structure.
domain: Attestation
range: Authority

spatial coverage
type: DatatypeProperty
comment: Geographic or cultural region to which this period applies. Free text or URI to a place/region. Useful because periods like 'Medieval' have different temporal bounds in different regions.
domain: Period
range: string

spatial precision
type: DatatypeProperty
comment: Precision qualifier for this geometry: 'exact' (surveyed or GPS), 'approximate' (estimated from maps or descriptions), 'uncertain' (multiple possible locations), 'historical_approximate' (based on historical sources with inherent imprecision). Multiple values possible for heterogeneous geometries.
domain: Geometry
range: string

start earliest
type: DatatypeProperty
comment: The earliest possible start date for this timespan. Together with start_latest, defines the uncertainty range for when the interval began. Use ISO 8601 format (e.g., '1453-05-29') or integer year for year-level precision. May be null for unknown or deliberately open-beginning intervals.
domain: Timespan
range: string

start latest
type: DatatypeProperty
comment: The latest possible start date for this timespan. For certain dates, this equals start_earliest. For uncertain dates, defines the end of the uncertainty range for when the interval began.
domain: Timespan
range: string

start precision
type: DatatypeProperty
comment: Temporal granularity of the start bound. Values: 'year', 'decade', 'century', 'era', 'geological_period'. This describes the resolution of the date specification, distinct from uncertainty (which describes the confidence in that specification).
domain: Timespan
range: string

identifier
type: DatatypeProperty
comment: The stable, persistent identifier for this Thing.
domain: Thing
range: string

timespan label
type: DatatypeProperty
comment: Human-readable label for this timespan (e.g., 'Byzantine period', 'Early Bronze Age', 'Ming Dynasty'). Particularly useful for named periods referenced across multiple attestations.
domain: Timespan
range: string

toponym
type: DatatypeProperty
type: FunctionalProperty
comment: The name string itself in its original script. This is the primary property of a Name entity. Required for all Name instances.
domain: Name
range: string

transliteration system
type: DatatypeProperty
comment: The transliteration/romanization system used (e.g., 'Pinyin' for Chinese, 'BGN/PCGN' for Arabic, 'ISO 259' for Hebrew, 'Hepburn' for Japanese). Enables proper interpretation and comparison of romanized forms.
domain: Name
range: string

type identifier
type: DatatypeProperty
comment: URI or identifier in a controlled vocabulary (e.g. AAT).
domain: Type
range: anyURI

type label
type: DatatypeProperty
comment: Human-readable label for this type.
domain: Type
range: string

uncertainty
type: DatatypeProperty
comment: Epistemic uncertainty: a measure of how precisely the facet value is known, from 0.0 (completely unknown) to 1.0 (no uncertainty). Distinct from fuzziness: uncertainty reflects the limits of evidence, not the inherent vagueness of the referent.
range: float

uncertainty note
type: DatatypeProperty
comment: Free-text explanation of the nature and source of epistemic uncertainty (e.g. 'manuscript partially illegible', 'coordinates extrapolated from itinerary distances').
range: string