1. 删除数据库中以往的图,确保一个空白的环境进行操作:

MATCH (n) DETACH DELETE n   # 要想删除数据库的话直接删除文件即可

2. 创建一个人物节点:

CREATE (n:Person {name:'John'}) RETURN n;
CREATE (n:Person {name:'Sally'}) RETURN n;
CREATE (n:Person {name:'Steve'}) RETURN n;
CREATE (n:Person {name:'Mike'}) RETURN n;
CREATE (n:Person {name:'Liz'}) RETURN n;
CREATE (n:Person {name:'Shawn'}) RETURN n;

3.创建地区节点

CREATE (n:Location {city:'Miami', state:'FL'});
CREATE (n:Location {city:'Boston', state:'MA'});
CREATE (n:Location {city:'Lynn', state:'MA'});
CREATE (n:Location {city:'Portland', state:'ME'});
CREATE (n:Location {city:'San Francisco', state:'CA'});

4.创建关系

MATCH (a:Person {name:'Liz'}), (b:Person {name:'Mike'}) MERGE (a)-[:FRIENDS]->(b);
MATCH (a:Person {name:'Shawn'}), (b:Person {name:'John'}) MERGE (a)-[:FRIENDS {since:2012}]->(b);
MATCH (a:Person {name:'Mike'}), (b:Person {name:'Shawn'}) MERGE (a)-[:FRIENDS {since:2006}]->(b);
MATCH (a:Person {name:'Sally'}), (b:Person {name:'Steve'}) MERGE (a)-[:FRIENDS {since:2006}]->(b);
MATCH (a:Person {name:'Liz'}), (b:Person {name:'John'}) MERGE (a)-[:MARRIED {since:1998}]->(b);

5.关系也可以增加属性

MATCH (a:Person {name:'Shawn'}), (b:Person{name:'Sally'}) MERGE (a)-[:FRIENDS{since:2001}]->(b);

6.建立不同类型节点之间的关系-人物和地点的关系

MATCH (a:Person {name:'John'}), (b:Location{city:'Boston'}) MERGE (a)-[:BORN_IN {year:1978}]->(b);
MATCH (a:Person {name:'Liz'}), (b:Location {city:'Boston'}) MERGE (a)-[:BORN_IN {year:1981}]->(b);
MATCH (a:Person {name:'Mike'}), (b:Location {city:'San Francisco'}) MERGE (a)-[:BORN_IN {year:1960}]->(b);
MATCH (a:Person {name:'Shawn'}), (b:Location {city:'Miami'}) MERGE (a)-[:BORN_IN {year:1960}]->(b);
MATCH (a:Person {name:'Steve'}), (b:Location {city:'Lynn'}) MERGE (a)-[:BORN_IN {year:1970}]->(b);

7.至此,知识图谱的数据已经插入完毕,可以开始做查询了。我们查询下所有在Boston出生的人物

MATCH (a:Person)-[:BORN_IN]->(b:Location {city:'Boston'}) RETURN a,b

8.查询所有对外有关系的节点

MATCH (a)-->() RETURN a

9.查询所有有关系的节点

MATCH (a)--() RETURN a

10.查询所有对外有关系的节点,以及关系类型

MATCH (a)-[r]->() RETURN a.name, type(r)

11.查询所有有结婚关系的节点

MATCH (n)-[:MARRIED]-() RETURN n

12.创建节点的时候就建好关系

CREATE (a:Person {name:'Todd'})-[r:FRIENDS]->(b:Person {name:'Carlos'})

13.查找某人的朋友的朋友

MATCH (a:Person {name:'Mike'})-[r1:FRIENDS]-()-[r2:FRIENDS]-(friend_of_a_friend) RETURN friend_of_a_friend.name AS fofName

14.增加/修改节点的属性

MATCH (a:Person {name:'Liz'}) SET a.age=34
MATCH (a:Person {name:'Shawn'}) SET a.age=32
MATCH (a:Person {name:'John'}) SET a.age=44
MATCH (a:Person {name:'Mike'}) SET a.age=25

15.删除节点的属性

MATCH (a:Person {name:'Mike'}) SET a.test='test'
MATCH (a:Person {name:'Mike'}) REMOVE a.test

16. 删除节点

MATCH (a:Location {city:'Portland'}) DELETE a

17. 删除有关系的节点

MATCH (a:Person {name:'Todd'})-[rel]-(b:Person) DELETE a,b,rel

代码参考:https://zhuanlan.zhihu.com/p/88745411

Neo4j常用操作——Cypher查询语言的更多相关文章

  1. neo4j初次使用学习简单操作-cypher语言使用

    Neo4j 使用cypher语言进行操作 Cypher语言是在学习Neo4j时用到数据库操作语言(DML),涵盖对图数据的增删改查  neo4j数据库简单除暴理解的概念: Neo4j中不存在表的概念, ...

  2. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  3. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  4. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  5. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  6. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  7. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  8. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  9. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  10. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

随机推荐

  1. Maven常用参数及其说明

    Maven常用参数及其说明 -h,--help Display help information-am,--also-make 构建指定模块,同时构建指定模块依赖的其他模块;-amd,--also-m ...

  2. bzoj 3603

    考虑转化问题:一个点相邻元素中有偶数个$1$等价于一个点与相邻元素异或和为$0$ 于是直接列出异或方程组求解即可 注意由于要求不允许出现全0矩阵,因此如果有自由元直接给成$1$ 贴代码: #inclu ...

  3. php对接java接口

    1.php curl 传参形式 public function send($url,$postData){ $ch = curl_init(); $headers = array("Cont ...

  4. 一个线程池的c++实现

    前面我们实现了CallBack类,实现了对任意可调用对象的封装,且统一了调用接口. 现在利用CallBack类,我们来实现一个线程池,我们的线程池包含: 1. 状态机, 用于控制和管理线程池的运行.停 ...

  5. 因为更新了ipykernel 导致 VS Code 中Jupyter 一直处于连接状态的 解决办法

    重新安装VS Code 当中的Jupyter插件即可(我选择的是upgrade当前的jupyter插件)

  6. 理解 Linux 文件权限

    理解 Linux 文件权限 缺乏安全性的系统不是完整的系统.系统中必须有一套能够保护文件免遭非授权用户浏览或修改的机制.Linux 沿用了 Unix 文件权限的办法,即允许用户和组根据每个文件和目录的 ...

  7. nodejs的框架koa

    koa:应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的 应用程序: 1.导入 const Koa = require('koa'); 2.创建koa的app实例 const ...

  8. linux 修改password

    passwd 命令,手动修改: [root@localhost testuser]# passwd testuser Changing password for user testuser. New ...

  9. 「进阶」缓解眼睛疲劳,防蓝光保护视力,关爱健康!- CareUEyes

    软件官网地址:https://care-eyes.com/ 显示 对于显示页面来说 8 个模式下面都有对应的介绍说明,不再介绍.笔者建议软件调节之前,先退出软件,用系统自带的亮度调节,进入电源选项中进 ...

  10. django中使用autocomplete无效查错

    检查autocomplete是否工作正常,将自己的结果集注释掉,使用前端预设好的结果集var countries=["Afghanistan","Albania" ...