当前位置: 首页 > news >正文

Neo4j之MERGE基础

在 Neo4j 中,MERGE 语句用于根据指定的模式进行创建或匹配节点和关系。它可以在节点或关系不存在时创建它们,并在已存在时进行匹配。

创建或匹配节点:

MERGE (p:Person {name: 'John'});

这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。如果不存在,则创建一个新节点。

创建或匹配带有多个标签的节点:

MERGE (m:Movie:Action {title: 'The Matrix', released: 1999});

这个查询会检查是否已经存在一个带有 "Movie" 和 "Action" 标签且属性 "title" 为 "The Matrix" 的节点。如果不存在,则创建一个新节点。

创建或匹配关系及相关节点:

MERGE (a:Person {name: 'Alice'})
MERGE (b:Person {name: 'Bob'})
MERGE (a)-[:FRIEND]->(b);

这个查询会首先检查是否已经存在两个具有 "Person" 标签的节点,分别为 "Alice" 和 "Bob"。然后它会创建一个 "FRIEND" 关系将这两个节点连接起来。

条件性创建或匹配:

MERGE (p:Person {name: 'John'})
ON CREATE SET p.age = 30
ON MATCH SET p.updated = timestamp();

这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。如果不存在,则创建一个新节点并设置 "age" 属性为 30。如果已存在,则更新 "updated" 属性为当前时间戳。

MERGE 语句非常适用于在插入或更新数据时进行模式匹配,它可以确保数据的一致性,同时避免重复创建相同的节点或关系

http://www.lryc.cn/news/127888.html

相关文章:

  • AbstractRoutingDataSource,spring配置多数据源问题
  • 日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。
  • Linux网络编程(TCP状态转换关系)
  • tauri-vue:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果
  • 做好以下几点,可以让我们延长周末体验感,好好放松!!!
  • Python 学习笔记——代码基础
  • Android Studio 无法正常导入项目
  • Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目
  • PG常用SQL
  • 分模块开发的意义及开发步骤
  • vue-router中的一些 API
  • go-zero 是如何实现令牌桶限流的?
  • Oracle/PL/SQL奇技淫巧之ROWNUM伪列
  • “MongoDB基础知识【超详细】
  • 腾讯24届校招内推
  • 星际争霸之小霸王之小蜜蜂(二)--类的使用
  • AndroidStudio升级Gradle之坑
  • C# int ? 关键字使用方法
  • Redis_主从复制
  • Postman 的 Pre-request Script 使用RSA加解密
  • 【Swagger】只需要3步搭建Swagger环境,就可以让你的项目实现Swagger在线文档,实时浏览,修改展示
  • pytest运行时参数说明,pytest详解,pytest.ini详解
  • Matplotlib绘图知识小结--Python数据分析学习
  • mouseover、mouseout和mouseenter、mouseleave之间的区别(配对使用)
  • 【论文阅读】基于深度学习的时序预测——Autoformer
  • 【AI】《动手学-深度学习-PyTorch版》笔记(十五):网络中的层、块和参数
  • Flink之Task解析
  • 计算机竞赛 python 爬虫与协同过滤的新闻推荐系统
  • 如何使用Kali Linux进行密码破解?
  • 【Freertos基础教程】任务管理之基本使用