是的,Neo4j可以批量创建关系。您可以使用CREATE
语句一次创建多个节点和关系。以下是一个示例:
CREATE (n1:Person {name: 'Alice', age: 30}) CREATE (n2:Person {name: 'Bob', age: 25}) CREATE (n1)-[:KNOWS {since: 2020}]->(n2)
在这个示例中,我们创建了两个Person
节点(n1
和n2
),并为它们之间创建了一个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
关系,表示他们从随机的一年开始认识。