Neo4j:在指定路径中使用一个节点作为可选来匹配APOC路径

Neo4j: Match APOC path using one node as optional in the specified path

我在图表上使用以下 neo4j 密码查询:

MATCH (start:N1{id:'xyz'})
CALL apoc.path.expandConfig(start, {sequence:'N1, a>, N2, b>, N3, c>, 
N4', maxLevel:3}) YIELD path
RETURN path
ORDER BY length(path) DESC

现在我想将 N3 保留为可选。就像 link N2-b->N3 不可用一样,它应该检查 N2-b->N4 等等。我知道我可以做两个单独的查询和检查。但是有没有办法让 N3 在此查询本身中保持可选?

提前致谢!

不,这目前是不可能的。如果有不同的节点可以使用,这会起作用,因为您可以接受不同的标签来代替节点(或者如果您不关心的话,可以接受任何节点标签),但是这里没有办法使用序列其中定义序列中 nodes/rels 的数量不是常数。