create (:患者)-[rl:likes]-> (dept:Dept )

///关系 (STARTNODE)
MATCH (video1:YoutubeVideo1)-[movie:ACTION_MOVIES]->(video2:YoutubeVideo2)
RETURN movie (查 关系)
MATCH (a)-[movie:ACTION_MOVIES]->(b)
RETURN STARTNODE(movie) (查开始节点)
MATCH (a)-[movie:ACTION_MOVIES]->(b)
RETURN ENDNODE(movie) (查结束节点)

MATCH (a)-[movie:ACTION_MOVIES]->(b)
RETURN ID(movie),TYPE(movie) //查到关系“ACTION_MOVIES”的ID和TYPE

最大 最小 总个数
ATCH (e:Employee) RETURN COUNT(*) //节点个数
MATCH (e:Employee)
RETURN MAX(e.sal),MIN(e.sal) //最大最小
MATCH (e:Employee)
RETURN SUM(e.sal),AVG(e.sal) //总金额//平均金额
///大写 小写 截取
MATCH (e:Employee)
RETURN e.id,LOWER(e.name),e.sal,e.deptno //UPPER(大写)//SUBSTRING(e.name,0,2)//

//关系
CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)
() - []→() //仅支持方向的关系
//(IN指定id为123,124的数据。。(e.id is (not) null ))
MATCH (e:Employee)
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno
///合并(MERGE)
MERGE 同create用法
如果它不存在,它创建新节点。 否则,它不创建新的。
limit skip
MATCH (emp:Employee)
RETURN emp
LIMIT 2 //取前两条数据
OR
SKIP 2 //跳过前两条数据
/union(列名 需要 名称相同 , as 别名)
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
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
///Sorting
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
/--44444(delete)
MATCH (e: Employee) DELETE e //Cannot delete node<34>, because it still has relationships.(数据保护)
//--
MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r //查关系
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel //删除关系
MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r //删除之后查看
///
match (n)
detach delete n (先 分离)

remove,专门用来删除属性和标签,比delete安全
eg:
match (x:患者{gender:"P"}) remove x.created_time return x
eg:
CREATE (book:Book {id:122,title:"Neo4j Tutorial",pages:340,price:250}) //
MATCH (book { id:122 })
REMOVE book.price
RETURN book

//--

3 Retrieve(检索)
match (x:患者) where x.gender="女" return x
Where跟SQLQ相似,is not null或者=,and、or等逻辑运算符
除了Create和Delete语句,其他所有语句都应该以return结尾,否则报错
//--
Optional Match,其他都一样,差别在于没找到Match不返回任何结果,而Optional Match返回NULL
eg:
MATCH (dept:Dept) dept是节点名称
Dept是emp节点的标签名称(match,return 都不能单独使用)
eg:
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname,dept.location
或者(RETURN dept)
dept是节点名称
这里Dept是一个节点标签名
deptno是dept节点的属性名称
dname是dept节点的属性名
location是dept节点的属性名
//--
Merge好似if-else语句
有则执行on merge
没有则走on create
humane:看是否需要merge,找到的话就合并,没找到就新建
//--
Aggregation”。这种聚合实质上是grouping,就是对结果进行统计操作,小到count、max、min,大到stdev、stdevp,更不用说distinct了
//--
Cypher语句以Start开始,每一条查询语句可以有多个起始点(starting points)

///更新操作2222222222 就是set(更新)
match (x:患者) where x.gender="男" set x.age=100 return x
//--
merge (x:患者{gender:"P"})
on match set x.name = "小明", x.birthday = "2007/06/02"
on create set x.created_time = timestamp()
//--
MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc
///-1(创建,新增)
CREATE命令总是向数据库添加新的节点。
create (?:标签名{属性名1:"属性1值",属性名2:"属性2值"})
create (n:患者{gender:"女",age:23})
?代表的是创建的本实例//“n:患者”也可以写成“:患者”
eg:
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
创建一个标签,即“Dept”
创建一个节点,即“dept”
创建三个属性,即deptno,dname,location
eg:
CREATE (m:Movie:Cinema:Film:Picture)
m是一个节点名
Movie, Cinema, Film, Picture是m节点的多个标签名称
//--关系
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
p1和profile1是节点名称和节点标签名称“From Node”
p2和Profile2是“To Node”的节点名称和节点标签名称
r1是关系名称
LIKES是一个关系标签名称
///where语句
MATCH (emp:Employee)
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp
//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
//--模糊
where n.name Contains ‘小’
//=========

转载于:https://www.cnblogs.com/sx00/p/10913863.html

neo4jcypher基本语句相关推荐

  1. Neo4j-Cypher语言语法

    为什么80%的码农都做不了架构师?>>>    Neo4j-Cypher语言语法 本文是记录Neo4j图数据库中实用的Cypher语言语法. Cypher是什么 "Cyph ...

  2. Python 上下文管理器和 with 语句

    1. 上下文管理器概念 什么是 Python 的上下文管理器(Context Managers)呢? ​ 含有 __enter__ 和 __exit__ 方法的对象就是.上下文管理器存在的目的是管理 ...

  3. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  4. Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符

    1. for 语句 bash shell 中 for 命令的基本格式如以下,$var 变量包含着这次迭代对应的当前列表项中的值. for var in list docommands done 也可以 ...

  5. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  6. Python学习--not语句

    布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: (1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执 ...

  7. 合肥工业大学—SQL Server数据库实验八:使用聚集函数的SELECT语句

    在数据库EDUC中用SQL语句实现如下查询: 1) 查询学生的总人数 -- 查询学生的总人数 select count(*) from student select count(1) from stu ...

  8. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表

    SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...

  9. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

最新文章

  1. MySQL 里的 Timestrap 和 DateTime 和 Java 中的 Date
  2. 炸了!一口气问了我18个JVM问题!
  3. 2020-10-29Ubuntu20.04将软件添加至桌面
  4. IE问题解决方法汇总
  5. BZOJ4563[Haoi2016]放棋子
  6. Java Review - 并发编程_LockSupport
  7. linux驱动双摄像头,详解linux 摄像头驱动编写
  8. Bug访问豆瓣403forbidden
  9. Linux统计文件行数、字数、字节数
  10. PDA 收银系统PDA手持打印扫描枪 销售开单 收银 扫描打印一体机
  11. java 调用groovy_Java调用Groovy脚本
  12. ASP.NET 2.0中CSS失效的问题总结
  13. 5月20日,GaussDB将有大事发生
  14. Illustrator 教程,如何在 Illustrator 中重新塑造文本?
  15. hdu2534-Score
  16. 基于Hadoop大数据分析应用场景与实战
  17. java初学者练手项目_最适合初学者的Java练手项目!
  18. Ubuntu与stm32串口通信及Windows与stm32串口通信
  19. Mars-Android开发视频教程(全集)
  20. 阿里天池大数据竞赛(杂)

热门文章

  1. python实现字母的加密和解密 字典_python实现AES加密与解密
  2. C语言编程序编数独,求用C语言编一个解九宫格数独的程序怎么办? 爱问知识人...
  3. win10--vs2015--libjpeg--64位库的编译过程记录
  4. Oracle 计划新的移动 OpenJDK 项目
  5. C语言实现粒子群算法(PSO)一
  6. OS X 使用技巧——轻松地调整窗口大小
  7. C语言基础教程读书笔记2(第二章常量、变量、类型转换)
  8. Linux 启动、关闭、重启网络服务的两种方式
  9. vs2008生成lib文件
  10. Service Worker的应用