Named RDF graphs with versioning
type: Library
package name: versioned_graph
author: Jacco van Ossenbruggen
primary repository: GitRepository
  git URL: versioned graph.git
description: Library to version RDF named graphs. In the normal GIT model every commit object refers to a tree object, which represents a complete snapshot of the project directory tree. Trees are recursive structures of other tree objects (subdirectories) and hashes of blobs (storing the contents of files in the dir). In this library every commit also refers to a tree object, but this represents a complete snapshot of all tracked named graphs in the triple store. A tree thus describes the urls of the named graphs with hashes of the blobs which store the actual triples of each named graph. The backend storage is by default done in a normal git repo, but this can be switched to a triple-based storage model where each git object is represented by a named graph in the triple store (node that this can lead to many named graphs). The current implementation naively copies entire graphs, which is fine in the git backend, which is build to deal with this. It explodes, however, when blobs are materialized into RDF. We will need to look into smarter solutions for this later.