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

neo4j图数据库基础操作命令(CQL语法)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

neo4jCQL命令

  • 一、内容简介
  • 二、缩写解释及注意点
    • 1. Node节点
    • 2. Label标签
    • 3. Property属性
    • 4. Relationship关系
    • 5. 大小写
    • 6. 分割符
    • 7. 下面需要用到的缩写
  • 三、Node节点操作
    • 1. 创建节点
    • 2. 查询节点
      • 2.1 查询全部节点
      • 2.2 查询指定标签的节点
      • 2.3 查询指定标签指定属性的节点
    • 3. 修改节点
    • 4. 删除节点
      • 4.1 删除指定标签指定属性的节点
      • 4.2 删除指定标签节点
      • 4.3 删除全部节点
      • 4.4 永久删除
  • 三、Relationship关系操作
    • 1. 创建关系
    • 2. 查询关系
      • 2.1 查询所有的关系
      • 2.2 条件查询关系
      • 2.3 条件查询关系-where
      • 2.4 查询指定两个节点的关系
    • 3. 修改关系
      • 3.1 批量修改关系信息
      • 3.2 修改指定两个节点的关系
      • 3.3 指定开始节点来修改关系信息
      • 3.4 指定结束节点来修改关系信息
    • 4. 删除关系
      • 4.1 批量删除指定标签的所有关系
      • 4.2 删除指定标签指定属性为开始节点的所有关系
      • 4.3 删除指定标签指定属性为结束节点的所有关系
      • 4.5 删除指定标签指定属性的两个节点的所有关系
      • 4.2 删除指定标签为开始节点的所有关系
      • 4.1 批量删除所有关系


一、内容简介

以下内容为neo4j数据库相关操作命令,包含节点的增删改查和关系的增删改查
请先安装neo4j数据库,运行服务,使用neo4j浏览器访问数据库来进行操作。
neo4j介绍
neo4j数据库安装及浏览器访问
以下内容均为neo4j浏览器界面输入命令操作
命令语法内容涵盖大部分常用内容,变化很多但可举一反三。


二、缩写解释及注意点

1. Node节点

节点是Neo4j数据库最小单位
一个节点相当于mysql中的一条记录
以下命令中用n表示,多个节点时用n1,n2,n3。。。

2. Label标签

标签是对节点的归类,多个节点可归属同一个标签
标签和节点的关系可以理解为java中类和实例的关系
以下命令中用L表示标签,多个标签时用L1 ,L2,L3。。。

3. Property属性

属性是节点的数据,一个节点可以有多个属性,属性和节点的关系可以理解为Java中实例对象和属性的关系。属性以键值的形式存在,一个属性名对应一个属性值。
以下命令中用p表示属性名,用v表示属性值,如果含有多个属性加数字来表示p1:v1,p2:v2。。。

4. Relationship关系

关系是用来连接节点的,表示节点与节点之间的关系,关系也和节点一样有属性,同一个节点可以有多个关系。关系也有标签,通常指定一个关系时用[r:R]r类似于节点,R类似于节点对应的标签。
因为关系不会一次性用多个,所以以下命令中只会用到r和R

5. 大小写

CQL命令的关键字如create、delete、match、set等是不区分大小写的
可以用大写也可以用小写,以下命令中均以小写(个人习惯)

6. 分割符

命令中当有多个参数并列时需要用到分隔符
正常都用逗号隔开,但如where这种子句条件时用and分割

7. 下面需要用到的缩写

n :node节点
L :Label标签
p :property属性名
v :value属性值
r :relationship关系
R :Relationship关系标签

文章中的语法的缩写字母并非固定,可以任意字母更换,但推荐使用对应缩写,方便理解和记忆。

以下仅为命令语法,具体演示实例请参考: neo4j的CQL命令实例演示


三、Node节点操作

对node节点的增删改查操作

1. 创建节点

create新增

create(n:L{p1:v1,p2:v2}) return n

2. 查询节点

match查询

2.1 查询全部节点

括号可以省略

match(n) return(n)
//或
match(n) return n

2.2 查询指定标签的节点

match(n:L)

2.3 查询指定标签指定属性的节点

match(n:L{p1:v1,p2:v2})

3. 修改节点

set修改,但需要配合match搜索使用

match(n:L{p1:v1,p2:v2})set n.p1=v11,n.p2=v22

4. 删除节点

delete删除,如果节点存在关系,则无法使用delete删除,此时需要在delete前加上detach关键字强制删除

4.1 删除指定标签指定属性的节点

match(n:L{p1:v1,p2:v2})delete n

4.2 删除指定标签节点

match(n:L) delete n

4.3 删除全部节点

match(n) delete n

4.4 永久删除

如果节点包含关系,则无法直接使用delete删除,需要使用detach配置delete强制删除
使用detach可以实现永久删除数据

match(n) detach delete n

三、Relationship关系操作

1. 创建关系

创建两个节点之间的关系,并给关系添加属性信息,添加后返回节点和关系的图数据结果

match(n1:L1{p1:v1,p2:v2}),(n2:L2{p11:v11}) create(n1)-[r:R{p111:v111}]->(n2) return n1,r,n2

