Neo4j Cypher未知错误

时间:2015-02-18 02:13:23

标签: neo4j cypher

所以我从这篇文章中创建了一个日期维度 a link

我修改了它并将日期戳添加到Day节点,即月/日/年(字符串)

我在Year.year,Month.month,Day.day&&和day.datestamp

当我运行此查询时:

  

MATCH p =(day2:Day {datestamp:'1/1/2015'}) - [:NEXT *] - >(day {day:2})      返回长度(p)      限制5

执行

需要1667 ms

当我将查询修改为:

  

MATCH p =(day2:Day {datestamp:'/ 1/1/2015'}) - [:NEXT *] - >(day {datestamp:'1/2/2015'})      返回长度(p)

运行约一分钟后,它以未知错误消息结束。

我的架构是:

  

索引

     

ON:日(天)ONLINE
   ON:日(日期戳)ONLINE
   ON:月份(月份)ONLINE
   ON:年(年)在线

     

无约束

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

我想我已经明白了。

看起来运行1667ms的第一个查询仅运行并完成,因为限制5,它找到5条记录并停止进一步执行。

而另一个人继续前进,直到它用尽果汁。

我认为在这种情况下的解决方案是约束,表明datestamp是唯一的,这应该阻止进一步执行。

还是有趣的是,考虑到有大约2600条记录与HAS_NEXT相关联,因此通过这些关系不应该花费很长时间才能发现只有1条记录与该查询相匹配。