Skip to content

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

License

Notifications You must be signed in to change notification settings

aquarta/context.Orion-LD

 
 

Repository files navigation

Orion Context Broker (with Linked Data Extensions)

FIWARE Core Context Management License badge Docker badge Support badge NGSI-LD badge
Documentation badge Status Coverage Status CII Best Practices

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.

The latest release of Orion-LD is 1.5.1 from January 2024

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 near compliance to the version 1.6.1 of the NGSI-LD API specification.

License

Orion-LD is licensed under Affero General Public License (GPL) version 3.

Further information on the use of the AGPL open source license

Are there any legal issues with AGPL 3.0? Is it safe for me to use?

There is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).

For the avoidance of doubt, the owners of this software licensed under an AGPL-3.0 license wish to make a clarifying public statement as follows:

Please note that software derived as a result of modifying the source code of the software in order to fix a bug or incorporate enhancements IS considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software IS NOT considered a derivative work.

Contribution to Orion-LD

Anyone wishing to contribute to Orion-LD, be it fixing/adding documentation, tests, source code, all types of contributions are welcome. For source code contributions, please see the Contribution guidelines.

General Information on NGSI-LD

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.

The NGSI-LD Specification is regularly updated and published by ETSI. The latest specification is version 1.8.1 and it was published in March 2024.

This presentation from the FIWARE Summit in Malaga 2018 might be of interest: https://www.slideshare.net/FI-WARE/fiware-global-summit-ngsild-ngsi-with-linked-data

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

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 (note that Orion-LD is not up-to-date with Orion in terms of NGSI v2).

NGSI-LD Context Broker Feature Comparison

An Excel file detailing the current compatibility of the development version of the Orion-LD Context Broker against the features of v1.6.1 of the API specification can be downloaded here.

📚 Documentation 🎓 Academy quay.io

Test and Deployment of Orion-LD

If you want to start testing Orion-LD, the most common 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.

The use of the "latest" tag is not recommended, as it keeps changing. Much better would be to use the newest non-changing tag and stick to it until you have need for some newer feature/fix and then change to a newer non-changing tag. Every merged pull request results in a new non-changing tag in dockerhub.

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 January 2024) is 1.5.1

docker run quay.io/fiware/orion-ld:1.5.1

Please check quay.io for other releases.

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.

About

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 65.4%
  • Gherkin 18.2%
  • C 7.6%
  • Python 4.5%
  • Shell 3.3%
  • CMake 0.9%
  • Other 0.1%