0
点赞
收藏
分享

微信扫一扫

图数据库 Neo4j 学习随笔之基础操作

Neo4j - CQL 使用

Neo4j 的 Cypher 语言是为处理图形数据库而构建的,CQL 代表 Cypher 查询语言。
类似 关系型数据库的 SQL 语言。


文章目录


前言

  1. CQL 是Neo4j 图形数据库的查询语言;
  2. 是一种声明性模式匹配语言;
  3. CQL 遵循 SQL 语法;
  4. 语法简单并且简单人性化,可读性高;
    CQL语言关键词

一、load

1.1 load csv

将csv文件的数据导入到Neo4j中。

load csv from 'D:\xxx.csv' as line create (:drama {name:line[0], label:line[1]})

二 create 创建

2.1 创建单节点

create (paper)

2.2 创建多节点

create (customer),(users)

2.3 创建节点(带属性)

create (n:loveperson {name:'赵四', age:55, gender:'男'}) return n

创建了一个节点,属性值是手机信息。

2.4 创建关系

根据属性图模型,关系应该是定向的,否则,Neo4j将抛出错误信息。

2.4.1 单向关系

create (z:loveperson {name:'赵四'})-[rel:亲家]->(l:loveperson {name:'刘能'}) return type(rel)
match (z:loveperson {name:'赵玉田'}),(l:loveperson {name:'翠花'})
create (z)-[rel:对象 {status:'未婚'}]->(l)
return type(rel)

2.4.2 双向关系

create family=(:loveperson {name:'王小蒙', age:26, gender:'女'})<-[rel:夫妻 {status:'已婚'}]-(:loveperson {name:'谢永强', age:27, gender:'男'})-[rel2:父子]->(:loveperson {name:'谢广坤', age:58, gender:'男'}) return family

三 match 匹配

3.1 匹配节点

match (n:loveperson {name:'翠花'}) return n

3.2 匹配关系节点详细信息

match (n:loveperson)-[rel]->(m:loveperson) return n,m limit 10

四 return 返回

match (n:loveperson {name:'翠花'}) return n

4.1 返回节点或关系属性

match (n:loveperson) return id(n), n.name, n.age

五 where 条件

match (n:loveperson) where n.name='翠花' or n.name = '赵四' return n

5.1 按照id 查询

match (n) where id(n)=91 return n

六 delete 删除

6.1 按条件 删除节点

match (n:loveperson {name:'宋小宝'}) delete n

6.2 按条件 删除关系

match (n:loveperson {name:'宋小宝'})-[rel]->(m) delete rel return n

七 remove 删除

7.1 移除节点的属性

match (n:loveperson {name:"宋晓峰"}) remove n.gender

7.2 移除节点的标签

create (n:loveperson:person {name:"宋晓峰", age:28, gender:"男"}) return n
match (n:loveperson:person {name:'宋晓峰'}) remove n:person return n

八 set 添加或修改属性

8.1 根据id修改属性

match (n:loveperson) where id(n) = 130 set n.age = 30 return n

九 order by 排序

9.1 按照 age 进行升序排序

match (n:loveperson) return n order by n.age asc

十 union 子句

10.1 union 两个结果中的公共组合并返回一组结果中 (去重)

match (n:loveperson) return n.name as name
union
match (m:person) return m.name as name

10.2 union all 两个结果中的所有行组合成一个单一的结果集 (不去重)

match (n:loveperson) return n.name as name
union all
match (m:person) return m.name as name

十一 limit 和 skip 使用

11.1 limit 限制返回2个节点

match (n:loveperson) return n limit 2

11.2 skip 跳过2个节点

match (n:loveperson) return n skip 2

总结

本文主要记录了 neo4j 的简单操作(增、删、改、查)的各种 命令 的简单使用,还有 order by, union, skip , limit 这些常用的命令,笔记是学过知识的记录,也是增强记忆的方法,毕竟是亲手 尝试 并且 手敲上去的,留给自己,也分享给他人,有错误敬请留言指出。
图数据库 Neo4j 学习随笔之高级操作待续~~~

举报

相关推荐

0 条评论