If you are focusing on changes of nodes, why not just archive the changes as
a new sub-graph? This allows you to maintain everything in a single database
(allowing simpler code and more possibilities), and also allows you to
manage changes of different part of the graph independently, so you don't
have to force the entire graph onto a single time-step.

For the simplest case, consider something like the older source code
revision systems (like RCS), where each node is revisioned separately.
Whenever a node changes, create a new node with the new data, place it in
the graph in the correct location, and link back to the old one with a
'previous' relationship. Then you end up with a chain of older nodes. Put a
timestamp on each and you know when the change occured. Store only the
changes in the old nodes, and you have more efficient storage.

The above idea only makes sense for some scenarios, and I don't know your
domain, so I have no idea if this is better than the entire graph copy idea
you have below. But one concept in the above idea should be taken seriously,
look to source code revision systems for ideas on tracking changes. My use
of an RCS-like model in the above example is very primitive. Try model the
design on git or mercurial for something powerful (and complex :-)

On Mon, Jan 18, 2010 at 6:53 AM, Phat Loc <phat....@gmail.com> wrote:

> Hi All,
>
> I am new to Neo4j. I am looking to use represent change in a node space
> over
> time. What is the best way to do it? Should create a new GraphDatabase per
> unit of time (say each day) and diff them or create a node for each day and
> connect a node space to a time line branch. I am thinking that a new
> GraphDatabase per day maybe easier since the next day's node space should
> be
> similar to the previous so a copy and amend is simple but it can get
> awkward
> to look for relationships over time. Is there an easy way to say copy a
> sub-graph, amend and append?
>
> Thanks,
>
> Phat
> _______________________________________________
> Neo mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to