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.

Reply via email to