Cassiopeia

Cassiopeia is a high-performance data transformation engine that converts various data formats into NGSI-LD compliant entities for IoT platforms and smart city systems.

Overview

Smart cities generate vast amounts of data from traffic sensors, bike-sharing stations, parking systems, and environmental monitors. This data often arrives in incompatible formats—CSV from one vendor, GeoJSON from another, GTFS transit feeds, GBFS mobility data, and proprietary JSON structures. Cassiopeia addresses this fragmentation by transforming any supported format into the international NGSI-LD standard, the common language of FIWARE-compliant platforms.

In essence, Cassiopeia acts as a universal translator for city data.

Supported Data Formats

Cassiopeia supports the following input formats:

  • CSV — Tabular data with configurable delimiters and quoting

  • JSON — Structured data with custom schemas

  • GeoJSON — Geospatial features and geometries

  • GBFS — General Bikeshare Feed Specification for mobility services

  • GTFS — General Transit Feed Specification for public transport

  • MsgPack — Binary serialization format

The modular architecture allows additional formats to be added without modifying core logic.

Key Features

  • Multiple data formats — Support for CSV, JSON, GeoJSON, GBFS, and GTFS

  • NGSI-LD compliance — Output entities that follow FIWARE standards

  • Advanced mapping — Complex templates, synthetic entities, and conditional logic

  • Pre-built configurations — Ready-to-use mappings for GTFS and GBFS

  • FIWARE Smart Data Models — Integration with the industry-standard smart city schemas

  • Flexible output — Write to files or push directly to NGSI-LD Context Brokers

Architecture Highlights

  • Unified pipeline — A single transformation pipeline with pluggable ingestors for each format

  • Parallel execution — Seven logical stages (Ingest, Expand, Resolve, Extract, Transform, Validate, Write) run in parallel for high throughput

  • Relationship modeling — Automatic resolution and maintenance of complex entity relationships

  • Synthetic entity generation — Creation of related entities (organizations, operators) that do not exist in source data

  • Template-driven configuration — Tera templating for conditional logic and transformations without custom code

  • Schema validation — Output validated against FIWARE Smart Data Models before delivery

Use Cases

  • Cities — Connect data silos between parking, traffic, and environmental systems

  • Integrators — Onboard new data sources in hours instead of weeks using declarative mappings

  • FIWARE ecosystem — Simplify ingestion into FIWARE-compliant platforms for cities of any size

Next Steps

  • Operating Modes — Learn about CLI, Server, Explorer, Wizard, and Configurator interfaces

  • Mapping Configuration — Create and customize mapping configurations

  • Controlling Output — Configure file output, Context Broker integration, and representation formats

  • Examples — Practical examples for CSV, JSON, GeoJSON, GTFS, and GBFS

  • Roadmap — Planned features and improvements for v1.0