我运行了以下查询
MATCH p=((s:Station {})-[:VERBINDUNG*]-(t:Station))
RETURN s.name, t.name, count(p) as pfade ORDER BY pfade DESC LIMIT 10;
我知道它必须遍历很多关系,但是当我监视任务管理器中的资源时,Java堆空间没有问题。 运行一小时后,不会显示任何错误,但此外显示查询正在运行的符号也会消失,无法看到任何结果。
当我查看任务管理器时,似乎查询仍在运行,因为使用了相同的资源。我如何知道查询是否会完成并且结果是否会显示?
答案 0 :(得分:3)
由于无限的可变路径长度,根据图表的形状,此查询可能会变得非常昂贵。此外,它是一个没有任何已定义起点的全局查询。更糟糕的是,您应用ORDER BY
会阻止查询以流模式返回其结果。
我想您应该重新考虑您对查询的期望结果。也许你可以限制深度,也许限制起点和终点。你真的想要所有的路径还是只对最短路径感兴趣?如果是这样,那就是shortestPath
函数。
您是否尝试在结果窗格中按下关闭符号“x”?这应该终止正在运行的查询。
要检查是否遇到内存问题,请查看messages.log
。