2. 查询关系

同样的查询关系也是用match

2.1 查询所有的关系

match(n1)-[r]-(n2)return n1,r,n2

2.2 条件查询关系

查询n1节点属性p1、p2对应的所有关系

match(n1:L1{p1:v1,p2:v2})-[r]->(n2) return n1,r,n2

2.3 条件查询关系-where

使用where子句查询属性p1值为v1属性p2值为v2的n1节点的所有关系

match(n1)-[r]->(n2) where n1.p1=v1 and n1.p2=v2 return n1,r,n2

2.4 查询指定两个节点的关系

match(n1:L1{p1:v1})-[r]->(n2:L2{p2:v2})return n1,r,n2

3. 修改关系

3.1 批量修改关系信息

修改指定关系标签的指定属性信息
将标签为R的所有关系属性pr1改为vr1,并返回修改后的图数据

match(n1)-[r]-(n2) set r.pr1 = vr1 return n1,r,n2
//或
match(n1)-[r:R]-(n2) set r.pr1 = vr1 return n1,r,n2

3.2 修改指定两个节点的关系

修改两个指定节点的指定关系标签的关系属性信息

match(n1:L1{p1:v1})-[r]->(n2:L2{p2:v2}) set r.pr1=vr1 return n1,r,n2
//或
match(n1:L1{p1:v1})-[r:R]->(n2:L2{p2:v2}) set r.pr1=vr1 return n1,r,n2

3.3 指定开始节点来修改关系信息

match(n1:L1{p1:v1})-[r:R]->(n2) set r.pr1=vr1  return n1,r,n2

3.4 指定结束节点来修改关系信息

箭头可指向右侧也可指向左侧

match(n1:L1{p1:v1})<-[r:R]-(n2) set r.pr1=vr1  return n1,r,n2

4. 删除关系

4.1 批量删除指定标签的所有关系

match(n1)-[r:R]->(n2) delete r

4.2 删除指定标签指定属性为开始节点的所有关系

match(n1:L1{p1:v1})-[r]->(n2) delete r

4.3 删除指定标签指定属性为结束节点的所有关系

match(n1:L1{p1:v1})<-[r]-(n2) delete r

4.5 删除指定标签指定属性的两个节点的所有关系

match(n1:L1{p1:v1})-[r]-(n2:L2{p2:v2}) delete r

4.2 删除指定标签为开始节点的所有关系

match(n1:L1)-[r]->(n2) delete r

4.1 批量删除所有关系

match(n1)-[r]->(n2) delete r

以上就是CQL命令内容,感谢阅读,祝君暴富!


相关文章:

neo4j图数据库基础操作命令(CQL语法)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

vscode无法连接远程服务器的可能原因:远程服务器磁盘爆了

vscode输入密码后一直等待&#xff0c;无法进入远程服务器终端&#xff1a; 同时Remote-SSH输出包含以下内容 在日志中的以下几个部分&#xff1a; [17:15:05.529] > wget download failed 这表明VS Code尝试在远程服务器上下载VS Code服务器时失败了。> Cannot write…...

SSL 证书过期巡检脚本 (Python 版)

哈喽大家好&#xff0c;我是咸鱼 之前写了个 shell 版本的 SSL 证书过期巡检脚本 &#xff08;文章&#xff1a;《SSL 证书过期巡检脚本》&#xff09;&#xff0c;后台反响还是很不错的 那么今天咸鱼给大家介绍一下 python 版本的 SSL 证书过期巡检脚本 &#xff08;完整代码…...

从0到1自学网络安全(黑客)【附学习路线图+配套搭建资源】

前言 网络安全产业就像一个江湖&#xff0c;各色人等聚集。相对于欧美国家基础扎实&#xff08;懂加密、会防护、能挖洞、擅工程&#xff09;的众多名门正派&#xff0c;我国的人才更多的属于旁门左道&#xff08;很多白帽子可能会不服气&#xff09;&#xff0c;因此在未来的…...

Michael.W基于Foundry精读Openzeppelin第20期——EnumerableMap.sol

0. 版本 [openzeppelin]&#xff1a;v4.8.3&#xff0c;[forge-std]&#xff1a;v1.5.6 0.1 EnumerableMap.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/structs/EnumerableMap.sol EnumerableMap库提供了Bytes32ToB…...

深入探索二叉树:应用、计算和遍历

当涉及到二叉树的计算问题时&#xff0c;我们可以进一步介绍如何计算叶子节点数、树的宽度和叶子的深度&#xff0c;并解释三种常见的二叉树遍历方式&#xff1a;先序遍历、中序遍历和后序遍历。 1. 计算叶子节点数 叶子节点是指没有子节点的节点&#xff0c;也就是树中的末端…...

关于 1 + 1 = 2 的证明

1 1 2 首先是皮亚诺的自然数公理 意大利数学家皮亚诺提出的关于自然数的 5 5 5 条公理如下&#xff08;定义 S ( x ) S(x) S(x) 为自然数 x x x 的后继&#xff09;&#xff1a; 0 0 0 是自然数每一个自然数 n n n 都有一个自然数后继记为 S ( n ) S(n) S(n) 0 0 0 不是…...

