Neo4j CQL(附springboot集成neo4j)
CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。
常用的Neo4j CQL命令/条款如下:
S.No. | CQL命令/条 | 用法 |
---|---|---|
1。 |
CREATE 创建 |
创建节点,关系和属性 |
2。 |
MATCH 匹配 |
检索有关节点,关系和属性数据 |
3。 |
RETURN 返回 |
返回查询结果 |
4。 |
WHERE 哪里 |
提供条件过滤检索数据 |
5。 |
DELETE 删除 |
删除节点和关系 |
6。 |
REMOVE 移除 |
删除节点和关系的属性 |
7。 |
ORDER BY 以…排序 |
排序检索数据 |
8。 |
SET 组 |
添加或更新标签 |
以下是常用的Neo4j CQL函数:
S.No. | 定制列表功能 | 用法 |
---|---|---|
1。 |
String 字符串 |
它们用于使用String字面量。 |
2。 |
Aggregation 聚合 |
它们用于对CQL查询结果执行一些聚合操作。 |
3。 |
Relationship 关系 |
他们用于获取关系的细节,如startnode,endnode等。 |
Neo4j CQL - CREATE命令
CREATE (<node-name>:<label-name>)
语法元素 | 描述 |
---|---|
CREATE | 它是一个Neo4j CQL命令。 |
<node-name> | 它是我们要创建的节点名称。 |
<label-name> | 它是一个节点标签名称 |
Neo4j CQL创建具有属性的节点
CREATE (<node-name>:<label-name>{ <Property1-name>:<Property1-Value>........<Propertyn-name>:<Propertyn-Value>} )
语法元素 | 描述 |
---|---|
<node-name> | 它是我们将要创建的节点名称。 |
<label-name> | 它是一个节点标签名称 |
<Property1-name>...<Propertyn-name> | 属性是键值对。 定义将分配给创建节点的属性的名称 |
<Property1-value>...<Propertyn-value> | 属性是键值对。 定义将分配给创建节点的属性的值 |
create (dept:Dept{no: 10, name:"市场部", address: "成都"})
Neo4j CQL - MATCH命令
MATCH (<node-name>:<label-name> )
语法元素 | 描述 |
---|---|
<node-name> | 这是我们要创建一个节点名称。 |
<label-name> | 这是一个节点的标签名称 |
match (n:Dept) return n
match必须和return一起使用
Neo4j CQL - 关系基础
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
这里p1和profile1是节点名称和节点标签名称“From Node”
p2和Profile2是“To Node”的节点名称和节点标签名称
r1是关系名称
LIKES是一个关系标签名称
Neo4j CQL - WHERE子句
match (n:Employee) where n.name = "frank" return n
Neo4j CQL - DELETE删除
MATCH (e: Employee) DELETE e
先查询出来再删除掉。
删除指定节点的属性
MATCH (book { id:122 })
REMOVE book.price
RETURN book
Neo4j CQL - ORDER BY排序
MATCH (n:Employee) RETURN n order by n.deptno desc
UNION子句语法
<MATCH Command1>UNION <MATCH Command2>
下面就是返回两个相同的列名
MATCH (cc:CreditCard) RETURN cc.id,cc.number UNION MATCH (dc:DebitCard) RETURN dc.id,dc.number
UNION ALL子句
它结合并返回两个结果集的所有行成一个单一的结果集。它还返回由两个节点重复行。
MATCH (cc:CreditCard) RETURN cc.id as id,cc.number as number,cc.name as name,cc.valid_from as valid_from,cc.valid_to as valid_to UNION ALL MATCH (dc:DebitCard) RETURN dc.id as id,dc.number as number,dc.name as name,dc.valid_from as valid_from,dc.valid_to as valid_to
MATCH (n:Employee) RETURN n skip 3
skip跳过3个节点返回最后两条数据
MERGE命令是CREATE命令和MATCH命令的组合。
MERGE = CREATE + MATCH
Neo4j CQL MERGE命令在图中搜索给定模式,如果存在,则返回结果
如果它不存在于图中,则它创建新的节点/关系并返回结果。
Neo4j - 方向关系
CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)
<node1-details>是“From Node”节点详细信息
<node2-details>是“到节点”节点详细信息
relationship-details>是关系详细信息
使用一个箭头标记:() - []→()。 它表示从左侧节点到右侧节点的方向。
如果我们尝试使用相同的语法,没有箭头标记like() - [] - (),这意味着没有方向的关系。 然后Neo4j DB服务器应该抛出一个错误消息
CREATE (n1:Node1)-[r1:Relationship]->(n2:Node2)
CREATE (n1:Node3)<-[r1:Relationship]-(n2:Node2)
Neo4J索引操作
- Create Index 创建索引
- Drop Index 丢弃索引
CREATE INDEX ON :Customer (name)
Neo4j CQL - UNIQUE约束
CREATE CONSTRAINT ON (cc:CreditCard)
ASSERT cc.number IS UNIQUE
给节点creditcard的节点的number设置唯一约束
DROP CONSTRAINT ON (cc:CreditCard) ASSERT cc.number IS UNIQUE
删除唯一约束
Neo4j CQL - 关系函数_w3cschoolNeo4j CQL提供了一组关系函数,以在获取开始节点,结束节点等细节时知道关系的细节。 在这里,我们将讨论一些重要的和经常使用的功能。关系函数列表S.No.功能描述1。STARTNODE它用于知道关系的开始节点。2。ENDNODE它用于知道关系的结束节点。3。ID它用于知道关系的ID。4。TYP_来自neo4j 教程,w3cschool编程狮。https://www.w3cschool.cn/neo4j/neo4j_cql_relationship_functions.html
springboot集成neo4j的demo
https://gitee.com/chenxb/springboot-neo4jhttps://gitee.com/chenxb/springboot-neo4j
1.match (n: Class{name: "大学英语"}) delete n 删除指定的节点match (n:profession) detach delete n 删除节点!!!match (n) delete n
match是匹配操作,小括号代表一个节点 n为标识符match (n: Profession) delete n 删除整个节点下的所有数据2.create (n: Class{name: "大学英语", address: "北京大学"}) return n 创建节点create是创建操作, Class是标签,代表节点的类型,花括号代表节点的属性。里面有两个属性create (n1: Class{name: "大学英语", address: "北京大学"})
create (n2: Class{name: "大学物理", address: "北京大学"})
create (n3: Class{name: "高等数学", address: "北京大学"})
return n1,n2,n3create (n1: Profession{name: "计算机专业", address: "北京大学"})
create (n2: Profession{name: "软件工程", address: "北京大学"})
create (n3: Profession{name: "大数据", address: "北京大学"})
return n1,n2,n33.创建关系
create (n1: class{name: "大英2"})
create (n2: class{name: "大英3"})
create (n1)-[r: BASIC] ->(n2)
return n1,n2create (n:class{name: "大学英语6"})-[r:BASIC{name: "基础"}]->(m:class{name: "大学英语7"}) return r
create (n:class{name: "大学英语10"})<-[r:BASIC{name: "基础"}]-(m:class{name: "大学英语9"}) return n,mcreate (a:Person{name:'Frank'}) -[r:BORN_IN{year: 2001}]-> (b:Location{city:'beijing'}) return a,b
create (a:Person{name:'kangkang'}) -[r:Friends{sicen: 2020}] -> (b:Person{name:'xiaoxiao'}) return a, b这里的[]即为关系,BASIC为关系类型,这里的箭头是有方向的,表示从n1到n2的关系。match (n:Person{name: 'tom'}) -[rel:FriendShip]-(m:Person{name:'jack'}) delete rel 删除关系match (n:Person{name: 'xiaoxiao'}) -[rel:Friends]-(m:Person{name:'chenchen'}) delete relMATCH (n: ENTERPRISE {enterpriseId: $enterpriseId}) <- [r: CONTRIBUTE ] - (m) delete r4.关系增加属性
create (n1: class{name: "大英2"})
create (n2: class{name: "大英3"})
create (n1)-[r: BASIC{since: 2021}] ->(n2)
return n1,n2create (n1: class{name: "大英1"})
create (n2: class{name: "大英2"})
create (n3: class{name: "大英3"})
create (n1)-[r1: BASIC{since: 2021}] ->(n2)
create (n2)-[r2: BASIC{since: 2021}] ->(n3)
return n1,n2,n35.不同类型节点之间的关系->课程和专业的关系
create (n1: class{name:"大英1"})
create (n2: class{name:"大英2"})
create (n3: class{name:"大英3"})
create (m1: profession{name:"计算机专业"})
create (m2: profession{name:"软件工程"})
create (m3: profession{name:"大数据"})
create (n1)-[r1: BASIC] ->(n2)
create (n2)-[r2: BASIC] ->(n3)
create (m1)-[r3: QEQUIRE] ->(n1)
create (m2)-[r4: QEQUIRE] ->(n1)
create (m3)-[r5: QEQUIRE] ->(n1)
return n1,n2,n3,m1,m2,m3MATCH p=(n:Enterprise{name:'合肥新立信信息科技有限公司'})-[r:Contribute]-() RETURN p查询该企业的 关系为Contribute的 都有关系的数据
Neo4j CQL(附springboot集成neo4j)相关推荐
- SpringBoot集成neo4j实战
文章目录 1.图数据库Neo4j介绍 1.1 什么是图数据库(graph database) 1.2 为什么需要图数据库 1.3 Neo4j特点和优势 Neo4j的特点 Neo4j的优点 1.4 Ne ...
- 【Neo4j权威指南】SpringBoot 集成 Neo4j 教程SDN
[Neo4j权威指南]SpringBoot 集成 Neo4j 教程SDN 一.Neo4j 介绍 二.Neo4j 安装 三.SpringBoot 整合 四.整合测试 五.结果验证 六.过程中遇到的问题记 ...
- springboot集成neo4j
https://blog.csdn.net/zt15732625878/article/details/98797467?utm_medium=distribute.pc_relevant_downl ...
- SpringBoot高版本(2.4及以上)集成neo4j并进行增删改查,通俗易懂附源代码
SpringBoot整合Neo4j,最新版本适用,超通俗详细讲解 0.前言 跟着班导师做项目的时候遇到社交网络的部分,而传统的关系数据库不能很好解决数据之间的关系,因此采用图数据的方式进行存储.N ...
- Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
SpringBoot集成Neo4j调试的时候报: org.neo4j.driver.exceptions.ClientException: The server does not support an ...
- springboot查询Neo4j数据库并展现在前端页面
springboot集成Neo4j数据库 最新版. springboot 由于Neo4j本来是由Java开发的,应该对Java支持得更好.但是当我在用的过程中才发现,理想和现实的差距不是一点半点. 首 ...
- Neo4j CQL基础
文章目录 简介 基本组成 Cypher LOAD CSV 导入节点 导入关系 动态导入关系 CREATE 创建节点 创建关系 MATCH 查找节点 查找相连节点 查找特定关系 再谈创建关系 MERGE ...
- SpringBoot 整合 Neo4j,图数据库 YYDS!
前一段时间,boss 交给我个任务,让我调研一下知识图谱技术.虽说有点 NLP 的底子,不过研究起这个来还是满头的包,终于还是在搜集了不少资料后划拉出来 50 多页的 PPT. 今天先浅浅的给大家分享 ...
- Neo4j的两种方式访问(嵌入式访问、服务器模式访问)-- java客户端连接和SpringBoot整合Neo4j
一.Neo4j数据库访问 1.Neo4j数据库访问 嵌入式数据库 服务器模式(通过REST的访问) 它是由应用程序的性质(neo4j是独立服务器 还是和程序在一起),性能,监控和数据安全性来决定架构选 ...
最新文章
- Dreamweaver 8的后台文件传输
- 小时候糖吃多了,长大后记性会变差| Nature子刊最新研究
- Spring的新注解——Configuration、ComponentScan、Bean、Import、PropertySource || spring整合Junit分析
- MySQL设置某一字段默认为0,但是插入数据化却显示为null
- angular 字符串转换成数字_Python | 一文看懂Python列表、元组和字符串操作
- .Net Core WebAPI + Axios +Vue 实现下载与下载进度条
- 北京思源培训中心---C#下用P2P技术实现点对点聊天(2)
- 解决ubuntu中zabbix 4.2图形显示乱码
- VideoMatch: Matching based Video Object Segmentation
- 换个skin,换个心情
- AI总监Karpathy亲自揭秘特斯拉纯视觉系统,还有自动驾驶超算Dojo原型
- 全面了解量化风险管理
- Go基础:延迟调用defer、异常处理
- 获得bat的运行目录
- java ebcdic编码转换_JAVA实现ASCII码与EBCDIC码的相互转换
- js逆向加密五邑大学教务系统密码AES实现模拟登录(仅供参考)
- TinyOS02:TinyOS2.1的安装(Windows平台)
- 面试经历-201106
- ElementUi的侧边栏操作
- 基于simulink的离散系统
热门文章
- c/s原生实现增删改查 在线点餐系统
- Win10有启动声效?3秒教你自定义启动声音,开机逼格满满!
- Latex希腊字母输入
- Texlive not found article.cls的问题
- 软件安装——win7+Ubuntu14.04双系统及基本软件
- SHV0.G12、SHC0.M18、SHC0.M22插装式梭阀
- html中热点怎么写,HTML中给图片添加热点
- 2D-3D匹配问题的PnP算法对比:DLT,P3P,EPnP
- 取pvr.ccz及pvr图像的工具
- Visitor(访问者) 模式