-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Quince is a toolset for managing RDF data in a Git repository.
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.
Quince is implemented in Python 3.4, and uses GitPython to interact with Git.
You will need Python 3.4 and git installed to use Quince.