/context.Orion-LD

Context Broker and CEF building block for context data management which supports both the NGSI-LD and the NGSI-v2 APIs

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

Orion Context Broker (with Linked Data Extensions)

FIWARE Core Context Management License badge Docker badge Docker Repository on Quay Support badge NGSI-LD badge
Documentation badge Status Coverage Status CII Best Practices Static analysis

Orion-LD is a Context Broker and CEF building block for context data management which supports both the NGSI-LD and the NGSI-v2 APIs. It is currently a fork of the original Orion Context Broker extending support to add NGSI-LD and linked data concepts. Orion-LD follows the ETSI specification for NGSI-LD and has been tested to be a stable and fast NGSI-LD broker with close compliance to the version 1.3.1 of the NGSI-LD API specification.

Note that the NGSI-LD specification is a living, changing document (version 1.5 as of June 2021), with features being continuously added at a pace such that it is not possible to align a context broker to the cutting edge specification for NGSI-LD implementation.

The latest release of Orion-LD is 1.0.1 from January 2022

This project is part of FIWARE. For more information check the FIWARE Catalogue entry for Core Context.

Issues on this projects can be reported as github issues, while questions are preferred on Stackoverflow, using the tag fiware-orion.

📚 Documentation 🎓 Academy 🐳 Docker Hub

If you want to start testing NGSI-LD, one option is to use Docker.

There are a number of docker images to choose from.

If you (at your own risk) want to evaluate the bleeding edge development changes, you can use the latest image: docker run fiware/orion-ld:latest or even better: use docker compose to run it. Please note that for production and/or performance implementations, there is a thorough guide for that right here

If you instead want to use a more stable image, the latest release (as of Jan 2022) is 1.0.1

docker run fiware/orion-ld:1.0.1

Please check dockerhub for newer releases.

NGSI-LD is an an extended subset of JSON-LD for use with context management systems. Its payloads are encoded as linked data using JSON. This presentation from FIWARE Summit Malaga 2018 might be of interest: https://www.slideshare.net/FI-WARE/fiware-global-summit-ngsild-ngsi-with-linked-data

If you are not sharing your data across systems and have no need for linked data concepts, then the current stable version of NGSI (NGSI-v2) is more than sufficient. If so, please use the original unforked Orion instead of Orion-LD (that is not up-to-date in terms of NGSIv2).

Examples of NGSI-LD can be found in ETSI. See also the OpenAPI Specification of NGSI-LD

Documentation:

A Test Suite for NGSI-LD compliant brokers can be found here. This test suite is kind of deprecated in favor of the ETSI NGSI-LD API Conformance Test Suite. However, the ETSI test suite still needs quite some work to be usable. A TTF (Testing Task force) is applied for (ETSI fundings) and hopefully the test suite will be improved upon during 2023.

Orion-LD passes about 95% of the test cases of the older deprecated test suite, while ETSI's test suite isn't really usable at the moment.