user  

Re: [Neo] Design pattern for versioned entities

Tobias Ivarsson
Tue, 19 May 2009 10:17:59 -0700

On Tue, May 19, 2009 at 6:50 PM, Peter Ferne <pe...@jivatechnology.com>wrote:
>
>
> 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.


I'm sorry for that, I am aware that "design patterns" are something that
captures existing best practices. I was lacking a better term for describing
a suggestion for a pattern for designing something and sloppily misused an
existing term. Perhaps I should have just said "pattern", or "pattern for
structuring a graph layout representing versioned entities". Thank you for
correcting me in any case.


> 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."


A VCS is one of the most simple cases of versioned entities, simply because
it is a DAG. The problem with the system I am designing at the moment is
that the versioned entities here are not structured as a DAG. There *will*
be cycles in between entities.

>
> [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!


The specific code I am working on is proprietary to a customer, so I cannot
publish that. But I can extract the pattern and publish that separately. I
will probably do so on svn.neo4j.org though.

It was interesting to get your ideas, and the article you linked to was an
interesting read.

Thanks for your input,
-- 
Tobias Ivarsson <tobias.ivars...@neotechnology.com>
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user