On 19 May 2009, at 16:47, Tobias Ivarsson wrote: > It turns out that the actual structure needed for the version > management is not > trivial. > > I feel that this is something that would occur in more applications, > so I > thing that it would be a good idea to come up with, and document, a > design > pattern for how to model different versions of entities in Neo4j.
At the risk of being a pedant and/or teaching you to suck eggs I have to point out that the idea of design patterns is that they codify existing best practice, they document tried and tested solutions, and so talking about wanting to "to come up with ... a design pattern" is perhaps a little sloppy. No offence intended. Anyway, to answer your question, there is of course a substantial existing body of work on how to do versioning: namely version (or revision) control systems such as subversion, bazaar, darcs etc. One of the most successful at the moment is git. And there is a very nice short introduction to git, called 'Git for Computer Scientists' [1], which styles itself: "Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph." [1]: http://eagain.net/articles/git-for-computer-scientists/ I would suggest that this is probably exactly what you are looking for. Should you write any code for implementing such a pattern in neo4j I do hope you will consider making it available under an open source licence, and publishing it on github! -- petef _______________________________________________ Neo mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

