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.4.tar.gz (32.5 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.4-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yatter-2.0.4.tar.gz
  • Upload date:
  • Size: 32.5 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.4.tar.gz
Algorithm Hash digest
SHA256 fcce2faa7eabad1cc80700925ec9b9d607f50152b2f12bc8d8c45b0407948f2b
MD5 d021b13ed50faed5798d3628d9aae7de
BLAKE2b-256 1e2bbb5389c334c6c2b8abc041af12c4f8de7dd5aa6fc6aefbbe0bd676d40686

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yatter-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 36.3 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 39526accb4e6b5e0d290dd7e1fa0c13d68583f9a377c671f732c909c07bb75d9
MD5 4baecd3268cd234986820452d9a2d79c
BLAKE2b-256 4616724529b4ee98c210349512b73a3e2d6722abf5e2af87fff7198495d9d7f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for yatter-2.0.4-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