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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yatter-2.0.3-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yatter-2.0.3.tar.gz
Algorithm Hash digest
SHA256 195fb2a686eb0fe7b3b39ef9738df3829d24162687a80e07569d0a6ccc60baef
MD5 f828060dcfb8643ee9ae1846db41a5e5
BLAKE2b-256 a43c7d5082dfc52704d148a38999af5deeffd6181209fea495e5f8a2888b88e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for yatter-2.0.3.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.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for yatter-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 83cc77f253c59934f8a9557b1f5fff5fe04b09edafd3da73a68118696af51726
MD5 a3efa0cc07e4fe1c13c428a483ab1ac1
BLAKE2b-256 0ceb989d48127ef54c5b5b68752b1828c7d273d86b8c91df90018b33a23b9ada

See more details on using hashes here.

Provenance

The following attestation bundles were made for yatter-2.0.3-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page