apoc.create.nodes

此过程已弃用。如需动态创建节点,请改用 Cypher 的 CREATE 子句。

详细信息

语法

apoc.create.nodes(labels, props) :: (node)

描述

使用给定的动态标签创建 NODE 值。

输入参数

名称

类型

描述

标签

LIST<STRING>

分配给新节点的标签。

props

LIST<MAP>

分配给新节点的属性。

返回参数

名称

类型

描述

节点

NODE

创建的节点。

使用 Cypher 创建带有动态标签的节点

在 Cypher 中无需使用 APOC 即可动态引用标签。

用于动态创建标签的 Cypher 语法
CREATE (n:$(label))

动态计算出的标签必须求值为 STRINGLIST<STRING>。有关更多信息,请参阅《Cypher 手册》→ 使用动态节点标签和关系类型创建节点和关系

使用示例

下方的示例演示了如何通过传入映射(map)动态指定标签和属性,从而使用 Cypher 和 APOC 创建节点

以下创建了 labelsproperties 参数

:param labels =>  (["Human", "MovieStar"]);
:param properties => ([{name: "Tom Cruise", placeOfBirth: "Syracuse, New York, United States"}, {name: "Reese Witherspoon", placeOfBirth: "New Orleans, Louisiana, United States"}]);
apoc.create.node
CALL apoc.create.nodes($labels, $properties);
CREATE 子句
UNWIND $properties AS propertyMap
CREATE (node:$($labels))
SET n = propertyMap
RETURN node;
结果
节点

(:Human:MovieStar {name: "Tom Cruise", placeOfBirth: "Syracuse, New York, United States"})

(:Human:MovieStar {name: "Reese Witherspoon", placeOfBirth: "New Orleans, Louisiana, United States"})