【发布时间】:2019-03-26 13:14:06
【问题描述】:
我有一个非常简单的图,它有 5 个节点(命名为 n1 - n5)、1 个节点类型(:Node)和 2 个关系类型(:r1、:r2)。节点和关系安排如下(ascii艺术见谅):
(n1)-[:r1]->(n2)-[:r1]->(n3)
(n1)-[:r2]->(n4)-[:r2]->(n3)
(n1)-[:r1]->(n5)-[:r2]->(n3)
我有一个使用可变长度路径的查询。我希望能够通过在 WHERE 子句中描述特定模式来限制返回的路径:
MATCH p = (n:Node {name: 'n1'})-[*..2]->()
WHERE (n)-[:r1]->()-[:r1]->()
RETURN p
问题是响应返回所有可能的路径。我的问题;在查询中指定可变长度路径时是否可以过滤返回的路径?
【问题讨论】:
-
响应不包含“所有可能的路径”。它包含您的查询所要求的内容:长度为 1 或 2 的所有路径,其中第一个节点满足 2 个条件 - 它的
name值为n1并且它具有长度为 2 的传出路径,仅涉及r1关系。如果这不是您想要的,那么您必须将查询调整为更具体。
标签: filter neo4j path variable-length