Project Sparqlify Update

This project is about enhancing Sparqlify with SPARQL Update support over a set of Sparqlify view definitions.

Given:

A database schema:

Instance data:

And a set of RDB-RDF view definitions:

It should be possible to perform DML statements, such as:

The above SPARQL Update statements should eventually be translated to

The following items are the obvious challenges:
 * Dealing with database constraints. Commonly used constraints are UNIQUE, NOT NULL, and FOREIGN KEY. A further constraint is for instance CHECK:
 * Dealing with partial insertions/deletions: If we added a statement (ex:person4 ex:age 40), without providing a name, we cannot modify the person table, as the name must not be NULL. This means, for each view definition we have to keep a "buffer" of triples, that actually affect the view, but whose corresponding SQL insert/delete operation cannot be executed yet because not all constraints are satisfied yet.
 * Updates on SQL queries and views
 * This is not so much of a challenge, as a common approach to handle updates on views is to define triggers. So for now we can ignore this issue.

For both of these points there exists prior research which we could base this project on.

Partial insertions/deletions are an essential part of the update problem.

Related Work
Google scholar results for "Sparql Update Relational Database" ... more to be added here ..
 * Updating relational data via SPARQL/update
 * A survey of current approaches for mapping of relational databases to rdf
 * TODO Find the paper, which described an ontology about errors that could occur during the update procedure.

Whoever reads this, feel free to contribute to this page :)