Transforming your ontology into YARRRML mappings

May 19, 2025 · View on GitHub

This script generates a YARRRML template from the input ontology. The transformations made are:

OntologyMapping
ClassTriplesMap + Simple PredicateObjectMap (rdf:type, class)
Data PropertySimple PredicateObjectMap in the TriplesMap corresponding to the class defined in the domain of the property
Object PropertyJoin PredicateObjectMap in the TriplesMap corresponding to the class defined in the domain of the property and where the parentTriplesMap is the TriplesMap corresponding to the class defined in the range of the property

How to execute it

Execution from CLI

The input ontology can be serialized in NTRIPLES, RDF/XML or Turtle

python3 -m pip install owl2yarrrml
python3 -m owl2yarrrml -i paht/ontology.xml -o ouput_path/mapping.yml

Execution as a library

The ontology has to be provided in RDF/XML.

import owl2yarrrml
import owlready2
ontology=owlready2.get_ontology("file://path/to/my/ontology.xml").load()
yarrrml_content = owl2yarrrml.translate(ontology)

Authors

CiTIUS - Universidade de Santiago de Compostela (2023-now) and Ontology Engineering Group - Universidad Politécnica de Madrid (2020-2023):