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. Dreamweaver 8的后台文件传输
  2. 小时候糖吃多了,长大后记性会变差| Nature子刊最新研究
  3. Spring的新注解——Configuration、ComponentScan、Bean、Import、PropertySource || spring整合Junit分析
  4. MySQL设置某一字段默认为0,但是插入数据化却显示为null
  5. angular 字符串转换成数字_Python | 一文看懂Python列表、元组和字符串操作
  6. .Net Core WebAPI + Axios +Vue 实现下载与下载进度条
  7. 北京思源培训中心---C#下用P2P技术实现点对点聊天(2)
  8. 解决ubuntu中zabbix 4.2图形显示乱码
  9. VideoMatch: Matching based Video Object Segmentation
  10. 换个skin,换个心情
  11. AI总监Karpathy亲自揭秘特斯拉纯视觉系统,还有自动驾驶超算Dojo原型
  12. 全面了解量化风险管理
  13. Go基础:延迟调用defer、异常处理
  14. 获得bat的运行目录
  15. java ebcdic编码转换_JAVA实现ASCII码与EBCDIC码的相互转换
  16. js逆向加密五邑大学教务系统密码AES实现模拟登录(仅供参考)
  17. TinyOS02:TinyOS2.1的安装(Windows平台)
  18. 面试经历-201106
  19. ElementUi的侧边栏操作
  20. 基于simulink的离散系统

热门文章

  1. c/s原生实现增删改查 在线点餐系统
  2. Win10有启动声效?3秒教你自定义启动声音,开机逼格满满!
  3. Latex希腊字母输入
  4. Texlive not found article.cls的问题
  5. 软件安装——win7+Ubuntu14.04双系统及基本软件
  6. SHV0.G12、SHC0.M18、SHC0.M22插装式梭阀
  7. html中热点怎么写,HTML中给图片添加热点
  8. 2D-3D匹配问题的PnP算法对比:DLT,P3P,EPnP
  9. 取pvr.ccz及pvr图像的工具
  10. Visitor(访问者) 模式