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 的数量不是常数。
我在图表上使用以下 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 的数量不是常数。