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)相关推荐

  1. SpringBoot集成neo4j实战

    文章目录 1.图数据库Neo4j介绍 1.1 什么是图数据库(graph database) 1.2 为什么需要图数据库 1.3 Neo4j特点和优势 Neo4j的特点 Neo4j的优点 1.4 Ne ...

  2. 【Neo4j权威指南】SpringBoot 集成 Neo4j 教程SDN

    [Neo4j权威指南]SpringBoot 集成 Neo4j 教程SDN 一.Neo4j 介绍 二.Neo4j 安装 三.SpringBoot 整合 四.整合测试 五.结果验证 六.过程中遇到的问题记 ...

  3. springboot集成neo4j

    https://blog.csdn.net/zt15732625878/article/details/98797467?utm_medium=distribute.pc_relevant_downl ...

  4. SpringBoot高版本(2.4及以上)集成neo4j并进行增删改查,通俗易懂附源代码

    SpringBoot整合Neo4j,最新版本适用,超通俗详细讲解 0.前言 ​ 跟着班导师做项目的时候遇到社交网络的部分,而传统的关系数据库不能很好解决数据之间的关系,因此采用图数据的方式进行存储.N ...

  5. Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)

    SpringBoot集成Neo4j调试的时候报: org.neo4j.driver.exceptions.ClientException: The server does not support an ...

  6. springboot查询Neo4j数据库并展现在前端页面

    springboot集成Neo4j数据库 最新版. springboot 由于Neo4j本来是由Java开发的,应该对Java支持得更好.但是当我在用的过程中才发现,理想和现实的差距不是一点半点. 首 ...

  7. Neo4j CQL基础

    文章目录 简介 基本组成 Cypher LOAD CSV 导入节点 导入关系 动态导入关系 CREATE 创建节点 创建关系 MATCH 查找节点 查找相连节点 查找特定关系 再谈创建关系 MERGE ...

  8. SpringBoot 整合 Neo4j,图数据库 YYDS!

    前一段时间,boss 交给我个任务,让我调研一下知识图谱技术.虽说有点 NLP 的底子,不过研究起这个来还是满头的包,终于还是在搜集了不少资料后划拉出来 50 多页的 PPT. 今天先浅浅的给大家分享 ...

  9. Neo4j的两种方式访问(嵌入式访问、服务器模式访问)-- java客户端连接和SpringBoot整合Neo4j

    一.Neo4j数据库访问 1.Neo4j数据库访问 嵌入式数据库 服务器模式(通过REST的访问) 它是由应用程序的性质(neo4j是独立服务器 还是和程序在一起),性能,监控和数据安全性来决定架构选 ...

最新文章

  1. Oracle:递归查询(树形结构数据)
  2. 一招让你彻底掌握C语言中运用宏以及#与##的妙用
  3. 7.3.4 异步IO(Asynchronous I/O)
  4. Java BigDecimal Rounding Mode
  5. 安装pytorch时,在安装 future-0.18.2.tar.gz (829 kB)时报错:ModuleNotFoundError: No module named ‘_ctypes’解决办法
  6. 世界坐标系到观察坐标系的变换步骤_带你轻松认识不同坐标系下向量的“变脸”——基变换...
  7. 企业以太坊联盟发布了愿景文件
  8. 透明加密tde_如何在SQL Server中监视和管理透明数据加密(TDE)
  9. centos7 怎么封装自己的镜像_在Centos7系统上制作一个7系的Docker镜像
  10. 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT)【转】
  11. mysql中in和exists区别
  12. 形态学滤波对图像进行边缘及角点检测
  13. C语言stdio头文件常见的输入输出库函数
  14. python画圆及其内接多边形_用Shapely求多边形的最大内接矩形
  15. 干了半年的java Web,知道自己特别喜欢游戏开发,那就去干吧
  16. 微信隐藏功能:微信怎么群发消息给好友不建群?
  17. 群辉 DSM 7.0 Docker 启动 AdguardHome 屏蔽广告
  18. SpringCloud-25-Gateway:动态路由、过滤器使用
  19. 图片转字符画(python)
  20. FileReader和FileOutputStream

热门文章

  1. python 求三角形面积
  2. Redis队列实现秒杀
  3. 17年毕业生杭州求职web前端
  4. 这本小说写的是通奸,我却看到了人性的荣光
  5. git reset和revert
  6. 嵌入式Linux(二十二)Linux内核分析及移植
  7. Latex希腊字母输入
  8. 微信公众号自媒体账户超2000万
  9. Arduino-中断函数介绍和使用
  10. 果粉必看:10个不常用的炫酷iPhone功能