7

I am trying to implement a solution using Graph DB with nodes and relationships. There is a requirement where a user may want to run the reports (queries) on the historical data for a node, or check out the historical relationships.

Does Graph DBs support this functionality out of the box? or, if some alternate mechanism can be implemented to persist the historical audit logging enabled for the node/relation changes in the graph DB?

Some ideas which we can contemplate...?

zzyzx
  • 129
  • 2
  • 6

1 Answers1

2

You can use transaction event listeners to create historic copies of nodes and relationships as they are updates.

If you only have tree structures in your graph I recommend that you look at Persistent Data Structures with sparse copying and structural sharing.

For Neo4j there is an Github example project with versioning.

Michael Hunger
  • 41,339
  • 3
  • 57
  • 80
  • That project looks like it's had no activity for a while, I need to provide the ability to do time travelling with data. Being able to preserve historic relationships for data like what datomic can do with in neo4j would be great. Anyone know of any libraries for neo4j to achieve it? – opensourcegeek Dec 25 '14 at 12:44