A structured inventory of candidate mechanisms for MIM0 v9.0, organised along the data access pipeline: from discovery to real-time streaming.
Make data discoverable and findable through catalogues, metadata standards, and search mechanisms so that potential consumers can locate relevant datasets.
Data Catalogue Vocabulary and its European Application Profile. Describes datasets, distributions, data services, and their metadata. De facto standard for open data portals (data.europa.eu, national portals). Enables federated catalogue search across cities and countries.
Most widely deployed open data management system. Provides dataset registry, metadata management, API access, and harvesting. Used by the European Data Portal and most national/city portals. Natively supports DCAT-AP export.
Geospatial catalogue API. Successor to CSW (Catalogue Service for the Web). REST-based, JSON-native. Specifically designed for discovering geospatial datasets and services.
Provide standardised programmatic interfaces that allow systems to request and receive data in a predictable, documented way.
De facto standard for describing RESTful APIs. Machine-readable contract (YAML/JSON) that specifies endpoints, parameters, authentication, and response schemas. Enables automatic client generation, documentation, and testing. Version 3.1 aligns with JSON Schema.
Context information API based on JSON-LD. Provides CRUD operations on entities, subscriptions for change notifications, and temporal queries. The core API for FIWARE-based smart city platforms. Combines data access (MIM0) with semantic context (MIM1) in a single interface.
Modern REST API for geospatial features. Successor to WFS. Returns GeoJSON by default. Part of the OGC API family (Tiles, Maps, Processes, etc.). OpenAPI-conformant.
Query language that lets clients request exactly the data they need in a single call. Reduces over-fetching compared to REST. Useful for complex, nested data structures. Growing adoption in city dashboards and digital twin frontends.
Query language for RDF data. Enables complex, federated queries across linked data sources. Powerful for cross-domain analysis but higher barrier to entry. Used by knowledge graphs and linked open data platforms.
Support mechanisms for transferring datasets in bulk, whether as downloadable files or through streaming protocols.
Protocol for publishing versioned linked data as paginated, immutable event streams. Enables incremental synchronisation — consumers only fetch what changed. Developed by IMEC/Flanders. Bridges bulk download and real-time update.
Lightweight container for datasets: a descriptor (datapackage.json) plus the data files (CSV, JSON, etc.). Describes schema, licences, and provenance. Simple to produce and consume. Good for cities publishing tabular open data.
Standard HTTP mechanism (Accept headers) to request data in a preferred format (JSON-LD, CSV, Turtle, GeoJSON). Allows a single URL to serve multiple serialisations. Fundamental for linked data architecture.
Enable event-driven, real-time data flows where consumers subscribe to changes and receive updates as they happen, without polling.
Lightweight messaging protocol designed for IoT. Minimal overhead, works on constrained networks. Topic-based pub/sub with QoS levels (0, 1, 2). De facto standard for sensor data streaming in smart cities.
Enterprise-grade messaging protocol with advanced routing (exchanges, queues, bindings). Stronger delivery guarantees than MQTT. Used for reliable system-to-system integration where message loss is unacceptable.
Built-in subscription mechanism in the NGSI-LD API. Clients register interest in entity changes (by type, attribute, geo-query, or temporal condition) and receive webhook notifications. Semantic-aware pub/sub.
Distributed event streaming platform for high-throughput, fault-tolerant data pipelines. Topic-based pub/sub with persistent log. Used as backbone for city-scale data integration when volume exceeds what MQTT/AMQP handle alone.
Browser-native real-time protocols. WebSocket for bidirectional communication, Server-Sent Events (SSE) for server-to-client streaming. Used for live dashboards, map updates, and citizen-facing real-time services.