例如,我有一个路径:
1-[:A]->2-[:B]->3
我们可以使用*运算符来定义特定的边是否可以重复。我想在整个路径上使用*运算符,或者将两条边组合使用。我想遵循:(A和B(零次或更多次。
示例:
1-[:A]->2-[:B]->3-[:A]->4-[:B]->5...
我不知道如何将*运算符应用于Cypher中的整个路径。我的意图是表达一种模式,允许特定路径重复0次或更多次。
这是可变长度模式在Cypher中无法做到的。然而,正因为如此,我们在APOC过程中为路径扩展程序添加了重复序列功能。
例如:
MATCH (n)
WHERE id(n) = 123
CALL apoc.path.expandConfig(n, {relationshipFilter:'A>, B>'}) YIELD path
RETURN path
这是从一个开始节点(n
(展开的,该节点仅展开传出:a和:B关系的重复序列。没有提供minLevel或maxLevel属性,因此它的最小长度为0,最大长度没有界限。