在数组中包含数据我用循环填充图形 - 用图表中的语句写入每个记录集。这导致每个循环的每个MERGE命令有几个数据库操作。有没有机会在没有基于代码的循环(单个语句)的情况下在图形中编写完整的数组,但是有一个语句写入完整的数组?这会减少很多开销。
现在:
Foreach (tt AS zz)
{ // Merge one single data record of the array }
更好:
MERGE ARRAY ((node A[key]) -[relation[key]]- (node B[key]))
感谢。
答案 0 :(得分:1)
如果您将一组输入数据(包含:{a: 123, b: 234, r: 345}
)作为data
parameter传递,则此单个查询应该可以执行您想要的操作:
UNWIND {data} AS d
MERGE (a:A {prop_a: d.a})
MERGE (b:B {prop_b: d.b})
MERGE (a)-[:FOO {prop_r: d.r}]->(b)