例如,我有一条路径:
1-[:A]->2-[:B]->3
我们可以使用*运算符定义是否可以重复特定边。我想在整个路径上使用*运算符,或在两个边上结合使用。我想遵循:(A和B)零次或多次。
示例:
1-[:A]->2-[:B]->3-[:A]->4-[:B]->5...
我不确定如何在Cypher的整个路径中应用*运算符。我的意图是表达一种模式,该模式允许将特定路径重复0次或多次。
答案 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,最大长度没有限制。