创建时间表:如何获得下一个活动?

时间:2014-07-19 16:50:01

标签: neo4j cypher timeline

我找到了关于创建时间线的wiki page,但它很短且未完成。我设法创建了用于向时间轴添加事件的密码:

MERGE (y:YEAR{year: {y} })
CREATE UNIQUE y-[:HAS_MONTH]->(m:MONTH{month:{m}    })
CREATE UNIQUE m-[:HAS_DAY]->  (d:DAY  {day:  {d}    })     
CREATE UNIQUE d-[:HAS_EVENT]->(e:EVENT{desc: {desc} })
WITH y AS y
MATCH n RETURN n

它似乎工作正常,但我还需要能够让任何事件得到下一个。我不确定如何在密码中建立水平(即数月,日,事件)链接。如果我设法这样做,当我在另外两个事件之间插入新事件时,我将需要销毁此链接。 如果我不建立水平链接,我认为在时间轴中获取下一个事件的代码会相当尴尬。或不?实施它的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

请查看How to filter edges by time stamp in neo4j?

时间建模指南是使用聚合(Year)->(Month)->(Day)的时间树层次结构,范围的时间戳,以及从任何其他节点检索相对N个节点的链接列表(获取最后5个,获取下一个5)。

Timeline with linked list