neo4j学习笔记

news/2025/1/8 1:29:33/

图数据库

图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是图论为基础的,图数据库主要用于存储更多的连接数据。

图论(GraphTheory)是数学的一个分支。图论以图为研究对象,图论的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点表示事物,用连接两点的线表示相应两个事物具有关系

关系数据库:适合需要高度数据一致性、事务完整性和复杂查询的应用,如金融、会计等。
非关系数据库:适合需要高扩展性、高性能和存储半结构化数据的应用,如社交网络、大数据应用等。

neo4j_9">neo4j数据库模型

节点和关系都包含属性
关系连接节点
属性是键值对
节点用圆圈表示,关系用方向键表示
关系具有方向:单向和双向
每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”

CQL使用

Neo4j图形数据库的查询语言,是一种声明性模式匹配语言

CREATE 创建

CREATE (<要创建的节点名称>:<节点标签名称>)
CREATE (<将要创建的节点名称>:<节点标签名称>{ 	<属性名称>:<属性值>........<属性名称>:<属性值>}
)
CREATE (节点名:标签名:标签名:标签名:标签名)
CREATE (<From节点的名称>:<From节点的标签名称>)-[<关系的名称>:<关系的标签名称>]->(<To节点的名称>:<To节点的标签名称>))

MATCH匹配

MATCH 
(<要创建一个节点名称>:<节点的标签名称>
)

MATCH 经常需要与其他的语句配合才可以使用,例如

# 查询Dept下的内容
MATCH (dept:Dept) return dept# 查询Employee标签下 id=123,name="Lokesh"的节点
MATCH (p:Employee {id:123,name:"Lokesh"}) RETURN p## 查询Employee标签下name="Lokesh"的节点,使用(where命令)
MATCH (p:Employee)
WHERE p.name = "Lokesh"
RETURN p

RETURN返回

RETURN <要创建的节点名称>.<要创建的节点的属性名称>,........<要创建的节点名称>.<要创建的节点的属性名称>

WHERE哪里

WHERE <条件>
条件包括以下:
<节点或关系的属性名称> <比较运算符之一> <字面值,如数字文字,字符串文字等>
比较运算符:
and ,  or ,  not,  xor【位运算,相同为0,不同为1,  <,  > , <> 【不等于】, = , <= , >= , 

DELETE删除

DELETE <要从数据库中删除的节点名称列表>   
# 使用逗号(,)运算符来分隔节点名
DELETE <结束节点名称>,<结束节点名称>,<关系名称>
# 使用逗号(,)运算符来分隔节点名称和关系名称

REMOVE移除

REMOVE <属性列表>
属性列表如下:
<节点的名称>.<节点的属性名称>,
<节点的名称>.<节点的属性名称>, 
.... 
<节点的名称>.<节点的属性名称> 

使用逗号(,)运算符来分隔标签名称列表
使用dot(.)运算符来分隔节点名称和标签名称

REMOVE <标签列表> # 用于永久性地从节点或关系中删除它
标签列表如下:
<节点的名称>:<节点的标签名称>, 
.... 
<节点的名称>:<节点的标签名称> 

使用逗号(,)运算符来分隔标签名称列表
使用dot(.)运算符来分隔节点名称和标签名称

ORDER BY以…排序

默认升序排序

ORDER BY  <属性名列表>  [DESC]	 
<属性名列表>语法:
<节点的标签名称>.<节点的属性名称>,
<节点的标签名称>.<节点的属性名称>, 
.... 
<节点的标签名称>.<节点的属性名称> 

使用逗号(,)运算符来分隔属性名列表

SET组

SET  <属性名称列表>  #用于执行添加或更新操作以满足我们的要求
属性名称列表如下:
<节点的标签名称>.<节点的属性名>,
<节点的标签名称>.<节点的属性名>, 
.... 
<节点的标签名称>.<节点的属性名> 

使用逗号(,)运算符来分隔属性名列表
使用dot(.)运算符来分隔节点标签名称和属性名称


http://www.ppmy.cn/news/1561423.html

相关文章

【doris】单节点搭建doris,极简

drois-download 检查服务器是否支持avx2 cat /proc/cpuinfo | grep avx2 如果空&#xff0c;则不只支持avx2。 不为空如下图&#xff1a; 根据是否支持avx2和cpu类型选择版本&#xff0c;尽量不要自己编译很费劲&#xff0c;即使采用docker编译的方式也失败&#xff0c;具体不…

c语言中GHashTable的使用

前言:最近在c代码中需要用到键值对的存储&#xff0c;由于没有map&#xff0c;需要自己实现或者使用库函数&#xff0c;g_hash_table_new是GLib中的库函数&#xff0c;但使用起来会有很多坑&#xff0c;记录一下 构建hash表g_hash_table_new GHashTable* g_hash_table_new(GH…

使用 Spring 的 事件发布和监听机制,结合异步执行 的功能达到方法异步执行

设计思路 定义事件类&#xff1a;首先&#xff0c;我们需要定义一个事件类&#xff0c;该类将传递必要的参数&#xff08;例如&#xff0c;null, “API”, Trade.getId()&#xff09;。 异步事件监听器&#xff1a;使用 Spring 的 Async 注解将监听器设置为异步运行&#xff0…

6 网络编程

基本概念扫盲 为什么需要计算机网络 如下图所示,A、B、C三个不同地域的主机要想进行通信不是凭空就可以通信的,而是需要基于互联网进行互相连接、通信。 为什么需要协议 如下图所示,红和蓝是联合攻打绿,它们以烽火为信号出动攻打绿,那么这时候就需要一个约定,比如红先…

【C++数据结构——图】最短路径(头歌教学实验平台习题) 【合集】

目录&#x1f60b; 任务描述 相关知识 带权有向图 Dijkstra算法 测试说明 通关代码 测试结果 任务描述 本关任务&#xff1a;编写一个程序&#xff0c;利用Dijkstra算法&#xff0c;实现带权有向图的最短路径。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#x…

(五)善用背景设定,让 ChatGPT 回答更精准

&#x1f4e2;&#x1f4e2;&#x1f4e2; 大家好&#xff0c;我是云楼Yunlord&#xff0c;CSDN博客之星人工智能领域前三名&#xff0c;多年人工智能学习工作经验&#xff0c;一位兴趣稀奇古怪的【人工智能领域博主】&#xff01;&#xff01;&#xff01;&#x1f61c;&#…

最新MySQL面试题(2025超详细版)

2025最新超详细MySQL面试题 文章目录 2025最新超详细MySQL面试题[toc]一、 SQL 和基本操作1. SQL的执行顺序2. 如何优化MySQL查询3. 常用的聚合函数4. 数据库事务5. 事务的四大特性(ACID)6. 视图7. MySQL中使用LIMIT子句进行分页8. MySQL中使用变量和用户定义的函数9. MySQL中的…

Flink系列知识讲解之:深入了解 Flink 的网络协议栈

Flink系列知识之&#xff1a;深入了解 Flink 的网络协议栈 Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一&#xff0c;也是每个 Flink 任务的核心。它连接着来自所有任务管理器的各个工作单元&#xff08;子任务&#xff09;。这是流数据流过的地方&#xff0c;…