A SDMX to JSON-LD parser to communicate with FIWARE Context Brokers using ETSI NGSI-LD.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
A SDMX in RDF Turtle 1.1 format parser to generate valid JSON-LD and send to FIWARE Context Brokers using ETSI NGSI-LD.
It is based on a EBNF LALR(1) grammar.
This project is part of INTERSTAT. For more information about the INTERSTAT Project, please check the url https://cef-interstat.eu.
This project has been built using the following python libraries:
- Lark, a parsing library for python
- docopt, command-line interface description language
- FastAPI, is high-performance web framework for building APIs with Python 3.6+ based on standard Python type hints.
- Secure, a lightweight package that adds optional security headers for Python web frameworks.
- Schema, a python library for validating Python data structures.
- Uvicorn, an Asynchronous Server Gateway Interface (ASGI) web server implementation for Python.
- Requests, an HTTP library for Python.
- Python-Multipart, a streaming multipart parser for Python.
- loguru, a library which aims to bring detailed logging in Python.
For more details about the versions of each library, please refer to requirements.txt.
This section explains the different steps that we need to do in order to start using this agent.
The following software must be installed:
- Python 3.10
- pip 22.3 (python 3.10)
- virtualenv 20.13.1
This is an example of how to list things you need to use the software and how to install them.
- python, follow the recommendations for your own OS in Python/Downloads
- pip, usually, it is automatically installed if you installed python in the previous steps. If you had already installed a python version, but you have no pip follow the instructions for your own OS in installation pip.
- virtualenv, is a tool to create isolated Python environments, you can use other available options, but it is recommended to use one. You can follow the instructions to install it in your OS in Installation virtualenv.
The recommended installation method is using a virtualenv. Actually, the installation
process is only about the python dependencies. By default, the service configuration
follow the description of the local configuration file. You
have to modify the broker
attribute to specify any other location of the FIWARE Context
Broker LD.
- Clone the repo
git clone https://github.com/flopezag/IoTAgent-Turtle.git
- Define the configuration file:
./common/config.json
- Create the virtualenv
virtualenv -ppython3.9 .env
- Activate the python environment
source .env/bin/activate
- Install the requirements
pip install -r requirements.txt
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
- Increase Unit Tests of the code
- Cover several examples of use of the component
- Testing deployment in Kubernetes Clusters
- Improve Error Messages
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Fernando López - @flopezaguilar - fernando.lopez@fiware.org
Project Link: https://github.com/flopezag/IoTAgent-Turtle
Distributed under the Apache2.0 License. See LICENSE
for more information.