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 ...
随机推荐
- ubuntu下pip的安装、升级和使用
系统虽然自带了不同版本的python,但都没有安装pip,pyhton2.7下使用的是pip2,python3.5下使用的是pip3.下面是各自安装命令. 安装 pip2: sudo apt-get ...
- 解决:Server IPC version 9 cannot communicate with client version 4
使用idea的maven项目运行mapreduce程序Server IPC version 9 cannot communicate with client version 4 原因: Java初始化 ...
- 127个常用的JS代码片段,每段代码花30秒就能看懂(上)
127个常用的JS代码片段,每段代码花30秒就能看懂(上) JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript.” FreeCode ...
- JNI调用so动态库
1.编写native接口 package org.demo; public class JniDemo { public static native int bmp2fea(byte[] bmp, b ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-refresh
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- ACM-Subset sum
题目描述: Subset Sum Tags: 回溯 子集和问题的一个实例为〈 S,t 〉.其中,S={x1 ,x2 ,…, xn }是一个正整数的集合,c是一个正整数.子集和问题判定是否存在S的一个子 ...
- 高级js 变量提升以及自由变量
Q首先一道题 if(false){ var a = 1; } console.log(a); //undefined //我以为输出ReferenceError: aa is not defined ...
- UVA - 1605 Building for UN (联合国大楼)
题意:一个联合国大楼每层都有数量相等大小相同的格子,将其分配给n个国家,使任意两个不同的国家都相邻(同层有公共边或相邻层的同一个格子). 分析:可以设计一个只有两层的大楼,第一层每个国家占一行,第二层 ...
- HDU 5477: A Sweet Journey
A Sweet Journey Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- redis qps监控
最近有个客户反应redis的qps不准确,通过查看代码,发现我们的监控是调用的redis info里面的instantaneous_ops_per_sec 客户反应说自己压测了ns,但是从监控上看不到 ...