CASSIOPEIA NO-CODE DATA TRANSFORMATION ENGINE
Any data source. Any format. One NGSI-LD output. No custom code.
MODULE TYPE: Data mapper + transformer (CLI + server mode; writer to files or Context Broker)
PRIMARY USE: Standardize heterogeneous data sources into interoperable NGSI-LD entities for smart city and IoT platforms
MATURITY: Beta/Production
LICENSE: TBD
THE PROBLEM IT SOLVES
Every sensor vendor, every city department, every data feed speaks a different format. CSV, JSON, GeoJSON, GTFS, GBFS - all incompatible. Without CASSIOPEIA, every new data source means weeks of custom integration code.
CASSIOPEIA maps any source to NGSI-LD Smart Data Models - once. No code. Repeatable. Validated.
WHAT IT DOES
- Transforms multiple input formats: CSV, JSON, GeoJSON, GBFS, GTFS, and others.
- Outputs NGSI-LD entities in different representation modes (normalized/concise/simplified).
- Advanced mapping configuration: templates, conditional logic, nested objects, relationships, list relationships.
- Synthetic entities: create referenced entities on-the-fly when source data only contains partial references.
- Smart Data Model integration: download/search/list schemas and validate outputs when schemas exist.
- Flexible writers: write to files (default) or push directly to a Context Broker via HTTP.
- Standard feed shortcuts: pre-built configurations for common GTFS and GBFS entity types.
WHAT IT DOES NOT DO
- Not a Context Broker - it generates/publishes entities to one.
- Not a data catalog / data space - it’s a transformation/mapping component in a larger stack.
- Not a full ETL orchestration platform - it focuses on mapping + validation + output (scheduling/orchestration belongs elsewhere).
- Not an analytics/ML module - no mention of modeling or KPI logic, just transformation.
- Not a UI-first product - usage is documented mainly via CLI + config files.
HOW IT WORKS
- Inputs
- Source files or feeds: CSV / JSON / GeoJSON / GBFS / GTFS.
- Mapping config files: JSON5 (recommended) or JSON.
- Processing
- Applies mapping rules using Tera templates with support for conditionals, filters, and nested navigation.
- Generates entity IDs using dataModel + entityName + optional URN parts (site/service/group).
- Performs type transformations (string/int/float/bool/datetime/geo types).
- Optionally validates against Smart Data Model schemas (downloaded via Cassiopeia download).
- Outputs
- NGSI-LD entities written as files, or pushed to a Context Broker (--writer-type context-broker --broker-url ...).
- Output representation modes: normalized, concise (default), simplified.
- Null handling: include or skip null values.
ARCHITECTURE POSITION
Cassiopeia sits between “raw data sources” and your NGSI-LD runtime:
- Upstream: files, APIs, feeds, exports (CSV/JSON/GeoJSON/GTFS/GBFS).
- Cassiopeia: mapping configs + optional validation against Smart Data Models.
- Downstream: file outputs (for pipelines/tests) or a NGSI-LD Context Broker (for live platforms).
TECHNOLOGY STACK
- Language: Rust
- Config format: JSON5/JSON mapping configs
- Templating: Tera template engine
- Interfaces: CLI (cassiopeia ...) + server mode (cassiopeia server)
- Outputs: File writer or Context Broker writer (HTTP)
- Validation dependencies: Smart Data Model schemas downloaded by tool command
OPERATING MODES
Cassiopeia provides five interfaces for different stages of the data integration workflow:
- CLI - Command line - Batch jobs, CI/CD, one-off conversions
- Server - REST + WebSocket - Centralized hub, live data streams
- Explorer - Terminal (TUI) - Schema discovery, model inspection
- Wizard - Terminal (TUI) - Interactive mapping creation
-
Configurator -
Web browser -
Same as Wizard, graphical UI
SCREENSHOTS / UI

FIWAREBox Cassiopeia - Data Model Selection

FIWAREBox Cassiopeia - Attribute Mapping
DEPLOYMENT OPTIONS
- standalone/self-hosted
- embedded in FIWAREBox
- managed as part of FIWAREBox (NGSI-LD Context DataHub)
LICENCE
TBD
WHO THIS IS FOR
IT personas: architects, data engineers, integrators, pilots/research
RELATED MODULES
Auriga, Lynx, Libra