Skip to main content

A translator from YARRRML to RML mappings.

Project description

YATTER

YATTER

GitHub DOI PyPI GitHub Release Date codecov

The tool translates mapping rules from YARRRML in a turtle-based serialization of RML or R2RML.

Installation:

pip install yatter

Execution from CLI

To execute from command line run the following:

  • From YARRRML to [R2]RML
python3 -m yatter -i path_to_input_yarrrml.yml -o path_to_rdf_mapping.ttl [-f R2RML]
  • From [R2]RML to YARRRML
python3 -m yatter -i path_to_input_rdf_mapping.ttl -o path_to_output_yarrrml.yml [-f R2RML]

-f R2RML is an optional parameter for translating input YARRRML to R2RML (and inverse)

Execution as a library

If you want to include the module in your implementation:

  • for translating YARRRML mapping to RML mappings (and inverse):
import yatter
from ruamel.yaml import YAML
# YARRRML to RML
yaml = YAML(typ='safe', pure=True)
rml_content = yatter.translate(yaml.load(open("path-to-yarrrml")))
# RML to YARRRML
yarrrml_content = yatter.inverse_translate("rdf_mapping_content")
  • for translating YARRRML mappings to R2RML mappings (and inverse):
import yatter
from ruamel.yaml import YAML

R2RML_URI = 'http://www.w3.org/ns/r2rml#'
# YARRRML to R2RML
yaml = YAML(typ='safe', pure=True)
rml_content = yatter.translate(yaml.load(open("path-to-yarrrml")), mapping_format=R2RML_URI)
# R2RML to YARRRML
yarrrml_content = yatter.inverse_translate("rdf_mapping_content", mapping_format=R2RML_URI)
  • for merging TriplesMap based on id:
import yatter
list_yarrrml_mappings = ["content_mapping_yarrrml1", "content_mapping_yarrrml1"]
yarrrml_content = yatter.merge_mappings(list_yarrrml_mappings)

Specifications conformant:

These are the following specifications used by the translation process:

To be implemented soon:

Cite this work:

If you used Yatter in your work, please cite the ICWE2023 paper:

@inproceedings{iglesias2023human,
  title={Human-Friendly RDF Graph Construction: Which One Do You Chose?},
  author={Iglesias-Molina, Ana and Chaves-Fraga, David and Dasoulas, Ioannis and Dimou, Anastasia},
  booktitle={International Conference on Web Engineering},
  pages={262--277},
  year={2023},
  doi={10.1007/978-3-031-34444-2_19},
  organization={Springer}
}

Authors

Ontology Engineering Group:

  • David Chaves-Fraga
  • Marino González García (Final bachelor thesis - Systematic Testing)
  • Luis López Piñero (Final bachelor thesis - v0.1)

Project details


Download files

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

Source Distribution

yatter-1.2.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

yatter-1.2.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file yatter-1.2.1.tar.gz.

File metadata

  • Download URL: yatter-1.2.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yatter-1.2.1.tar.gz
Algorithm Hash digest
SHA256 2081c886796685681392a78ff762546f9d2a82a8ee48cc6ad808e95ee5492969
MD5 167b1c00d8c6e1226a3a477216a674c7
BLAKE2b-256 9eb8ef3cef6969a8a9f65d8bd52aab60a2f8b6c8bb727ee790aa417634150003

See more details on using hashes here.

Provenance

The following attestation bundles were made for yatter-1.2.1.tar.gz:

Publisher: pypi-publish.yml on oeg-upm/yatter

Attestations:

File details

Details for the file yatter-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: yatter-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yatter-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 40a476538598c1bd874f3d03c3ba965fd4d158415fad03f8ac57593db69881e4
MD5 34041e90db12d73f6ecdc9cbffceb9bb
BLAKE2b-256 8691a13fca21291e1d7e51d420d7588a376924b8f8b9c86ee6b8f63e36e169af

See more details on using hashes here.

Provenance

The following attestation bundles were made for yatter-1.2.1-py3-none-any.whl:

Publisher: pypi-publish.yml on oeg-upm/yatter

Attestations:

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