|| apoc.create.setProperties - APOC 核心文档 - Neo4j 文档

apoc.create.setProperties

详情

语法

apoc.create.setProperties(nodes, keys, values) :: (node)

描述

将给定属性设置到给定NODE值上。

输入参数

名称

类型

描述

nodes

ANY

要设置属性的节点。

keys

LIST<STRING>

要在给定节点上设置的属性键。

values

LIST<ANY>

要分配给给定节点上属性的值。

返回参数

名称

类型

描述

node

NODE

已更新的节点。

使用 Cypher 设置属性

可以在 Cypher 中动态引用属性,无需使用 APOC。

用于在节点或关系上动态设置属性的 Cypher 语法
SET n[key]

动态计算的键必须评估为 STRING 值。有关更多信息,请参阅 Cypher 手册 → 动态设置或更新属性

使用示例

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

CREATE (jennifer:Person {name: "Jennifer", community: 1, partition: 4})
CREATE (karin:Person {name: "Karin", community: 4, partition: 2})
CREATE (elaine:Person {name: "Elaine", community: 3, partition: 3})
MERGE (jennifer)-[:FRIENDS {since: datetime("2019-06-01")}]-(karin)
MERGE (jennifer)-[:FRIENDS {since: datetime("2019-05-04")}]-(elaine);

我们可以使用 APOC 和 Cypher 复制所有 Person 节点上的属性

apoc.create.setProperties
MATCH (p:Person)
WITH p, keys(p) AS keys
CALL apoc.create.setProperties(p,[k in keys | k + "Copy"], [k in keys | p[k]])
YIELD node
RETURN node
使用 Cypher 的动态属性
MATCH (p:Person)
FOREACH (k IN keys(p) | SET p[k + "Copy"] = p[k])
RETURN p AS node
结果
node

{"name":"Jennifer","partition":4,"community":1,"nameCopy":"Jennifer","partitionCopy":4,"communityCopy":1}

{"name":"Karin","partition":2,"community":4,"nameCopy":"Karin","partitionCopy":2,"communityCopy":4}

{"name":"Mark","partition":3,"community":3,"nameCopy":"Mark","partitionCopy":3,"communityCopy":3}

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