Mechanisms
Mechanism 1: Linked Data with RDF, OWL, and SHACL
1. Overview
This Mechanism defines how public sector data systems can interlink and identify entities in an interoperable, machine-interpretable way using RDF 1.2, OWL 2, SHACL 1.2, and SPARQL 1.2. It fulfils all capabilities and requirements of MIM2 (Interlinking Data) and is grounded in the W3C Semantic Web standards stack, which provides the most mature and widely deployed foundation for entity identification, typing, dereferencing, and cross-system identity mapping on the Web.
The Mechanism is technology-neutral with respect to the domain model: it mandates how entities are named, typed, described, and linked — not what domain ontology is used. It is applicable to any smart city data domain: infrastructure assets, sensors, persons, organisations, administrative units, events, and more.
2. Core Standards Referenced
RDF 1.2 (W3C CR, April 2026)
Core data model: all entities and their properties are expressed as subject–predicate–object triples using IRIs and literals
RDF Schema (RDFS) 1.1 (W3C Rec)
Lightweight class and property hierarchies, rdfs:label, rdfs:comment, rdfs:seeAlso for human- and machine-readable descriptions
OWL 2 (W3C Rec)
Formal ontology language for entity typing, equivalence (owl:sameAs, owl:equivalentClass), and logical constraints enabling automated reasoning
SHACL 1.2 (W3C CR, 2025)
Closed-world constraint language for validating RDF graphs against shape definitions; used to enforce data quality and schema compliance
SPARQL 1.2 (W3C WD, 2026)
Query and update language over RDF datasets; used for entity lookup, federation, and programmatic access
JSON-LD 1.1 (W3C Rec)
JSON serialisation of RDF with @context mappings; the recommended exchange format for developer-friendly consumption
Turtle 1.1 (W3C Rec)
Compact, human-readable RDF serialisation; recommended for ontology authoring and static publishing
SKOS (W3C Rec)
Simple Knowledge Organisation System; used for concept alignment and lightweight cross-vocabulary mappings (skos:exactMatch, skos:broadMatch)
Linked Data Platform 1.0 (LDP) (W3C Rec)
HTTP-based protocol for reading and writing RDF resources; governs how entity IRIs are resolved and how containers expose collections of resources
RFC 9110 – HTTP Semantics (IETF)
Foundation for IRI dereferencing, content negotiation (Accept/Content-Type), and 303 See Other redirect patterns for non-information resources
W3C Cool URIs for the Semantic Web
Best-practice guidance for persistent, dereferenceable, hash- or slash-based IRI design
3. Mechanism Description
3.1 Entity Identification with Globally Unique IRIs (C1)
Every entity exposed by a system conforming to this Mechanism is identified by an IRI (Internationalised Resource Identifier) — the RDF-native form of URI, as defined in RDF 1.2. IRIs serve simultaneously as the unique identifier and as the retrieval address for the entity's description.
IRI design follows the W3C Cool URIs for the Semantic Web guidance. Two patterns are supported:
Hash URIs (preferred for ontologies and small datasets):
The document at https://data.city.example/ontology/building describes all resources in that namespace. The fragment #Building identifies the specific entity within it.
Slash URIs (preferred for large instance datasets):
An HTTP GET on this IRI returns a description of that sensor. For non-information resources (physical objects, people), the server issues a 303 See Other redirect to a document IRI, following the httpRange-14 pattern, so that the IRI consistently identifies the real-world thing while a separate document describes it.
Persistence is guaranteed by minting IRIs under a domain or path prefix that is under long-term governance control (e.g., a city's official data domain, a national URI authority, or a handle/ARK resolver that redirects to current locations). The IRI is treated as the canonical identifier in all downstream systems; implementations MUST NOT generate IRIs that embed volatile implementation details such as database row IDs or server hostnames.
3.2 Entity Lookup by IRI (C1 — R1.2)
The Mechanism uses HTTP content negotiation (RFC 9110) to serve the description of an entity based on the client's Accept header. When a client dereferences an entity IRI, the server returns a machine-readable RDF description in the requested serialisation:
Accept Header
Format Returned
application/ld+json
JSON-LD 1.1 (recommended default)
text/turtle
Turtle 1.1
application/rdf+xml
RDF/XML
application/n-triples
N-Triples
text/html
Human-readable HTML (with embedded JSON-LD in a <script> tag)
The returned RDF document contains at minimum:
The entity's IRI as subject
An
rdf:typetriple declaring the entity's classA
rdfs:labelin at least one languageAny
owl:sameAsorskos:exactMatchlinks to equivalent entities in other systemsAn
rdfs:isDefinedBylink pointing to the governing ontology
This makes every entity self-describing and machine-processable without prior bilateral agreements, which is the core interoperability property of Linked Data.
3.3 Cross-System IRI Mapping (C1 — R1.3, R1.4)
Where the same real-world entity is identified by different IRIs in different systems (e.g., a building described both in a municipal GIS and in a national cadastre), this Mechanism provides two complementary mapping approaches:
Strong identity (owl:sameAs): Asserts that two IRIs refer to the exact same individual. An OWL reasoner will infer that all triples about one IRI also hold for the other. This is appropriate when both IRIs provably refer to the same unique real-world entity:
Concept alignment (skos:exactMatch, skos:closeMatch): A lighter-weight alignment used when entities are considered equivalent in meaning but maintained independently, or when full logical entailment is not desired. skos:exactMatch is appropriate for controlled vocabulary terms; skos:closeMatch for near-equivalents. This follows the SKOS recommendation's explicit guidance on preferring skos:exactMatch over owl:sameAs for concept-level mappings to avoid unintended entailment closure.
Mapping datasets: Identity links are published as named RDF graphs within an RDF dataset, allowing them to be managed, versioned, and queried independently from the entity description graphs. The SPARQL 1.2 Protocol enables federated queries that traverse owl:sameAs links across endpoints, enabling a client to retrieve all known descriptions of an entity from multiple systems using a single query.
3.4 Entity Typing and Semantic Retrieval (C2)
Every entity is typed using rdf:type, pointing to a class defined in a published OWL 2 ontology. The governing ontology is accessible at a stable IRI and is itself a dereferenceable RDF document. This means that a client can:
Receive an entity description containing
rdf:type ex:TrafficSensorDereference
ex:TrafficSensorto retrieve the OWL class definitionFrom that definition, discover the class's superclasses, equivalent classes, and applicable properties via
rdfs:subClassOf,owl:equivalentClass,rdfs:domain,rdfs:rangeOptionally run an OWL 2 reasoner to infer additional facts (e.g. that a
ex:TrafficSensoris also asosa:Sensorvia a declared equivalence with the W3C SOSA/SSN ontology)
This entire chain is automated using only HTTP GETs and standard RDF tooling — no out-of-band documentation is needed. This satisfies R2.1 (semantics retrievable using only the IRI) and R2.2 (machine-readable format).
Ontology publishing requirements: OWL 2 ontologies used in this Mechanism MUST be published at their namespace IRI, MUST include rdfs:label and rdfs:comment for every class and property, MUST declare an owl:versionIRI for versioning, and SHOULD declare alignments to upper or domain ontologies (e.g. W3C SOSA/SSN for sensors, schema.org for general-purpose entities, INSPIRE for spatial features) using owl:equivalentClass or rdfs:subClassOf.
3.5 Dereferencing Relations and Extending Semantics (C3)
Relation dereferencing (R3.1): Every property used on an entity is itself an IRI, the description of which is retrievable via HTTP. Dereferencing a property IRI yields its OWL definition, including rdfs:domain, rdfs:range, inverse properties (owl:inverseOf), and any SHACL shapes that constrain its use. This means that a client encountering an unknown predicate can always look it up and understand its semantics programmatically.
Extending existing ontologies (R3.2): The Mechanism supports extending an existing ontology without modifying it, using two standard patterns:
OWL extension: A new ontology declares owl:imports against the base ontology and adds subclasses, subproperties, or restrictions. For example, a city might extend the W3C SOSA ontology with a city-specific ex:MunicipalAirSensor subclass:
SHACL profiling: Rather than altering the ontology, SHACL 1.2 shape graphs are used to impose additional constraints on existing vocabulary terms within a specific deployment context. For example, a city can declare that within its data space, every sosa:Observation must have a sosa:resultTime and a geo:hasGeometry — without changing the upstream SOSA specification. SHACL shapes are published as named RDF graphs and referenced from the entity's JSON-LD context, so consumers know which validation profile applies.
SHACL 1.2's new sh:ShapesGraph grouping (a specialised subclass of owl:Ontology) is used to package and version shape sets, with owl:imports expressing dependencies between shape graphs.
3.6 SPARQL Endpoint for Programmatic Access
The Mechanism includes a SPARQL 1.2 endpoint (/sparql) as the structured query interface over the full RDF dataset. This complements per-entity dereferencing with:
Pattern-matching queries across all entities and properties
Federated queries (
SERVICEkeyword) to traverseowl:sameAslinks across external endpointsConstruct queries to materialise subgraphs in any RDF serialisation
Update operations (SPARQL Update, access-controlled) for systems that write linked data
The SPARQL endpoint accepts queries via HTTP GET and POST as specified in SPARQL 1.2 Protocol, and returns results in SPARQL JSON Results format, SPARQL XML, CSV/TSV, or RDF serialisations, based on content negotiation.
3.7 Why This Mechanism Is Interoperable
Identifier interoperability: IRIs are globally unique by construction (scoped to a DNS domain under the authority's control) and dereferenceable over standard HTTP. Any system anywhere on the Internet can resolve an entity IRI without registration or prior agreement.
Semantic interoperability: Because types and properties are themselves dereferenceable IRIs with formal OWL definitions, the meaning of every statement is machine-interpretable. OWL 2 reasoners can infer equivalences across ontologies, enabling automatic bridging between data models from different cities or systems. This is qualitatively different from REST APIs where field names are opaque strings requiring bilateral documentation.
Cross-system identity: owl:sameAs and skos:exactMatch are W3C-standard mechanisms for expressing that two IRIs from independent systems refer to the same entity. This enables data integration without a centralised identifier registry: each system publishes its own IRIs and declares mappings to others.
Extensibility without breakage: OWL's open-world assumption and the SHACL profiling pattern allow any party to add semantics to an existing vocabulary without modifying it, and without invalidating existing consumers. New subclasses, new constraints, and new alignment axioms are additive.
Format universality: JSON-LD 1.1 as the default serialisation means that any JSON toolchain can consume linked data with minimal adaptation. The @context document is the machine-readable bridge between JSON field names and globally unique IRIs, making linked data accessible to the REST API ecosystem.
4. Requirements Mapping Table
R1.1
Every entity within the system has a unique identifier.
Every entity is assigned a globally unique IRI under a domain controlled by the publishing authority, following W3C Cool URI design patterns. IRIs are unique by construction via DNS scoping and do not embed volatile implementation details.
R1.2
There exists a way to retrieve information about an entity by looking up the identifier within a system.
Entity IRIs are dereferenceable via HTTP GET (RFC 9110). The server uses content negotiation to return an RDF description (JSON-LD, Turtle, RDF/XML) or a human-readable HTML page. Non-information resources use 303 See Other redirects to document IRIs.
R1.3
If a unique identifier points to the same entity within multiple systems, it is possible to derive the way to look up information about it in each of those systems.
owl:sameAs triples published in named RDF graphs link IRIs across systems. A client dereferencing any of the linked IRIs receives the full description from that system. SPARQL federated queries (SERVICE) can traverse these links programmatically.
R1.4
If multiple unique identifiers point to the same entity, it is possible to map them.
Identity mappings are expressed as owl:sameAs (for logically identical individuals) or skos:exactMatch / skos:closeMatch (for concept-level equivalence). These triples are published in versioned, named RDF mapping graphs that can be queried, maintained, and updated independently.
R1.5
It is possible to create identifiers that are persistent over time.
IRI persistence is enforced through governance (stable DNS domain, path prefix under long-term stewardship) and optionally through redirect resolvers (e.g. handle.net, ARK, w3id.org) that decouple the canonical IRI from the physical server location. owl:deprecated is used to mark retired IRIs while preserving them, and owl:versionIRI tracks ontology evolution.
R2.1
There is a way to retrieve the semantics of an entity, using only its unique identifier.
Dereferencing the rdf:type value of any entity returns the full OWL 2 class definition, from which rdfs:subClassOf, owl:equivalentClass, rdfs:domain, and rdfs:range axioms are machine-readable. No out-of-band documentation is required; the IRI is sufficient as an entry point.
R2.2
These semantics are described in a machine-readable format.
OWL 2 ontologies are serialised as Turtle or JSON-LD and served with the appropriate MIME type (text/turtle, application/ld+json). They are fully parseable by standard RDF tooling. SHACL 1.2 shape graphs complement the ontology with closed-world validation constraints, also in machine-readable RDF.
R3.1
There exists a way to dereference a relation defined on an entity.
Every predicate used on an entity is an IRI. Dereferencing that IRI via HTTP returns its OWL property definition, including domain, range, inverse, and any SHACL sh:PropertyShape constraints. This is guaranteed by the requirement that all properties used in instance data are defined in a published, dereferenceable ontology.
R3.2
There exists a way to apply additional semantics to an existing ontology.
Two standard patterns are supported: (1) OWL 2 extension via owl:imports, allowing new subclasses and subproperties to be declared without modifying the original ontology; and (2) SHACL 1.2 profiling, where deployment-specific constraints are added as a separate, versioned shapes graph that references but does not alter the upstream vocabulary.
Last updated