oeps .. typo.. i mean ("likes" must have been "knows")
(a)-[:KNOWS]->(knows)-[:KNOWS]->(b)
Op zaterdag 29 maart 2014 07:41:36 UTC+1 schreef [:Koen]:
>
> Hi, i am considering how to capture the "date/time" dimension efficiently
> in a graph. The bigger idea being able to query on the exact status of my
> graph in any point in time (history) .. this includes when nodes are
> created , modified and also when relations are created and modified
>
> Since i would like to query the information and the graph can become huge
> i do not want to store time based events in attributes.. it guess it must
> be in relations to allow for the graph traversal to work fast and prevent a
> lot of attribute lookups
>
> Following some samples i found in the "Graph Databases" book and some
> samples Peter provided before one could make a "timeline" and link the
> nodes from your graph to the nodes of this "timeline"
>
> The "timeline" itself (if would like to go down to he "seconds" level)
> looks like a giant tree having one node for each year, 12 nodes per year
> for each month , 28/29/30 or 31 days for each month , 25 hours per day , 60
> minutes per hour and 60 secs per minute.. each related top down... and
> horizontal with a NEXT / PREV relation..
>
> So far so good.
>
> When a node is created one could give it a :CREATED relation to the
> (seconds) node representing the time at that moment. So every node will
> have at least one link to the "timeline" when created. If attributes
> change on an node actually one would have to duplicate the node and set
> some relations again to the "timeline" to indicate the change and between
> the nodes itself to indicate which is the "NEXT" instance.
>
>
> Although it cam become messy this would allow for some queries where you
> could really see the state at some point in time .. or between or before
> some point in time.
>
>
> NOW the main point of my question ... ... if i also want to know
> "timeline" based info on when RELATIONS between nodes are created /
> changed / removed etc i wonder how to do that optimally in a huge graph ??
>
> Actually i think that the relation that exists between 2 nodes maybe must
> be replaced by a "node" representing the relation..
>
> so (a)-[:KNOWS]->(b)
>
> becomes
>
> (a)-[:KNOWS]->(likes)-[:KNOWS]->(b)
>
> which allows for the linking of the "relation" node (likes) to the
> timeline too so that you also can see (and mainly efficiently query on)
> exactly when a relation is set
>
> So ... has anyone experience with this way of working ? Would that
> somehow be manageable in a really huge graph ?
>
> Other ideas ? I made the assumption that the time dimension must be
> captured in relations iso attributes since that is what a graph is good at
>
>
> thx for any addl ideas
>
> reg koen
>
>
>
>
>
>
>
>
--
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.