首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cypher:如果节点不存在,则创建多个节点和关系

Cypher:如果节点不存在,则创建多个节点和关系
EN

Stack Overflow用户
提问于 2019-09-29 20:34:33
回答 1查看 85关注 0票数 0

我想要MERGE一个节点:

MERGE (a: Article {URL: event.URL})

如果节点不存在,我需要这样做:

代码语言:javascript
运行
AI代码解释
复制
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的问题。

EN

回答 1

Stack Overflow用户

发布于 2019-09-29 22:15:48

这是最好的方法:只需将其封装在FOREACH语句中即可

代码语言:javascript
运行
AI代码解释
复制
MATCH (a: Article {URL: event.URL})
FOREACH(ignoreme in case when a is not null then [1] else [] end |... Statement here...)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58158986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档