【C++】——内存管理

目录 回忆C语言内存管理C内存管理方式new deleteoperator new与operator delete函数new和delete的实现原理定位new表达式(placement-new)malloc/free和new/delete的区别 回忆C语言内存管理 void Test() {int* p1 (int*)malloc(sizeof(int));free(p1);int* p2 (int*)calloc(4…...

Jmeter录制HTTPS脚本

Jmeter录制HTTPS脚本 文章目录 添加“HTTP代理服务器”设置浏览器代理证书导入存在问题 添加“HTTP代理服务器” 设置浏览器代理 保持端口一致 证书导入 点击一下启动让jmeter自动生成证书&#xff0c;放在bin目录下&#xff1a; 打开jmeter的SSL管理器选择刚刚生成的证书&…...

Linux 的Centos 7 安装 启动 Google Chrome

我之所以在Centos上安装Chrome主要是为了让Web自动化测试工具可以启动Chrome&#xff0c;协助我做一些工作。 参考&#xff1a;centos7 google-chrome的安装与启动 - 简书 1.安装chrome逻辑 1. 下载安装包 2. 安装 3. 启动 》这就是在window上的逻辑&#xff0c;只是用命令行…...

DNS WEB HTTP

DNS与域名 网络是基于 TCP/IP 协议进行通信和连接的。 每一台主机都有唯一的标识&#xff0c;用于区别在网络上成千上万个用户和计算机。即固定的IP地址&#xff08;32位二进制数转换成为十进制数——点分十进制&#xff09;。每一个与网络相连接的计算机和服务器都被指派一个…...

微信小程序animation动画,微信小程序animation动画无限循环播放

需求是酱紫的&#xff1a; 页面顶部的喇叭通知&#xff0c;内容不固定&#xff0c;宽度不固定&#xff0c;就是做走马灯&#xff08;轮播&#xff09;效果&#xff0c;从左到右的走马灯&#xff08;轮播&#xff09;&#xff0c;每播放一遍暂停 1500ms &#xff5e; 2000ms 刚…...

node.js

什么是Node.js Node.js 是一个免费的、开源的、跨平台的 JavaScript 运行时环境,使开发者可以搭建服务器端的JavaScript应用程序 概念: 使用Node.js编写后端程序 // 支持前端工程化 ​ 后端程序&#xff1a;提供接口和数据 &#xff0c;网页资源 ​ 前端工程化:对代码压缩&…...

【微信小程序创作之路】- 小程序远程数据请求、获取个人信息

【微信小程序创作之路】- 小程序远程数据请求、获取个人信息 第七章 小程序远程数据请求、获取个人信息 文章目录 【微信小程序创作之路】- 小程序远程数据请求、获取个人信息前言一、远程数据请求1.本地环境2.正式域名 二、获取用户个人信息1.展示当前用户的身份信息2.获取用…...

XML基础知识讲解

文章目录 1. xml简介2. xml快速入门3. xml的元素(标签)定义4. xml标签的命名规范5. xml的属性定义和注释6. 转义字符7. CDATA区8. xml的处理指令9. xml的约束 1. xml简介 XML&#xff08;eXtensible Markup Language&#xff09;是一种用于描述数据的标记语。 它以纯文本的方…...

(十二)大数据实战——hadoop集群之HDFS高可用自动故障转移

前言 本节内容主要介绍一下hadoop集群下实现HDFS高可用的自动故障转移&#xff0c;HDFS高可用的自动故障转移主要通过zookeeper实现故障的监控和主节点的切换。自动故障转移为 HDFS 部署增加了两个新组件&#xff1a;ZooKeeper 和 ZKFailoverController &#xff08;ZKFC&…...

Ubuntu下载deb包及其依赖包

一、简介 有时我们需要在离线环境使用提前准备好的deb包&#xff0c;然后只需要在新机器使用dpkg -i安装即可。 二、命令 apt-get download $(apt-rdepends &#xff08;需要下载的包&#xff0c;可以有多个&#xff09; | grep -v "^ " | sed s/debconf-2.0/debco…...

Ubuntu中解/压缩命令

一、zip文件 #解压 unzip filename.zip #压缩 zip filename.zip dirname # 递归处理&#xff0c;将指定目录下的所有文件和子目录一并压缩 zip -r filename.zip dirname 二、tar文件 # 解压 tar xvf FileName.tar # 压缩&#xff0c;将DirName和其下所有文件(夹)打包非压…...

剑指 Offer 12. 矩阵中的路径(回溯 DFS)

文章目录 题目描述思路分析完整代码 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff…...

iceberg对比hive优势

1.事务性 从事务性上来说&#xff0c;iceberg具有更高的数据质量。 因为iceberg本质是一种table format&#xff0c;屏蔽了底层的存储细节&#xff0c;写入数据时候需要严格按照schema写入。而hive可以先写入底层数据&#xff0c;然后使用load partition的方式来加载分区。这样…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...