Dimitris from Oxford, UK


I am researching in theoretical computer science for the past decade, mainly on issues regarding ACMs (Access Control Models) and User Provenance (e.g. https://link.springer.com/chapter/10.1007/978-3-319-78816-6_17).

This work has led me into accurately predicting electoral outcomes (see: Voter motives and messages | Analytics Magazine - yes I predicted both Brexit and Trump in 2016... ) as well as analysing extremely complex applications (from 1m to 20 million lines of code) in order to determine their lineage.

The latter brought me to Neo4j. I would like to explore and investigate the issue of versioning in graph databases because I feel that they are lagging behind their conventional equivalents. With neo4j there are projects on versioning, but I think that if more people get involved in the community we may expedite progress.

For example, can you imagine to have snapshots of your graph db and to be able to compare the current snapshot with a previous snapshot? Say for example you have last months codebase of your graphs from process, to functions, to each statement of this function. When loading a new codebase, to be able to display in the new graph (in different colour), all the nodes and relationships that were modified (added/deleted) vs the previous snapshot of your choice - and vice versa (from the previous version to be able to see its evolution to any other version). Also to figure out ways to meta-graph (i.e. display just the graph deltas)

I feel that such functionality ought to be out of the box and lets hope that we can make it happen soon. If anyone would like to participate in this versioning effort please let me know.