看起来像是一个简单的错误,但是我找不到关于它的任何具体信息,因此希望您能对这里发生的事情有所了解。
基本上,我试图遍历两组数据,为第一组创建元素,并根据某种条件将它们与第二组的元素相关联。条件检查经由“的foreach特技”还提出,因此2级嵌套的FOREACH
的
FOREACH (plc IN [{name:'bar2',id:'pepe'},{name:'foo2',id:'papa'},{name:'foo3',id:'paps'}] |
MERGE (place:Place {id:plc.id})
ON CREATE SET place = plc
FOREACH (evt IN [{placename:'foo2',id:'pewpew'},{placename:'foo2',id:'powpow'},{placename:'bar2',id:'pawpaw'},{placename:'bar2',id:'pwaaagh'},{placename:'foo3',id:'pwaaagh'}] |
FOREACH (ignoreme in CASE WHEN evt.placename = plc.name THEN [1] ELSE [] END |
CREATE (e:Event)-[rel:IN]->(place)
SET e=evt
)))
愉快地咯咯地笑着Neo4j
向我扔Unknown identifier "e"
似乎是一个错误。您可以通过将较长的创建模式分成两个来解决此问题,以便e
创建变量。
FOREACH (plc IN [{name:'bar2',id:'pepe'},{name:'foo2',id:'papa'},{name:'foo3',id:'paps'}] |
MERGE (place:Place {id:plc.id})
ON CREATE SET place = plc
FOREACH (evt IN [{placename:'foo2',id:'pewpew'},{placename:'foo2',id:'powpow'},{placename:'bar2',id:'pawpaw'},{placename:'bar2',id:'pwaaagh'},{placename:'foo3',id:'pwaaagh'}] |
FOREACH (ignoreme in CASE WHEN evt.placename = plc.name THEN [1] ELSE [] END |
CREATE (e:Event)
CREATE (e)-[rel:IN]->(place)
SET e=evt
)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句