前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >neo4j的Cypher的使用语句记录

neo4j的Cypher的使用语句记录

作者头像
余生大大
发布2022-11-02 16:12:50
4260
发布2022-11-02 16:12:50
举报
文章被收录于专栏:余生大大

基础

查询关键字:MATCH 创建关键字:CREATE 删除关键字:DELETE 设置属性关键字:SET 设置关联关系:MERGE 统计总数关键字:COUNT

1. 查询语句

1.1 查询节点

代码语言:javascript
复制
// 查询所有节点
MATCH (n) RETURN n
代码语言:javascript
复制
// 查询所有标签总数
match (n) return count(n)
代码语言:javascript
复制
// 查询某个标签总数
match (n:Person) return count(n)
代码语言:javascript
复制
// 查询某个标签的全部节点
MATCH (n) RETURN n
代码语言:javascript
复制
// 查询某个标签中等于某个属性的节点
MATCH (n:SocialUser {name:'李白'}) RETURN n 
代码语言:javascript
复制
// in的操作 查询n的节点名称为数组里的
MATCH (n:SocialUser) WHERE n.name in ['李白','杜甫'] RETURN n 
代码语言:javascript
复制
// 查询所有下级节点,包含开始节点
MATCH (a:Person {name:'龙小弟'})-[r*0..]->(b) return b
代码语言:javascript
复制
// 查询所有下级节点,不包含开始节点(设置层级就修改r*n的n值)
MATCH (a:Person {name:'龙小弟'})-[r*1..]->(b) return b
代码语言:javascript
复制
// 查询所有执行本节点的关系,包含本节点
MATCH (a:Person {name:'龙傲天'})<-[r*0..]-(b) return b
代码语言:javascript
复制
// 查询所有执行本节点的关系,不包含本节点(设置层级就修改r*n的n值)
MATCH (a:Person {name:'龙傲天'})<-[r*1..]-(b) return b

1.2 查询关系

代码语言:javascript
复制
// 查询所有具有对外关系的节点
MATCH (a)-->() RETURN a
代码语言:javascript
复制
// 查询所有具有被指向关系的节点
MATCH ()-->(a) RETURN a
代码语言:javascript
复制
// 查询所有存在的关系
MATCH ()-[r]->() RETURN r

2. 创建语句

代码语言:javascript
复制
// 创建一个标签为Person的节点,节点有一个name属性,属性值为'John'
CREATE (n:Person{name:'John'}) RETURN n
代码语言:javascript
复制
// 给a节点设置一个age属性,属性值为34
MATCH (a:Person{name:'Liz'}) SET a.age = 34
代码语言:javascript
复制
// 给某个标签对外的所有关系增加属性
MATCH p=(Person)-[r]->() SET r={since:"2017-01-02"}  RETURN p;   
代码语言:javascript
复制
// 给某个标签对外的某个关系增加属性
MATCH p=(Person)-[r:BIGBROTHER ]->() SET r={since:"2017-01-02"}  RETURN p;   
代码语言:javascript
复制
// 给某个标签中某个对应属性的节点对外的某个关系增加属性
MATCH p=(Person {name:'n1'})-[r:BIGBROTHER ]->() SET r={since:"2017-01-02"}  RETURN p;   

3. 删除语句

代码语言:javascript
复制
// 删除所有节点和关系,MATCH是匹配操作,()代表所有节点,DELETE为删除操作
MATCH (n) DETACH DELETE n
代码语言:javascript
复制
// 删除a节点的test属性
MATCH ... REMOVE a.test
代码语言:javascript
复制
// 删除a节点
MATCH ... DELETE a
代码语言:javascript
复制
// 删除两个标签之间的某个关系
match (n:Person)<-[r:BIGBROTHER]-(m:Person) DELETE  r
代码语言:javascript
复制
// 删除两个标签中某个节点之间的某个关系
match (n:Person {name:'n1'})<-[r:BIGBROTHER]-(m:Person {name:'n2'}) DELETE  r

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础
  • 1. 查询语句
    • 1.1 查询节点
      • 1.2 查询关系
      • 2. 创建语句
      • 3. 删除语句
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档