Lynx

Lynx is a tool for working with Smart Data Models, NGSI-LD, and JSON-LD. It helps you create, manage, and use data models and contexts without getting lost in the details. Run it as a service, call its API, or use it to host your models for others.

Overview

Building IoT and smart city applications with FIWARE often requires schema inference, JSON-LD context generation, validation, and a place to serve models and contexts. Lynx provides these capabilities in a single service: infer schemas from sample data, generate and manage JSON-LD contexts, compact or expand documents, validate entities against models, and host models and contexts at predictable URLs.

Key Features

  • Schema inference — Turn JSON samples into proper data models with FIWARE conventions (shared definitions for location, address, etc.)

  • Context generation — Generate @context from schemas; support both NGSI-LD and JSON-LD styles

  • Compact and expand — Expand compact JSON-LD to full URIs or compact verbose documents to short terms

  • Entity validation — Validate NGSI-LD entities against stored schemas with clear error messages

  • Model hosting — Serve data models and JSON-LD contexts as static files at predictable URLs

  • API-first — Integrate into pipelines, scripts, or tools via REST

Capabilities

Turn Sample Data Into Data Models

You have JSON examples (sensor readings, device data) and need a proper schema. Lynx infers the structure from your samples, enriches it with FIWARE conventions, and produces a ready-to-use data model with schema, OpenAPI spec, and JSON-LD context.

Useful when: Prototyping, migrating legacy data, or creating new models from real-world examples.

Generate JSON-LD Contexts

You have a schema and need a @context so your JSON-LD documents work correctly. Lynx generates contexts from schemas, supports both NGSI-LD and JSON-LD styles, and handles standard vocabularies (FIWARE, Schema.org) automatically.

Useful when: Publishing linked data, integrating with NGSI-LD brokers, or needing compact vs expanded forms.

Compact and Expand JSON-LD

You receive or produce JSON-LD in one form and need the other. Lynx can expand compact documents to full URIs or compact verbose documents to short terms. It resolves remote contexts and handles NGSI-LD quirks.

Useful when: Debugging, transforming data between systems, or normalizing formats for storage or display.

Validate Entities

You have NGSI-LD entities and want to check they match your model. Lynx validates entities against stored schemas and returns clear error messages when something is wrong.

Useful when: Ingesting data, testing integrations, or ensuring data quality before it reaches a broker.

Host Models and Contexts

You need a place to serve your data models and JSON-LD contexts so other systems can reference them. Lynx serves them as static files at predictable URLs.

Useful when: Sharing models across projects, publishing to the Smart Data Models catalog, or providing contexts for external consumers.

Who Is It For?

  • Developers — Building IoT or smart city applications with FIWARE

  • Data modelers — Turning sample data into proper schemas

  • Integrators — Working with NGSI-LD and JSON-LD who need validation or transformation

  • Teams — Needing a central place to store and serve data models and contexts

Acknowledgments

Next Steps

  • API Reference — Endpoints for models, contexts, workbench, and static serving