温馨提示×

Neo4j关系创建能批量吗

小樊
81
2024-10-31 20:08:34
栏目: 编程语言

是的,Neo4j可以批量创建关系。您可以使用CREATE语句一次创建多个节点和关系。以下是一个示例:

CREATE (n1:Person {name: 'Alice', age: 30})
CREATE (n2:Person {name: 'Bob', age: 25})
CREATE (n1)-[:KNOWS {since: 2020}]->(n2)

在这个示例中,我们创建了两个Person节点(n1n2),并为它们之间创建了一个KNOWS关系,表示他们从2020年开始认识。

如果您需要批量创建大量节点和关系,可以使用UNWIND子句将数组或列表中的元素展开,然后为每个元素创建节点和关系。以下是一个示例:

WITH ['Alice', 'Bob', 'Charlie'] AS names
UNWIND names AS name
CREATE (n:Person {name: name, age: FLOOR(RAND() * 30)})
WITH n, range(1, 3) AS rel_count
UNWIND rel_count AS rel_num
CREATE (n)-[r:KNOWS {since: FLOOR(RAND() * 365)}]->()

在这个示例中,我们首先创建了一个包含三个名字的数组,然后使用UNWIND子句将数组中的每个名字展开。接下来,我们为每个名字创建一个Person节点,并为每个节点创建一个KNOWS关系,表示他们从随机的一年开始认识。

0