У меня есть вложенный цикл FOREACH, которому нужно сопоставить тег с несколькими метками.
OPTIONAL MATCH (a: Article {URL: event.URL})
FOREACH(ignoreme in case when a is null then [1] else [] end |
CREATE (a: Article {URL: event.URL})
//other statements ..... //
FOREACH (relation in CASE WHEN event.article.nlp_relations is not null then event.article.nlp_relations else [] end |
match (a)-[:HAS_NLP_TAG]->(t_from) where (t_from:Tag or t_from:Entity) and t_from.value = relation.from.value
match (a)-[:HAS_NLP_TAG]->(t_to) where (t_to:Tag or t_to:Entity) and t_to.value = relation.to.value
call apoc.create.relationship(t_from,relation.type , {}, t_to)
)
)
Это не работает, потому что вы не можете использовать совпадение внутри foreach. Я могу сказать, что всегда будет соответствующий узел, так как он будет создан ранее в том же запросе. поэтому он никогда не будет нулевым, но я не знаю, как выразить это в нынешней форме. Кто-нибудь может помочь