首页 > 解决方案 > 如何将两个节点合并在一起并保留到 NEO4j / Cypher 中节点的所有链接?

问题描述

我正在尝试在 NEO4j 中将 2 个节点合并在一起。

每个节点都有自己独立的一组到 nodeA 和 nodeB 的链接。

我想将 nodeA 和 nodeB 之间的所有属性合并在一起,因为它们有一些不同的属性。同时还保留了新合并节点中两个节点的所有链接。

我该怎么做呢?

标签: neo4jcypher

解决方案


你应该看看APOC 程序。该程序apoc.refactor.mergeNodes完全符合您的要求。

MATCH (f:Person {name:'Foo'}), (b:Person {surname:'Bar'})
CALL apoc.refactor.mergeNodes([f,b])
YIELD node RETURN node

文档和示例:https ://neo4j.com/docs/labs/apoc/current/graph-up​​dates/graph-refactoring/merge-nodes/


推荐阅读