Cypher中路径的零个或多个

时间:2018-12-09 00:26:21

标签: graph neo4j path cypher

例如,我有一条路径:

1-[:A]->2-[:B]->3

我们可以使用*运算符定义是否可以重复特定边。我想在整个路径上使用*运算符,或在两个边上结合使用。我想遵循:(A和B)零次或多次。

示例:

1-[:A]->2-[:B]->3-[:A]->4-[:B]->5...

我不确定如何在Cypher的整个路径中应用*运算符。我的意图是表达一种模式,该模式允许将特定路径重复0次或多次。

1 个答案:

答案 0 :(得分:0)

这是可变长度模式在Cypher中无法做到的。但是,因此,我们向path expander procs in APOC Procedures添加了重复序列功能。

例如:

MATCH (n)
WHERE id(n) = 123
CALL apoc.path.expandConfig(n, {relationshipFilter:'A>, B>'}) YIELD path
RETURN path

这从起始节点(n)扩展,仅扩展了传出:A和:B关系的重复序列。没有提供minLevel或maxLevel属性,因此该属性的最小长度为0,最大长度没有限制。