是的,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
關系,表示他們從隨機的一年開始認識。