I have been developing a rule-based graph transformation engine on top of Neo4J (Grape). Think of it as a declarative, rule-based language for defining and executing sub-graph replacements.
With the rule-based engine you can define and solve certain "search" problems, based on a "forward-chaining" of graph replacement rules. Backtracking is needed for this mechanism. The backtracking mechanism needs the ability to "reset" the graph database state to previous states. I currently have a version of it implemented that uses neo4j flat (nested) transactions, but it is slow, since every backtracking point resets the entire database to its original graph and then "redos" all transformations up to the point where the backtracking happened. It would be much faster to use some "save and restore" mechanism - if that was available in Neo4J at all. Here is the link to the open source project. https://github.com/jenshweber/grape Thanks Jens On Tuesday, May 17, 2016 at 9:51:43 PM UTC-7, Michael Hunger wrote: > > What's your use-case? > > Michael > > > Am 17.05.2016 um 22:37 schrieb Jens Weber <[email protected] <javascript:>>: > > > > > Is there a way to save and restore neo4j graph database states (other > than by using transactions)? Of course, I know that there is a backup > mechanism, but I am looking for something faster, something that can be > used programmatically. > > > > Flat nested transactions (as provided by neo4j) do not help in my use > case. I am trying to implement a kind of "undo" mechanism that should be > able to undo several transactions (not only one). > > > > Thanks for any advice. > > > > Jens > > > > -- > > You received this message because you are subscribed to the Google > Groups "Neo4j" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
