带过滤器的cypher shortestpath查询

时间:2016-07-19 09:06:30

标签: neo4j cypher

我正在使用cypher查询最短路径。

               MATCH path = allshortestPaths((a:Place { Name:'Name-1' })-[*]
               -(b:Place { Name:'Name-2' }))
               WHERE ANY(x IN nodes(path) WHERE x.Status = "true")
               RETURN path

以上查询是在获取最短路径列表后过滤路径。

但我的要求是它应该在内部使用ANY(x IN nodes(path) WHERE x.Status = "true")条件过滤路径,然后在过滤后的路径中找到最短路径。

这可能吗?

1 个答案:

答案 0 :(得分:1)

首先获得所有最短路径然后过滤条件或其他方式并不重要。在评论中发布,条件用于最短路径查询。

您的查询可能会很慢,因为必须评估所有路径以找到符合条件的最短路径(请参阅评论链接)。

如果你的查询运行并返回一些你很好的东西。