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.1593900923.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mapeathor-1.0.0.1593900923.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.1593900923.tar.gz
Algorithm Hash digest
SHA256 87ee9d9ee5c7b24fe53f520d40ca2e2011613dc9776d246b529e8a0cf47f66ff
MD5 8bad3ccb1c3038071c1420d3e0629538
BLAKE2b-256 4c2032a25c32743fb2368066c3919ffc8822a82c88d02896e7890dba17ba4ed7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mapeathor-1.0.0.1593900923-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.1593900923-py3-none-any.whl
Algorithm Hash digest
SHA256 ad845e79cf457bcdf5787ec7ce5315388b1934afdead36690261e614aa0e0b10
MD5 695019f4beea67007c94941890a2d079
BLAKE2b-256 568f2681c0290d19dd572166f50e110c4277f670555bf8666e0d0f091fdb26f2

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