1. 创建节点

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

其中dept为节点名,Dept为标签名(可理解为表名)

CREATE (emp:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})

2. 检索

Neo4j使用CQL MATCH + RETURN命令 -

  • 检索节点的某些属性
  • 检索节点的所有属性
  • 检索节点和关联关系的某些属性
  • 检索节点和关联关系的所有属性
MATCH (dept: Dept) RETURN dept.deptno,dept.dname

3. 创建关系

在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。

  • 在两个现有节点之间创建无属性的关系
MATCH (e:Customer) RETURN eMATCH (cc:CreditCard) RETURN ccMATCH (e:Customer),(cc:CreditCard) CREATE (e)-[r:DO_SHOPPING_WITH ]->(cc)
  • 在两个现有节点之间创建与属性的关系
MATCH (cust:Customer),(cc:CreditCard) CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r
  • 在两个新节点之间创建无属性的关系
  • 在两个新节点之间创建与属性的关系
CREATE (video1:YoutubeVideo1{title:"Action Movie1",updated_by:"Abc",uploaded_date:"10/10/2010"}) -[movie:ACTION_MOVIES{rating:1}]-> (video2:YoutubeVideo2{title:"Action Movie2",updated_by:"Xyz",uploaded_date:"12/12/2012"})
  • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系

4. 创建标签

使用Neo4j CQL CREATE命令

  • 为节点创建单个标签
CREATE (google1:GooglePlusProfile)
  • 为节点创建多个标签
CREATE (m:Movie:Cinema:Film:Picture)
  • 为关系创建单个标签
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)、

5. Where子句创建关系

MATCH (cust:Customer),(cc:CreditCard) WHERE cust.id = "1001" AND cc.id= "5001" CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r

MATCH (a{name:"Laurence Fishburne"})-[r1:ACTED_IN]->(m)<-[r2:DIRECTED]-(d)  RETURN a,r1,r2,m,d与MATCH (a)-[r1:ACTED_IN]->(m)<-[r2:DIRECTED]-(d) where a.name="Laurence Fishburne" RETURN a,r1,r2,m,d中where子句等价

6. Delete节点和关系

MATCH (e: Employee) DELETE eMATCH (cc: CreditCard)-[rel]-(c:Customer) DELETE cc,c,rel

7. Remove删除标签和属性

删属性

MATCH (book { id:122 }) REMOVE book.price RETURN book

删标签

MATCH (m:Movie) REMOVE m:Picture

8. Set添加属性

MATCH (dc:DebitCard) SET dc.atm_pin = 3456 RETURN dc

9. Sorting排序

MATCH (emp:Employee) RETURN emp.empid,emp.name,emp.salary,emp.deptno ORDER BY emp.name

10. Union合并

<MATCH Command1> UNION <MATCH Command2>

11. Limit与skip

MATCH (emp:Employee) RETURN emp LIMIT 2MATCH (emp:Employee) RETURN emp SKIP 2

Neo4j CQL已提供“SKIP”子句来过滤或限制查询返回的行数。 它修整了CQL查询结果集顶部的结果,前两行跳过。

12. Merge合并

MERGE = CREATE + MATCH

用于检查是否已经创建该节点,因为CQL MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

13. In 操作

MATCH (e:Employee) WHERE e.id IN [123,124] RETURN e.id,e.name,e.sal,e.deptno

14. 方向关系

Neo4j只支持有方向的关系

15. 字符串函数(upper、lower、substring、replace)

MATCH (e:Employee) RETURN e.id,UPPER(e.name),e.sal,e.deptno

Upper、lower、substring(字符串下标SUBSTRING(e.name,0,2),0到2的字符)、replace

16. 聚合函数(count、max、min、sum、avg)

MATCH (e:Employee) RETURN MAX(e.sal),MIN(e.sal)

17. 关系函数(startnode、endnode、id、type)

MATCH (a)-[movie:ACTION_MOVIES]->(b) RETURN ENDNODE(movie)MATCH (a)-[movie:ACTION_MOVIES]->(b) RETURN ID(movie),TYPE(movie)

系统内部ID

18. Unique约束

CREATE CONSTRAINT ON (cc:CreditCard) ASSERT cc.number IS UNIQUEDROP CONSTRAINT ON (cc:CreditCard) ASSERT cc.number IS UNIQUE

19. 模糊查询

查询N类型中,属性attr包含‘a1’或者‘a2’的所有节点。

