Metadata-Version: 2.1
Name: dragoman-tool
Version: 1.0.dev1639048260
Summary: 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.
Home-page: https://github.com/SDM-TIB/Dragoman
Author: Samaneh Jozashoori, Enrique Iglesias
Author-email: samaneh.jozashoori@tib.eu, enrique.iglesias@tib.eu
License: Apache 2.0
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Pre-processors
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: flask
Requires-Dist: mysql-connector-python (==8.0.21)
Requires-Dist: pandas
Requires-Dist: pyparsing (==2.2.0)
Requires-Dist: rdflib (==4.2.2)
Requires-Dist: requests

# ![Dragoman](https://github.com/SDM-TIB/Dragoman/blob/master/images/dragoman.png "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](https://tib.eu/cloud/s/ikjiHyf8RNrEHSY):
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
- Samaneh Jozashoori (samaneh.jozashoori@tib.eu) 
- Enrique Iglesias (iglesias@l3s.de) 
- Maria-Esther Vidal (maria.vidal@tib.eu)


