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

Uploaded Source

Built Distribution

yatter-2.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yatter-2.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for yatter-2.0.tar.gz
Algorithm Hash digest
SHA256 7caa577996c4b5832fee649b1a97b7eeb8155ae488cb15e099cbedb8435c0a87
MD5 5b6c67967819d2bb4c231efb4f5c34a9
BLAKE2b-256 2a4caa2c1c8cc4eaf718baa8047985c4749c45f95fc23dc1f3d78c6afc31eb4b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: yatter-2.0-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for yatter-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a5c8a118a37f40dc6bbd527a93796c2133818978222bc96016f606ddb4d3f9
MD5 dccb8e1198d228bee07579f114d8e282
BLAKE2b-256 b8724fe2b3fa5bf51b667b27f4afd5595f4fed4422282642fd883e15182d711a

See more details on using hashes here.

Provenance

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