在图表中加载数组数据

时间:2016-11-01 21:52:48

标签: neo4j cypher

在数组中包含数据我用循环填充图形 - 用图表中的语句写入每个记录集。这导致每个循环的每个MERGE命令有几个数据库操作。有没有机会在没有基于代码的循环(单个语句)的情况下在图形中编写完整的数组,但是有一个语句写入完整的数组?这会减少很多开销。

现在:

Foreach (tt AS zz)
{ // Merge one single data record of the array }

更好:

MERGE ARRAY ((node A[key]) -[relation[key]]- (node B[key])) 

感谢。

1 个答案:

答案 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)