Skip to main content

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

Project description

YATTER

YATTER

GitHub Test 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

CiTIUS - Universidade de Santiago de Compostela (2023-now):

  • David Chaves-Fraga
  • Rubén Buján Vide (Final bachelor thesis - Mapping normalization, RML-cc and library management)

Ontology Engineering Group - Universidad Politécnica de Madrid (2021-2023):

  • 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-2.0.1.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

yatter-2.0.1-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yatter-2.0.1.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yatter-2.0.1.tar.gz
Algorithm Hash digest
SHA256 c359d7113b904316827ef08e9f463b444667d77608a07c6941e6cafae5621597
MD5 7af3ccc995d7b75f6f1a9602386550a6
BLAKE2b-256 72a9cb35e18d7c67266d63a86cb41c197d1ec95a3eafc7cc7289540a91148c5e

See more details on using hashes here.

Provenance

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

Publisher: pypi-publish.yml on citiususc/yatter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: yatter-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yatter-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5688313948677814647ccf9185392d2d5ba65fdb142de499ef73b36017054924
MD5 64094bdb6e3ea9b37400f51dae2f94e4
BLAKE2b-256 f42c7961e1489630ab2798288ca3b2dc3209ba0330ba78f1fe4113501be0eb4f

See more details on using hashes here.

Provenance

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

Publisher: pypi-publish.yml on citiususc/yatter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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