neo4jcypher基本语句
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 ‘小’
//=========
neo4jcypher基本语句的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- whdxlib
1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...
- Neo4j-Cypher语言语法
Neo4j-Cypher语言语法 梦飞扬 2018-03-15 264 阅读 Neo4j 本文是记录Neo4j图数据库中实用的Cypher语言语法. Cypher是什么 "Cypher&qu ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
随机推荐
- JD-Store购物网站复盘——20170312
一.商店技术架构 1.主题 2.涉及技术点: 3.核心业务功能 4.角色 5.用户故事 二.实现步骤 专案基础设施 上传图片模块 购物车 订单 支付&寄信 专案源码 三.第三方服务应用 支付 ...
- 十一、JavaScript之两种注释方法
一.代码如下 二.运行效果如下
- jQuery原理系列-工具函数
jquery源码中有很多精妙的实现,对于我们每天都在使用的东西,一定要知其原理,如果遇到不能使用jquery环境,也能自己封装原生的代码实现. 1.检测类型 众所周知typeof 不能用来检测数据,会 ...
- sql ,类型转换,日期截取格式
字符型 转换成整型 CONVERT(int ,字段) 只取年月日格式 CONVERT(varchar(10), ZB.drive_time, 120 ) SELECT CONVERT(VARCHAR, ...
- springboot - 映射 /error 到自定义且实现了ErrorController的Controller
1.总览 2.代码 1).pom.xml <dependencies> <dependency> <groupId>org.springframework.boot ...
- POJ-3984 迷宫问题(BFS找最短路径并保存)
问题: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, ...
- HDU - 4576 Robot(概率dp+滚动数组)
题意:所有的格子围成一个圈,标号为1~n,若从格子1出发,每次指令告知行走的步数,但可能逆时针也可能顺时针走,概率都是1/2,那么问走了m次指令后位于格子l~r(1≤l≤r≤n)的概率. 分析: 1. ...
- 人人嫌丑的iPhoneX刘海屏为何会被手机厂商竞相模仿
不得不提到的是,苹果的iPhone自发布以来就始终引领着智能手机发展的方向.比如iPhone一代出现之后,就慢慢将键盘手机赶下历史舞台,让触屏手机成为主流.此外,iPhone的指纹识别.金属机身.玻璃 ...
- IBGP的自己下一跳,指定源命令。
neighbor router-id update-source loopback int 当两者并不是以物理接口为搭建邻居的时候,就得使用指定源,充当TCP接口. neighbor router-i ...
- iOS下JS与原生的交互二
本篇主要讲的是UIWebView和JS的交互,UIWebView和JS交互的详解https://www.cnblogs.com/llhlj/p/6429431.html 一. WKWebView调用J ...