我想要MERGE
一个节点:
MERGE (a: Article {URL: event.URL})
如果节点不存在,我需要这样做:
ON CREATE FOREACH( site_name in CASE WHEN event.site_name is not null then [1] ELSE [] END |
MERGE (w: Website { value: event.site_name})
MERGE (w)-[:PUBLISHED]->(a))
// all of the tag creation
FOREACH( tag in CASE WHEN event.tags is not NULL then event.tags else [] END |
Merge (t: Article_Tag {value: tag})
CREATE (a)-[: HAS_ARICLE_TAG {date:event_datetime}]->(t))
我相信ON CREATE
只适用于SET
,但如上所述,我需要执行多个语句。有没有办法用ON CREATE
子句创建多个节点和关系?
编辑:我已经尝试过ON CREATE FOREACH(ignoreme in case when event.article is not null then [1] else [] end |... multiple statements
,但这无法逃脱SET的问题。
发布于 2019-09-29 22:15:48
这是最好的方法:只需将其封装在FOREACH语句中即可
MATCH (a: Article {URL: event.URL})
FOREACH(ignoreme in case when a is not null then [1] else [] end |... Statement here...)
https://stackoverflow.com/questions/58158986
复制