Neo4j - 路径查询的性能

时间:2016-03-01 08:57:14

标签: performance neo4j cypher

我必须找到两个节点之间的所有路径。每条路径的长度必须介于1和5之间(此示例为2和3)。

所以我正在使用此查询:

profile match p = (a:Station {name : 'X'} ) - [r*2..3] -> (b:Station {name : 'Y'} ) return distinct p

我有一个索引:站(名称)

但是当我描述这个查询时,我得到了这个结果:

my query's profile 所以问题是neo4j为这个节点B提供了可能的每个关系,然后使用名称进行过滤。这是一种仅仅采用涉及这两个特定节点的关系的方法吗?

1 个答案:

答案 0 :(得分:1)

也许您可能希望使用allShortestPaths,例如:

PROFILE MATCH p=allShortestPaths((n:Person {name:'Ian Robinson'})-[r*1..5]–(b:Person {name:'Michal Bachman'}))
RETURN p

enter image description here