1.1.3. Data Model

v4.0-beta

        erDiagram
%% Logical entity-relationship diagram of the WHG v4 data model, which is PLATO (https://w3id.org/plato).
%% Relationship labels are PLATO RDF properties. Attribute names are PLATO JSON keys where PLATO JSON has one,
%% otherwise PLATO RDF properties. The id attribute is the node's IRI (JSON @id). This is a model, not a storage layout.

%% The attestation bundle
    ATTESTATION }o--|| SPATIAL_ENTITY : "attests_about"
    ATTESTATION }o--o{ NAME : "attests_name"
    ATTESTATION }o--o{ GEOMETRY : "attests_geometry"
    ATTESTATION }o--o{ TIMESPAN : "attests_timespan"
    ATTESTATION }o--o{ TYPE : "attests_type"
    ATTESTATION }o--o{ PROPERTY_VALUE : "attests_property"

%% Relations, identity and meta-attestations
    ATTESTATION }o--o| SPATIAL_ENTITY : "relates_to"
    ATTESTATION }o--o| RELATION_TYPE : "has_relation_type"
    ATTESTATION }o--o{ IDENTITY_RELATION : "attests_identity"
    IDENTITY_RELATION }o--|| SPATIAL_ENTITY : "identity_subject"
    IDENTITY_RELATION }o--|| SPATIAL_ENTITY : "identity_object"
    ATTESTATION }o--o| ATTESTATION : "meta_attestation_about"

%% Provenance
    ATTESTATION }o--o{ AUTHORITY : "sourced_by"
    ATTESTATION ||--o{ CITATION : "has_citation"
    CITATION }o--|| AUTHORITY : "cites"
    ATTESTATION }o--o| CERTAINTY_LEVEL : "certainty_level"
    ATTESTATION }o--o| CONTRIBUTOR : "contributed_by"

%% The five kinds of Authority
    SOURCE ||--|| AUTHORITY : "subClassOf"
    DATASET ||--|| AUTHORITY : "subClassOf"
    PERIOD ||--|| AUTHORITY : "subClassOf"
    RELATION_TYPE ||--|| AUTHORITY : "subClassOf"
    CERTAINTY_LEVEL ||--|| AUTHORITY : "subClassOf"
    SOURCE }o--o| DATASET : "partOf"
    SOURCE }o--o| TIMESPAN : "source_timespan"
    SOURCE }o--o| SOURCE : "derived_from"
    PERIOD }o--o| TIMESPAN : "has_timespan"
    TIMESPAN }o--o| PERIOD : "relative_to"
    RELATION_TYPE }o--o| RELATION_TYPE : "broader_relation"

%% Gazetteers and gazetteer groups
    GAZETTEER |o--o{ SPATIAL_ENTITY : "contains_entity"
    GAZETTEER |o--o{ ATTESTATION : "contains_attestation"
    GAZETTEER |o--o{ IDENTITY_RELATION : "contains_identity_relation"
    GAZETTEER |o--o{ RELATION_TYPE : "declares_relation_type"
    GAZETTEER }o--o{ GAZETTEER_GROUP : "member_of_group"
    GAZETTEER }o--o| CONTRIBUTOR : "gazetteer_owner"

    SPATIAL_ENTITY {
        iri id "JSON @id"
        string label "display label, not evidence"
        array ccodes "ISO 3166-1 alpha-2, a finding aid"
        string entityIdentifier
        string namespace
    }
    ATTESTATION {
        iri id "JSON @id"
        float certainty "0.0 to 1.0"
        string certaintyNote
        boolean negated
        iri sourceStance
        boolean computed
        int sequence "with MemberOf only"
        iri formStatus
        string notes
        datetime created
        datetime modified
    }
    NAME {
        iri id "JSON @id, optional"
        string toponym "required"
        string language "BCP 47 tag"
        string script "ISO 15924"
        array nameType "toponym, chrononym, ethnonym, ..."
        string romanized
        string transliterationSystem
        string ipa
        string nameEmbedding "WHG uses 128-dimensional Symphonym vectors"
        string sourceLabel
    }
    GEOMETRY {
        iri id "JSON @id, optional"
        json geojson "Point, LineString, Polygon and Multi forms"
        string wkt
        array reprPoint "longitude, latitude"
        array bbox
        string hull "WKT polygon"
        iri role "Extent, FeaturePoint, RepresentativePoint, LabelAnchor, Itinerary"
        array spatialPrecision "exact, approximate, uncertain, historical_approximate"
        array precisionKm
        string sourceCrs
        string sourceLabel
    }
    TIMESPAN {
        iri id "JSON @id, optional"
        string startEarliest "ISO 8601 or signed year"
        string startLatest
        string endEarliest
        string endLatest
        string startPrecision "day, month, year, decade, century, era, geological_period"
        string endPrecision
        int precisionValue "years"
        boolean openStart
        boolean openEnd
        string duration "xsd duration"
        string label
        iri periodoUri
        string edtfString
        string sourceLabel
    }
    TYPE {
        iri id "the dataset's own, never the concept IRI"
        iri identifier "the concept IRI, e.g. AAT or plato TypeRoute"
        iri scheme
        string schemeVersion
        string label "required"
        string sourceLabel
    }
    PROPERTY_VALUE {
        iri property "property IRI in an external vocabulary"
        string value
        iri datatype
        iri unit
        iri valueType
        string label
        string sourceLabel
    }
    IDENTITY_RELATION {
        string identityType "exactMatch, closeMatch, related, unspecified"
        float certainty
        string basis
    }
    CITATION {
        string locator "p. 412, f. 12v"
        iri attributionStatus
        iri citationFunction "a CiTO property"
    }
    AUTHORITY {
        iri id "JSON @id"
        string authority_title "JSON title"
        iri authority_uri "JSON uri"
        string authority_version
        string bibliographic_string "JSON citation"
        iri license "dcterms license, JSON licence"
    }
    DATASET {
        string publisher
    }
    PERIOD {
        string period_label
        iri period_periodo_uri
        string spatial_coverage
    }
    RELATION_TYPE {
        string relation_label
        string inverse_label
        string relation_domain
        string relation_range
    }
    CERTAINTY_LEVEL {
        string authority_title "certain, less certain, uncertain"
    }
    GAZETTEER {
        iri id "JSON @id"
        string title
        string description
        string version
        string status "draft or published"
        iri licence
        array creator
    }
    GAZETTEER_GROUP {
        iri id
    }
    CONTRIBUTOR {
        iri id
        string name
        string orcid
        string role
    }

    

Fig. 1.10 Entity–relationship diagram for the WHG v4 data model.

Note

The model, its formal expression, and its storage. This section describes the WHG v4 data model: SpatialEntities, the Attestations made about them, and the Names, Geometries, Timespans, Types, relations and identity claims that attestations bundle, each resting on Authorities such as Sources and Periods. The model is PLATO, the Place Attestation Ontology, which also defines its JSON and RDF serialisations. The Linked Places Format (LPF) is PLATO’s single-object profile, and remains a supported input and output format.

These pages describe the model, not a storage layout. WHG holds it in PostgreSQL/PostGIS, with Elasticsearch serving search.