Skip to main content

Mapeathor is a simple spreadsheet parser able to generate mapping rules in three mapping languages: R2RML, RML (with extension to functions from FnO) and YARRRML.

Project description

forthebadge made-with-python
Generic badge License version

workflow

Mapeathor

Mapeathor translates your mapping rules specified in spreadsheets to a mapping language.

Mapeathor is a simple spreadsheet parser able to generate mapping rules in three mapping languages: R2RML, RML (with extension to functions from FnO) and YARRRML. It takes the mapping rules expressed in a spreadsheet and transforms them into the desired language. The spreadsheet template is designed to facilitate the mapping rules' writting, with the aim of being language independent, and thus, lowering the barrier of generating mappings for non-expert users.

workflow

Example:

First Step: Fill the xlsx template with your own information.

The template has five mandatory sheets, Prefixes, Source, Subject PredicateObjectMap and Functions. The last one can be left blank in case there are no functions. The spreadsheet can be in XLSX format or a Google Spreadsheet.

Prefixes:

prefixes

Source:

source

Subject:

subject

PredicateObjectMaps:

pom

Functions:

function

Second Step: Choose the output language that you prefer.

Here you can see the Available Languages.

Third Step: Run Mapeathor:

Local XLSX file

With python:

# Clone the repository
$ git clone https://github.com/oeg-upm/Mapeathor

# Install the needed packages
$ cd Mapeathor/code/
$ pip3 install -r requirements.txt

# How to execute it
$ python3 main.py -i path/to/YOURFILE -l [RML | R2RML | YARRRML]

# Help Menu
$ python3 main.py -h 

# Example
$ python3 main.py -i ../data/default.xlsx -l rml

With docker:

# Clone the repository
$ git clone https://github.com/oeg-upm/Mapeathor

# Install the docker image with docker-compose
$ docker-compose up -d

# Copy the XLSX files to data repository
$ cp yourfiles ./data/

# Execute it
$ docker exec -it mapeathor ./run.sh /Mapeathor/data/YOURFILE [RML | R2RML | YARRRML]

# Results will appear in result folder

Google Spreadsheet

Before using this option, you have need to have a Google account and configure the Google Drive API. First, you need to habilitate the Drive API as described here. Once enabled, you need to create a OAuth 2.0 client credential in the left sidebar, in Credentials; and download the credentials.json file.

Then, you need to create a config.ini file as it is shown below, where credentials_path is the path to the credentials.json file, and spreadsheet_id the unique id of the google spreadsheet. The last one can be extracted from the URI of the spreadsheet, the long id between '/' '/'.

[drive_config]
credentials_path = path/to/credentials/file.json
spreadsheet_id = unique id of google spreadsheet

Then, you can run Mapeathor:

$ python3 main.py -i path/to/YOURCONFIGFILE -l [RML | R2RML | YARRRML]

# Example
$ python3 main.py -i driveAPI/config.ini -l rml

And with Docker:

$ docker exec -it mapeathor ./run.sh /Mapeathor/code/driveAPI/YOURCONFIGFILE [RML | R2RML | YARRRML]

Publications

Iglesias-Molina, A., Chaves-Fraga, D., Priyatna, F., & Corcho, O. (2019). Towards the Definition of a Language-Independent Mapping Template for Knowledge Graph Creation. In Proceedings of the Third International Workshop on Capturing Scientific Knowledge co-located with the 10th International Conference on Knowledge Capture (K-CAP 2019) (pp. 33-36). Online version

Authors and contact

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapeathor-1.0.0.1593901119.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

mapeathor-1.0.0.1593901119-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file mapeathor-1.0.0.1593901119.tar.gz.

File metadata

  • Download URL: mapeathor-1.0.0.1593901119.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for mapeathor-1.0.0.1593901119.tar.gz
Algorithm Hash digest
SHA256 c9b9cab582e1228fe9f49c19ced66c4fa4cc08bbd53a6ae2e725bbc70a6067f4
MD5 f02b40c518ccde350bb8e229e88a1eee
BLAKE2b-256 09e1270ce4ca16735199c3faad7a2dbf33df09a4ab9e33fdc4c8fd5ec30cd3c3

See more details on using hashes here.

File details

Details for the file mapeathor-1.0.0.1593901119-py3-none-any.whl.

File metadata

  • Download URL: mapeathor-1.0.0.1593901119-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

File hashes

Hashes for mapeathor-1.0.0.1593901119-py3-none-any.whl
Algorithm Hash digest
SHA256 6cb69edb0f214b4219fb0c826dc8b13ad6dad11bfb07fddc4f9e2d350b6b2c5b
MD5 1e2a312d5e31e5e02999b80b97075593
BLAKE2b-256 fab4351e3722c21f5b57afe11734df128aeb8d94b7596814ef8fe801b2db2587

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page