在阅读此blog,此reference并查看此question的答案时,我对如何在时间轴树中表示不同日期感到困惑。在这两种情况下,它们在示例数据库上显示的天数有限,我的想法是,如果您想要模拟整年或无限时间日历期,则此模型无法保留。
我正在阅读这些例子,以便' day'节点只是一天中的数字' 1' 2' 2' 31' 31。由于每个月都有标记为' 1',' 2'等的日子,当您将所有日期连接到几个月时,如何遍历路径?
例如,在所附的修改图纸中,第12个月和第1个月同时包含第1,2和31天。当我看事件2时,我怎么知道这是发生在12/31还是1/31?我想对所有月份的所有日子进行建模,并使用模板(据我所知)在图表上创建不允许离散时间查询的模糊路径。
或者应该过一天。 entity是一个更独特的数字,表示该年份的日期数,该数字的属性是该月中某一天的数字?
目前我不明白如何在上述链接中建模一整年的完整时间轴树。
答案 0 :(得分:3)
修改后的绘图在月份之间共享日期节点,这就是为什么很难知道事件2是在2010年12月31日或2011年1月1日发生的
一年的时间树,分辨率为Day,将有365/366天的节点。因此,1月和12月不共享值为31的Day节点,但1月和12月具有自己的Day 31节点。换句话说,日节点恰好与一个月相关,而月节点恰好与一年相关。
然后,您可以按照事件的路径返回到根目录,而不会在月份出现分歧。
上面引用的Peter的博客文章显示了12月到1月的交叉,但没有分享Day节点31-你可以看到他能够回答你上面的所有问题。要创建时间轴,GraphAware有一个模块可以为您维护时间表,并帮助您附加事件 - http://graphaware.com/neo4j/2014/08/20/graphaware-neo4j-timetree.html
免责声明:我在GraphAware工作