Linked data¶
PLATO is an OWL ontology. Everything in this guide, from the spreadsheets to the JSON formats, is a way of producing RDF in it.
Addresses¶
What |
Permanent address |
|---|---|
The ontology |
https://w3id.org/plato (namespace |
Ontology reference documentation |
|
JSON Schemas |
|
JSON-LD context |
|
Spreadsheet table definitions (CSVW) |
The ontology address answers with HTML in a browser and with RDF to a client
that asks for it. The files themselves are published at
https://pelagios.org/place-attestation-ontology/ontology.ttl, and as
.jsonld, .owl (RDF/XML) and .nt (N-Triples). All four are the same
graph: the Turtle is the source file, and the others are generated from it
and checked against it on every release.
Spreadsheets to RDF¶
The spreadsheet tables are described in the W3C standard CSV on the Web, so any CSVW processor converts them. With the reference implementation, rdf-tabular:
# with csv-metadata.json in the same folder as the eight CSV files
rdf serialize --validate --input-format tabular --minimal --output-format turtle csv-metadata.json
Use serialize --validate to check a set of tables: rdf-tabular’s plain
validate command reports broken references as warnings and still says the
input is valid.
Identifiers in the output are relative to the files (places.csv#bristol,
names.csv#row-3); a platform accepting the tables mints permanent ones.
Every node is typed, and every attestation has exactly one subject, source,
date and citation, so the output is complete PLATO without further
processing.
Without installing anything¶
PLATO tools converts between PLATO JSON, RDF (it reads N-Triples,
N-Quads and Turtle, and writes N-Triples), the spreadsheet tables and Linked
Places Format, in the browser, and checks RDF against the terms the ontology
declares. The same conversions run from the command line for batch
work, with Node.js 24 or later: for example,
npx github:pelagios/plato-tools convert --to ntriples data.jsonl. Large RDF
files are handled through a working database on disk, as in the browser, so
memory stays roughly constant at any size.
Citing a place in a gazetteer that changes¶
A place’s evidence grows and is corrected while its identity stays the same, so a citation of it has to say which state was meant. PLATO gives three pieces for that.
A version. A gazetteer carries a version (
versionin JSON,dcat:versionin RDF). Cite a place as its address plus the gazetteer version, as PeriodO is cited. A frozen snapshot published under its own address points back withisVersionOfandpreviousVersion.Nothing is deleted once published. When a gazetteer’s
statusispublished, its attestations are append-only. A correction is a new attestation that supersedes or contradicts the old one, and a withdrawal is one that retracts it (plato:Retracts). Every attestation carries itscreatedtime, so the state as of any date can be worked out from the data itself.A state on request. A platform can offer that state directly through datetime negotiation on the place’s address (RFC 7089, “Memento”): ask for the address as it stood at a moment, and get the attestations that held then. PLATO recommends this to platforms but does not require it.
JSON to RDF¶
Add the JSON-LD context to a JSON document, as described under JSON formats, and expand or convert it with any JSON-LD 1.1 processor.