/Dragoman

An Optimized Interpreter for RML Functional Mappings!

Primary LanguagePythonApache License 2.0Apache-2.0

Dragoman

An Optimized, RML-engine-agnostic Interpreter for Functional Mappings. It planns the optimized execution of FnO functions integrated in RML mapping rules, interprets and transforms the rules into function-free ones efficiently. Since Dragoman is engine-agnostic it can be adopted by any RML-compliant Knowledge Graph creation framework.

You can use Dragoman with your own library of functions! Here is how:

  1. Make a copy of functions.py that is located in ./Interpreter/ and rename it (we consider it as new_function_script.py)
  2. Edit new_function_script.py by adding your functions definitions following the sctructure provided in the script and save the chnages
  3. Go to the connection.py and replace ".functions" with ".new_function_script" at line 6 and save the changes

That's it! You are ready to go :)

Installing and Running the Dragoman

From PyPI (https://pypi.org/project/dragoman-tool/):

python3 -m pip install dragoman-tool
python3 -m Interpreter -c /path/to/config/file

From Docker (https://hub.docker.com/repository/docker/sdmtib/dragoman):

docker run -d -p 4000:4000 -v /path/to/yourdata:/data dragoman

Send a GET request with the configuration file to Dragoman container.
curl localhost:4000/mapping_transformation/data/your-config-file.ini


Get the results from the container (if output folder is inside data folder, results are already in your host)
docker cp CONTAINER_ID:/app/path/to/output .

Version

1.0

License

This work is licensed under Apache 2.0

Authors