match (n:N) where n.attr =~ '.*a1.*|.*a2.*' return n

参考:https://cloud.tencent.com/developer/article/1336299

https://www.w3cschool.cn/neo4j/

https://neo4j.com/docs/getting-started/3.5/get-started-with-neo4j/

Neo4j CQL语法相关推荐

  1. Neo4j基础理论、Linux安装与Windows安装以及CQL语法(增删改查、排序、分页、去重)

    一.什么是Neo4j? Neo4j是一个开源的 无Shcema的 基于java开发的 图形数据库,它将结构化数据存储在图中而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引 ...

  2. Neo4j - CQL简介

    CQL代表Cypher查询语言. 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言. Neo4j CQL - 它是Neo4j图形数据库的查询语言. 它是一种声明性模式匹配语言 ...

  3. Neo4j CQL - (3) -RETURN子句

    Neo4j CQL RETURN子句用于 - 检索节点的某些属性 检索节点的所有属性 检索节点和关联关系的某些属性 检索节点和关联关系的所有属性 RETURN命令语法: RETURN <node ...

  4. neo4j CQL使用

    neo4j CQL使用 Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言.像Oracle数据库具有查询 语言SQL,Neo4j具有CQL作为查询语言. 它是Neo4 ...

  5. Neo4j - CQL使用

    3.1 Neo4j - CQL简介 Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言.像Oracle数据库具有查询 语言SQL,Neo4j具有CQL作为查询语言. ...

  6. Neo4j CQL简介

    CQL CQL 代表 Cypher 查询语言.像 Orcale 数据库具有查询语言 SQL,Neo4j 具有 CQL 作为查询语言. Neo4j CQL Neo4j 图形数据库的查询语言: 一种声明性 ...

  7. Neo4j CQL高级

    我们先准备脚本,创建数据,以便后续使用 // 删除所有的节点和关系 MATCH(n) OPTIONAL MATCH (n)-[r]-() DELETE n,r // 创建Person 的节点 CREA ...

  8. [Neo4j] CQL命令

    文章目录 docker运行neo4j CQL create创建一个节点 match获取数据 RETURN子句 MATCH & RETURN匹配和返回 关系 where子句 delete子句 r ...

  9. 图数据库Neo4简介-CQL语法

    图数据库Neo4j 一.什么是图数据库? 图数据库是基于图论实现的一种NOSQL数据库,其数据结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据. 图论[Graph Theory ...

  10. Neo4j CQL(附springboot集成neo4j)

    CQL代表Cypher查询语言. 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言. 常用的Neo4j CQL命令/条款如下: S.No. CQL命令/条 用法 1. CREA ...

最新文章

  1. iOS - Regex 正则表达式
  2. android DataBind LiveData ViewModel 使用详解
  3. boost::mp11::mp_eval_if_q相关用法的测试程序
  4. 你听过算法也是可以贪心的吗?
  5. virtio Towards a De-Facto Standard For Virtual IO Devices
  6. 714. 买卖股票的zui佳时机含手续费(JavaScript)
  7. js防止表单的重复提交
  8. STM32F103单片机使用DMA功能读取ADC采样数据
  9. 1.2_linearbinary_search_顺序(线性)查找二分(折半)查找
  10. java core 作者_java core dump分析实战
  11. python使用-python 类如何使用
  12. 福利 | droidcon Beijing 2016安卓技术大会
  13. Linux 基础入门---常用命令
  14. WEB UI设计规范
  15. 【转】100项PPT制作技术
  16. 图片放大后不清楚怎么办?
  17. 2022支付宝集五福攻略,一天20张不是事
  18. PySide6的安装
  19. 汇编语言 AND逻辑与指令
  20. 台式计算机内存卡与普通有啥区别,电脑硬盘和内存有什么区别?

热门文章

  1. Git 工具 - 储藏(Stashing)
  2. 我的爸爸是一位计算机工程师,我的爸爸是工程师的作文
  3. jarvis oj typo
  4. led灯条串联图_一种串联控制LED灯条的制作方法
  5. SCI 期刊、SCIE 期刊和 ESCI 期刊的比较
  6. 打造双网卡负载均衡服务器(转)
  7. Win键失效解决方案+键盘检测器
  8. c++ 11 for循环
  9. 基于Golang设计一套微服务架构[转]
  10. 关于物联网模组fota远程升级的说明