1.1.3.1. Introduction¶
This page introduces the idea on which the WHG v4 data model rests: that what we know about a place is a set of attestations, each a claim made by a particular source, rather than a record with one value per field. The model is PLATO, the Place Attestation Ontology, and the terms on this page are PLATO’s, as of PLATO 0.7.1 (doi:10.5281/zenodo.23060220; all versions: doi:10.5281/zenodo.21688313). The Overview lists the entities and their properties in full.
1.1.3.1.1. Many names, many shapes, many dates, many sources¶
Take the city on the Bosphorus. Herodotus calls it Byzantion; Byzantine writers call it Konstantinoupolis; sixteenth-century Ottoman tax registers call it İstanbul. Its extent in each period differs, and so do the dates at which each source can speak for it. Sources disagree, some are more reliable than others, and new evidence keeps arriving.
A record with a single name, a single geometry and a single pair of dates cannot hold this
without choosing one answer and discarding the rest, along with who said what and when. Adding
more fields (name2, name_date_from, name_source) only moves the problem. And the pieces are
shared in awkward ways: the same name belongs to many places (“Alexandria”), and one place has many
names.
1.1.3.1.2. SpatialEntity: where attestations converge¶
In PLATO, the thing a gazetteer entry is about is a SpatialEntity: an entity whose identity is bound up with space. It has a stable identifier, and very little else of its own. It is the point on which attestations from different sources, periods and contributors converge.
A SpatialEntity carries a display
label, and may carryccodes(the modern countries it lies in) and anentityIdentifierwith itsnamespace(a project’s or an authority’s own record id). These are finding aids, not evidence, and need no source.Its names, locations, dates, types and relations to other entities are all attested: each comes from an Attestation, with its own source, date and certainty.
What kind of thing it is (a settlement, a region, a route, a river) is also attested, by Type attestations. PLATO defines no Place class and gives “place” no prescribed meaning: many SpatialEntities are places in the everyday sense, and some are not.
A SpatialEntity need not have an attested geometry at all: lost, imagined and unlocated places are admissible.
1.1.3.1.3. The Attestation: a bundle of claims with its evidence¶
An Attestation says: according to this source, this SpatialEntity had this name (or location, type, relation…) during this time, with this degree of certainty. It bundles together:
The Attestation bundles |
PLATO property |
JSON key |
|---|---|---|
The SpatialEntity it is about (exactly one) |
|
|
Names |
|
|
Geometries |
|
|
Timespans (when the claim applies) |
|
|
Types (what kind of entity) |
|
|
Other attributes: populations, valuations, market days |
|
|
A relation to another entity (at most one) |
|
|
Identity relations with other SpatialEntities |
|
|
and carries what is true of the claim as a whole:
About the claim |
PLATO property |
JSON key |
|---|---|---|
The source(s) it rests on |
|
|
Confidence, as a number or a word |
|
|
Whether the source denies rather than asserts it |
|
|
How firmly the source itself asserts it |
|
|
Whether software worked it out rather than a source giving it |
|
|
Who made it, and when |
|
|
Position in a route, itinerary or network |
|
|
The Attestation itself holds only this metadata. Its content lies in what it links together, which is why the picture is a star:
graph TD
SE[SpatialEntity<br/>Constantinople]
N[Name<br/>Βυζάντιον]
TS[Timespan<br/>440–420 BC]
TY[Type<br/>inhabited place, AAT]
S[Source<br/>Herodotus, Histories IV.144]
A[Attestation<br/>certainty 1.0]
A -->|attests_about| SE
A -->|attests_name| N
A -->|attests_timespan| TS
A -->|attests_type| TY
A -->|sourced_by| S
style A fill:#75ca55,stroke:#333,stroke-width:3px,rx:10,ry:10
style SE fill:#e489b3,stroke:#333,stroke-width:2px,rx:10,ry:10
style N fill:#eaeafd,stroke:#333,stroke-width:2px,rx:10,ry:10
style TS fill:#eaeafd,stroke:#333,stroke-width:2px,rx:10,ry:10
style TY fill:#eaeafd,stroke:#333,stroke-width:2px,rx:10,ry:10
style S fill:#f6e16b,stroke:#333,stroke-width:2px,rx:10,ry:10
The Timespan dates the claim: when, according to the source, the name was in use. Herodotus
witnesses the name only in his own day, so here that is the date of the Histories; it is not the
whole span in which the name was used, which is a conclusion drawn from many attestations. Nor is
it when the attestation was recorded (created). Where the claim and the witness differ (an annal
for 921 in a manuscript of about 925), the Source carries its own date, plato:source_timespan.
1.1.3.1.4. Why attestations rather than fields¶
Disagreement coexists. Two sources giving two locations are two attestations. Neither overwrites the other, and each keeps its source and certainty.
Everything is dated by its evidence. A name is not simply “the name”; it is a name used at a time, according to someone.
Provenance is never lost. Every claim can be traced to a source and a contributor.
Uncertainty is explicit, and of two kinds. Certainty is how sure we are of a claim, which better evidence could change. Fuzziness is vagueness in the thing itself: a frontier zone, “the Midlands”. PLATO records them separately.
Corrections add rather than erase. Once a gazetteer is published, its attestations are never changed or deleted. A correction is a new attestation that supersedes the old one, so any earlier state can be reproduced (see Meta-attestations below).
The pieces are reusable. A Name, a Geometry or a Timespan is a node of its own, which several attestations may share.
1.1.3.1.5. Two attestations in PLATO JSON¶
PLATO has two JSON forms. A place-centric document lists SpatialEntities with their attestations
nested under each; it is the successor to Linked Places Format for contributing a gazetteer. An
attestation-centric document lists attestations, each naming the SpatialEntity it is about;
it is for adding evidence about entities that already exist, including other gazetteers’ entities.
See Formats and PLATO’s guide to its
JSON.
The document below makes two attestations about one SpatialEntity, each with its own name, date and
source. They are the first two attestations of PLATO’s Constantinople example
(place-centric-constantinople.json, lines 20–87), given here in attestation-centric form: each
names the SpatialEntity it is about, and has the @id it has in PLATO’s examples/constantinople.ttl.
The values are PLATO’s own.
{
"$schema": "https://w3id.org/plato/schemas/attestation-centric.schema.json",
"profile": "attestation-centric",
"gazetteer": {
"@id": "https://whgazetteer.org/example/gazetteer/byzantine-cities",
"title": "Byzantine Cities Gazetteer"
},
"attestations": [
{
"@id": "https://whgazetteer.org/example/attestation/byzantion-herodotus",
"about": "https://whgazetteer.org/example/entity/constantinople",
"names": [
{
"toponym": "Βυζάντιον",
"language": "grc",
"script": "Grek",
"romanized": "Byzantion",
"transliterationSystem": "ISO 843",
"nameType": ["toponym"],
"sourceLabel": "Βυζαντίῳ"
}
],
"timespans": [
{
"startEarliest": "-0440",
"endLatest": "-0420",
"startPrecision": "decade",
"endPrecision": "decade"
}
],
"types": [
{ "identifier": "http://vocab.getty.edu/aat/300008347", "label": "inhabited place" }
],
"sources": [
{
"title": "Herodotus, Histories IV.144",
"citation": "Hdt. 4.144.2",
"uri": "https://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.01.0125:book=4:chapter=144"
}
],
"certainty": 1.0,
"certaintyNote": "The source names the city: Megabazus was 'at Byzantion' (ἐν Βυζαντίῳ). It gives no location, so no geometry is attested.",
"notes": "The timespan is when this source witnesses the name Byzantion in use. A source witnesses only its own time, so that is the source's date, not the whole span in which the name was used. The Histories are usually dated about 440 BC; nothing in them can be dated with certainty after 430 BC, and Herodotus is thought to have died about 425 BC. The bounds are set wide enough to cover both.",
"created": "2026-02-15T10:00:00Z"
},
{
"@id": "https://whgazetteer.org/example/attestation/constantinopolis-notitia",
"about": "https://whgazetteer.org/example/entity/constantinople",
"names": [
{
"toponym": "Constantinopolis",
"language": "la",
"script": "Latn",
"nameType": ["toponym"],
"sourceLabel": "urbis Constantinopolitanae"
}
],
"timespans": [
{
"startEarliest": "0425",
"endLatest": "0450",
"startPrecision": "decade",
"endPrecision": "year"
}
],
"types": [
{ "identifier": "http://vocab.getty.edu/aat/300008347", "label": "inhabited place" }
],
"sources": [
{
"title": "Notitia Urbis Constantinopolitanae",
"citation": "Notitia Urbis Constantinopolitanae, praefatio, ed. O. Seeck, Notitia Dignitatum (1876), p. 229",
"uri": "https://www.livius.org/sources/content/notitia-urbis-constantinopolitanae/"
}
],
"certainty": 1.0,
"certaintyNote": "The preface names the city 'urbis Constantinopolitanae'. The source describes the city's fourteen regions but gives no coordinates, so no geometry is attested.",
"notes": "The timespan is when this source witnesses the name Constantinopolis in use. A source witnesses only its own time, so that is the source's date, not the whole span in which the name was used. The Notitia was written under Theodosius II, who died in 450, and whom its preface praises; proposed dates run from about 425 to 447-450.",
"created": "2026-02-15T10:00:00Z"
}
]
}
Points to notice:
Neither attestation carries a geometry: these sources name the city but do not locate it. A location comes from another attestation, with its own source.
The Type names the AAT concept in
identifier. The Type node stands for this dataset’s use of that concept, so it never takes the concept’s IRI as its own@id.Each timespan is when its source witnesses the name in use (the
notessay how it was set). These sources witness only their own time, so it is the source’s date, not the whole span in which the name was used. “The Byzantine period, 330–1453” would be a further attestation, sourced from the scholarly work that says so.A third source that disagrees, or a fourth name, is simply another attestation. Nothing is overwritten.
The same model in RDF is shown in RDF Representation.
1.1.3.1.6. Relations between entities¶
An attestation may also relate its SpatialEntity to another entity: containment (a parish in a
hundred), membership of a route or network, a connection, or a place’s part in the life of a
person or the course of an event. The target is given by relates_to and the kind of relation by
has_relation_type, pointing at a RelationType. Because the relation is an attestation, it has
a source, a date and a certainty like any other claim. An attestation carries at most one relation.
PLATO declares the relation types every gazetteer needs:
Purpose |
PLATO relation types |
|---|---|
Containment |
|
Routes, itineraries and networks |
|
Places in the histories of people, objects and events |
|
Images and records about a place |
|
For an association with a person, object or event, the target is that entity’s own IRI (a Wikidata
item, say), with a relatedLabel to name it. A project may declare its own relation types in a
JSON document’s relationTypes, each narrowing one of PLATO’s with broaderRelation. Routes,
itineraries and networks are described in
Routes, Itineraries, Networks, Groups and Periods.
1.1.3.1.7. Identity between entities¶
That two SpatialEntities, perhaps in different gazetteers, are the same place is also a claim. PLATO
records it as an IdentityRelation (exactMatch, closeMatch, related or unspecified),
bundled in an attestation with attests_identity (JSON identities) so that it has a source,
a contributor and a date. It is one attributed claim among many, never a canonical fact: WHG does
not merge records or mint new identifiers because of it, and someone else may say the opposite (an
attestation with negated: true around one exactMatch). Accepting a set of matches is one
attestation bundling the exactMatch relations made, and exactMatch relations may be chained only
within one such attestation.
Match suggestions made by software, such as those offered for review when reconciling data in
Map your Data, are Candidates (plato:Candidate): not claims at all until a person confirms
them.
1.1.3.1.9. Gazetteers and gazetteer groups¶
A Gazetteer (plato:Gazetteer, a dcat:Dataset) is the container for contributed data: a
versioned workspace of SpatialEntities and attestations, owned by a contributor or team, with a
title, creators, a licence and a version.
A Gazetteer defines its own SpatialEntities (
plato:contains_entity), and may also hold attestations about other gazetteers’ entities, identified by their IRIs, without redefining them: a correction, a link, a curator’s selection. Such an attestation adds evidence; it does not change who defined the entity.Once its status is
published, its attestations are append-only.A WHG place collection is a curatorial act, and so a Gazetteer, not a SpatialEntity: its annotations are attestations by its curator about other gazetteers’ places, shown on those places’ pages only if the curator declares them public.
A gazetteer group (plato:GazetteerGroup) groups Gazetteers, not places; a Gazetteer joins
one with plato:member_of_group. See Gazetteer groups.
1.1.3.1.10. Meta-attestations¶
Because an attestation has an identity of its own, another attestation can be about it. A
meta-attestation points at its target with meta_attestation_about and says how it relates with
has_meta_type (in JSON, meta with targetAttestation and metaType). PLATO’s starter meta types
are plato:Contradicts, plato:Supports, plato:Supersedes, plato:Refines, plato:Challenges,
plato:Bundles, plato:DerivedFrom, plato:Annotates, plato:AlternativeTo and plato:Retracts.
This is how scholarly discussion and correction are recorded without losing anything: a new reading
supersedes an old one, a later study contradicts an earlier claim, and a contributor withdraws their
own claim with plato:Retracts. The state of a published gazetteer at any date is the attestations
created by then, less those superseded or retracted by then.
1.1.3.1.11. Where next¶
Overview: each entity and its properties.
Attestations & Relations: attestations in detail, with worked examples.
Routes, Itineraries, Networks, Groups and Periods: things made of other places.
RDF Representation: the model as Linked Data.
WHG holds this model in PostgreSQL/PostGIS, with Elasticsearch for search. These pages describe the model, not a storage layout.