嵌套的FOREACH语句检查中的未知标识符错误

马克斯·雅里(Max Yari)

看起来像是一个简单的错误,但是我找不到关于它的任何具体信息,因此希望您能对这里发生的事情有所了解。

基本上,我试图遍历两组数据,为第一组创建元素,并根据某种条件将它们与第二组的元素相关联。条件检查经由“的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章