A structured inventory of candidate mechanisms for MIM1 v9.0, organised along the three pillars of data interlinking: identifiers, typing, and referencing.
Provide a consistent set of identifiers for individual instances of each entity, so that data about any entity can be combined with other data referring to that entity, with confidence they refer to the same thing.
Persistent, dereferenceable HTTP URIs as entity identifiers. Following W3C "Cool URIs" guidelines: no file extensions, opaque identifiers, content negotiation. When you resolve the URI, you get data about the entity. Fundamental principle of linked data.
Persistent identifiers that are location-independent (unlike HTTP URIs). Examples: urn:ngsi-ld:* for NGSI-LD entities, urn:uuid:* for universally unique identifiers. Useful when entities don't have a natural web presence but still need global uniqueness.
Reuse established identifier systems rather than inventing new ones. Examples: NUTS/LAU codes for regions, INSEE codes for French municipalities, cadastral references for parcels, INSPIRE identifiers for spatial objects, GTIN for products, LEI for organisations. The mechanism is about recommending when to reuse vs. create.
Self-sovereign, cryptographically verifiable identifiers. Not controlled by any central authority. Can represent people, organisations, devices, or things. Resolve to DID Documents containing public keys and service endpoints. Bridge between identity and interlinking.
Assign semantically meaningful types to entities using shared vocabularies and ontologies, so that systems can understand what they are dealing with.
The @context in JSON-LD maps short property names to full URIs, defining the semantic meaning of each term. When two systems share a @context (or compatible ones), their data is automatically interlinked at the vocabulary level. This is the primary typing mechanism in NGSI-LD.
Vocabulary for representing taxonomies, thesauri, and classification schemes. Provides broader/narrower/related relationships between concepts. Used to align different classification systems (e.g. two cities' waste categories or land use types).
rdf:type assigns a class to an entity. RDFS provides class hierarchies (rdfs:subClassOf). OWL adds equivalence (owl:equivalentClass), disjointness, and restrictions. The full Semantic Web typing stack — from lightweight to formal.
When two systems use different ontologies, automated alignment detects which types in system A correspond to which types in system B. This bridges the gap when cities can't agree on a single ontology but still need to interlink data. Outputs: SSSOM mappings, SKOS correspondences, or OWL axioms.
Enable explicit relationships between entities — both within and across datasets — so that navigating from one entity leads to related information elsewhere.
NGSI-LD has a native "Relationship" property type that links one entity to another via its URI. Example: a ParkingSensor entity has a "refParkingSpot" relationship pointing to the ParkingSpot entity it monitors. Relationships are first-class citizens, not just foreign keys.
Tim Berners-Lee's four principles: use URIs as names, make them HTTP URIs, return useful data when resolved, include links to other URIs. This creates a web of data where you can navigate from entity to entity across organisational boundaries.
Versioned, immutable event streams that preserve the history of entity state changes. Each version is a linked data resource with full context. Enables temporal interlinking — connecting the current state of an entity to its past states and to other entities at the same point in time.
Explicit cross-dataset links. owl:sameAs declares two URIs refer to the same real-world entity (use with care — it's very strong). SKOS mapping properties (exactMatch, closeMatch) are softer alternatives for relating concepts across vocabularies.
SHACL can validate that relationships between entities are consistent: target entity exists, has the expected type, required properties are present. Ensures link integrity across datasets — a kind of "foreign key check" for linked data.