I would like to introduce an open source, Apache 2.0 licensed project of mine: https://github.com/CivicGraph/CivicGraph
CivicGraph is a versioned-graph data store - it retains all changes that its data (vertices and edges) that have gone through to reach their current state. It supports point-in-time graph traversals, letting the user query any past state of the graph just as easily as the present.
It is a Foxx Microservice for ArangoDB that features VCS-like semantics in many parts of its interface, and is backed by a transactional event tracker. It is currently being developed and tested on ArangoDB v3.5, with support for v3.6 in the pipeline.
CivicGraph is a potential fit for scenarios where data is best represented as a network of vertices and edges (i.e., a graph) having the following characteristics:
Both vertices and edges can hold properties in the form of attribute/value pairs (equivalent to JSON objects).Documents (vertices/edges) mutate within their lifespan (both in their individual attributes/values and in their relations with each other).Past states of documents are as important as their present, necessitating retention and queryability of their change history.
Its API is split into 3 top-level categories:
I hope some of you may find this a useful service to address several types of data modeling challenges pertaining to retention and querying of historical graph data.