如何解决Neo4j:获取一组节点之间的所有关系
假设我有节点A和B。我想找到连接这两个节点的所有路径。我该怎么办?
这是我制作的插图。抱歉,我知道这很烂
解决方法
您可以使用variable length relationship返回所有此类路径。
对于您的示例(具有指向两个方向的关系),使用无向可变长度关系的此查询应该有效:
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
为提高性能,通常还可以在路径上指定可能的关系类型,以避免沿着不适当的路径走,例如:
{{1}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。