|| apoc.refactor.mergeNodes - APOC 核心文档 - Neo4j 文档

apoc.refactor.mergeNodes

详情

语法

apoc.refactor.mergeNodes(nodes [, config ]) :: (node)

描述

将给定的 LIST<NODE> 合并到 LIST<NODE> 中的第一个 NODE 上。所有 RELATIONSHIP 值也都会合并到该 NODE 上。

输入参数

名称

类型

描述

nodes

LIST<NODE>

要合并到第一个节点上的节点。

config

MAP

{ mergeRels :: BOOLEAN, selfRef :: BOOLEAN, produceSelfRef = true :: BOOLEAN, preserveExistingSelfRels = true :: BOOLEAN, countMerge = true :: BOOLEAN, collapsedLabel :: BOOLEAN, singleElementAsArray = false :: BOOLEAN, avoidDuplicates = false :: BOOLEAN, relationshipSelectionStrategy = "incoming" :: ["incoming", "outgoing", "merge"] properties :: ["overwrite", ""discard", "combine"] }。默认值为:{}

返回参数

名称

类型

描述

节点

NODE

合并后的节点。

使用示例

本节中的示例基于以下示例图:

CREATE (n1:Person {name:'Tom'}),
(n2:Person {name:'John'}),
(n3:Company {name:'Company1'}),
(n5:Car {brand:'Ferrari'}),
(n6:Animal:Cat {name:'Derby'}),
(n7:City {name:'London'}),

(n1)-[:WORKS_FOR {since:2015}]->(n3),
(n2)-[:WORKS_FOR {since:2018}]->(n3),
(n3)-[:HAS_HQ {since:2004}]->(n7),
(n1)-[:DRIVE {since:2017}]->(n5),
(n2)-[:HAS {since:2013}]->(n6);

以下将 John 和 Tom 合并为一个节点:

MATCH (a1:Person{name:'John'}), (a2:Person {name:'Tom'})
WITH head(collect([a1,a2])) as nodes
CALL apoc.refactor.mergeNodes(nodes,{
  properties:"combine",
  mergeRels:true
})
YIELD node
RETURN node;
结果
节点

(:Person {name: ["John", "Tom"]})

© . This site is unofficial and not affiliated with Neo4j, Inc.