Temporal Versioning
I am exploring graph data models which support time travel ie. retaining old versions of documents and maintaining the ability to query both the old and the current versions.
The methods I have seen suggest a type 2 approach of a "created" and "expired" property which allows you to know which is the current document version as well as how to query older versions. The method also recommends path copying from the point of the change up to the root. Finally, this method is defined as working well for DAGs but not for non-DAGs.
Does anyone have experience with temporal versioning and the method I've described?
2 Replies
I'm not sure if this is helpful but you might consider looking at ChronoGraph which is designed to handle graph versioning use cases: https://github.com/Txture/chronos/tree/master/org.chronos.chronograph The creator of ChronoGraph did a talk on the TinkerPop Twitch stream about it recently: https://www.youtube.com/watch?v=WSGI-MMNRvM Perhaps you will find it helpful in some way.
GitHub
chronos/org.chronos.chronograph at master · Txture/chronos
Embedded versioned persistence for JDK projects. Contribute to Txture/chronos development by creating an account on GitHub.
Apache TinkerPop
YouTube
TinkerPop Wide: Back to the Future - Time Travelling with Gremlin i...
Apache TinkerPop™ is a graph computing framework for graph systems and the home of the Gremlin graph traversal language. TinkerPop Wide streams offer an opportunity to hear from the wider community on their experiences with TinkerPop or graphs in their building of libraries, tools, graph systems or other applications.
For this session: Database...
I will take a look, thanks!