Are these two blocks actually the same? The goal is to create three nodes with IDs 1, 2, 3, and 4.
Block 1:
FOREACH ( i IN [1, 2, 3, 4] | CREATE (n {id : i}) )
Block 2:
CREATE (n { prop : [[1, 2], [3, 4]]);
MATCH (n) FOREACH ( inner_list IN n.prop | FOREACH ( j IN inner_list | CREATE (u { prop : j }) ) );
The first method seems simpler to me, and I would go with that one. What would be the advantage of the second one?