An open API service indexing awesome lists of open source software.

https://github.com/zazuko/xrm-r2rml-workflow

All you need to convert relational databases (RDB) to RDF in a declarative & fully automated way.
https://github.com/zazuko/xrm-r2rml-workflow

ontop r2rml rdb rdf sql

Last synced: about 1 year ago
JSON representation

All you need to convert relational databases (RDB) to RDF in a declarative & fully automated way.

Awesome Lists containing this project

README

          

# Template for Mapping from MySQL to RDF Triples using XRM

Use this repo as template to set up a project-specific mapping project.

This repository is structured as a full example showing how Zazuko [Expressive RDF Mapper (XRM)](https://github.com/zazuko/expressive-rdf-mapper)
can be used together with [Ontop](https://github.com/ontop/ontop) to generate triples out of a MySQL database. See our [product page](https://zazuko.com/products/expressive-rdf-mapper/) and the [documentation](https://github.com/zazuko/expressive-rdf-mapper/blob/main/README.md) for editing instructions.

For this example, we will use a basic [example database](https://www.w3.org/TR/r2rml/#example-input-database) from the R2RML W3C Recommendation.

Using the *Expressive RDF Mapper* Eclipse plugin or the VS Code extension, the project will automatically write the mapping to [`./src-gen`](./src-gen).

## Prerequisites

* [Docker](https://www.docker.com/get-started)
* [docker compose](https://docs.docker.com/compose/install/)
* GNU Make

## Repository Structure

* [`Makefile`](./Makefile)

`$ make` runs all targets:

* `$ make sql` to start the MySQL database with the `example-database.sql` data.
* `$ make convert` to 'apply' the r2rml mapping generated by XRM to the MySQL database, resulting in `ontop-scripts/triples.nt` N-Triples file.

* [`database/`](./database/)

MySQL database related files and config.

* [`mapping/`](./mapping/)

[R2RML](https://www.w3.org/TR/r2rml/#abstract) mappings used to convert the MySQL database content into triples. The R2RML mappings are generated using the [expressive-rdf-mapper](https://github.com/zazuko/expressive-rdf-mapper).

* [`ontop-scripts/`](./ontop-scripts/)

Scripts used to create triples from the MySQL database, using the R2RML mappings.