Skip to content
Kal Ahmed edited this page Mar 26, 2015 · 3 revisions

What is Quince?

Quince is a toolset for managing RDF data in a Git repository.

Why?

RDF can be easily serialized as text and Git is perfect for managing collections of text files. However your data management operations are hampered by this somewhat. Even with line-oriented formats such as NQuads / NTriples you need to have some consistency over the ordering of the data within those files in order to be able to easily determine exactly which triples were added and which removed by an update. If you are using Git as a means to collaborate with others in the creation of RDF data, then this becomes a problem as it is not possible to easily determine the changes contained in a pull request.

Quince provides tools to help manage this. When you add RDF to quince it is stored in a collection of NQuads files, grouped and sorted by subject URI. These are the files that then get managed in Git. You can use the normal tools of git to branch, push, pull etc. Quince allows you to see diffs between commits in an RDF, subject-oriented manner (optionally filtering by subject and/or graph). In addition Quince is able to push changes to a SPARQL Update endpoint, giving you a way to keep a SPARQL endpoint synchronized with the content of a Quince repository.

Implementation

Quince is implemented in Python 3.4, and uses GitPython to interact with Git.

Getting Started

You will need Python 3.4 and git installed to use Quince.

Clone this wiki locally