繁体   English   中英

Neo4j:获取一组节点之间的所有关系

[英]Neo4j: Get all relationships between a set of nodes

假设我有节点 A 和 B。我想找到连接这两个节点的所有路径。 我该怎么做?

这是我做的一个插图。 对不起,我知道这很糟糕,哈哈

在此处输入图片说明

您可以使用可变长度关系来返回所有此类路径。

对于您的示例(具有指向两个方向的关系),使用无向可变长度关系的此查询应该可以工作:

MATCH p=(:Foo {id: 'A'})-[*]-(:Foo {id: 'B'})
RETURN p

但是请注意,没有合理上限的可变长度关系实际上可能会永远存在或耗尽内存。 因此,根据您的数据库特征,您应该确定并使用一个合理的上限。 例如:

MATCH p=(:Foo {id: 'A'})-[*..7]-(:Foo {id: 'B'})
RETURN p

为了提高性能,指定路径上可能的关系类型通常也很有帮助,以避免沿着不合适的路径走下去,例如:

MATCH p=(:Foo {id: 'A'})-[:TYPE_A|TYPE_B|TYPE_C*..7]-(:Foo {id: 'B'})
RETURN p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM