我并不是想获取所有连接的节点, 当我跑步时
MATCH (n:Person) RETURN n LIMIT 200
我可以看到我的所有节点和关系都分为三组,
我试图找到连接到给定节点的所有节点(通过1个或多个关系),就像如果我给出位于右下组中心的节点3,我可以取回第三组中的所有节点吗?
所以我尝试了
MATCH p=(a:Person {name:'node3'})-[:KNOWS]->(b) return p
但它只返回直接连接到node3的节点,我们是否可以获得像group3中所示的所有节点?
要获取来自该特定
KNOWS
的所有传出 Person
路径,您可以执行 可变长度关系 搜索:
MATCH p=(a:Person {name: 'node3'})-[:KNOWS*]->(b)
RETURN p
但是,最佳实践是为路径长度设置合理的上限,以避免耗尽内存或永远花费时间。例如,设置距离起始节点 7 步的上限:
MATCH p=(a:Person {name: 'node3'})-[:KNOWS*..7]->(b)
RETURN p