Neo4j 全网最详细教程
Neo4j的语法(3.5版本)
1.公式模式是语法范式
2.代码模式是实例,可按顺序复制执行
3.涉及所有可能的节点、节点类型、属性,关系,关系类型、属性的增删改查
4.学习本教程之后可以学习
neo4j建模规范和思想:Neo4j数据建模教程
python对neo4j的api接口框架py2neo进阶教程:py2neo框架学习全网最详细教程
1.节点规则
节点=(代表元:节点类别{属性1:属性值1,属性2:属性值2})节点=(代表元:节点类别\{属性1:属性值1,属性2:属性值2\}) 节点=(代表元:节点类别{属性1:属性值1,属性2:属性值2})
(n:Person{name:'Tony'})
(n:Person{name:'Tom', age:45, hight:175})
(n:Address{address:'guangdong'})
2.关系规则
关系=[代表元:关系类型{属性:属性值}]关系=[代表元:关系类型\{属性:属性值\}] 关系=[代表元:关系类型{属性:属性值}]
[r:Friend{value:90}]
[r:Live]
[r:transAccounts{cash:800,data:'2022-04-06'}]
3.语法
一、增
i)增加节点
create节点create\quad 节点 create节点
create (n:Person{name:'Tony'})
create (m:Person{name:'Tom', age:45, hight:175})
create (k:address{name:'guangdong'})
ii)一个节点增加标签
match节点set节点:新标签match \quad 节点 \quad set \quad 节点:新标签 match节点set节点:新标签
MATCH (n:Person{name:'Tom'})
SET n:Suspect
iii)增加关系
a 从已有节点添加关系
create节点1,节点2merge节点1−关系−>节点2create \quad 节点1,节点2 \quad merge \quad 节点1-关系->节点2 create节点1,节点2merge节点1−关系−>节点2
match (n:Person{name:'Tony'}),(m:Person{name:'Tom'})
merge (n)-[:Friend{value:90}]->(m)match (n:Person{name:'Tony'}),(m:address{name:'guangdong'})
merge (n)-[:Live]->(m)
b 新建节点添加关系
create节点1−关系−>节点2create \quad 节点1-关系->节点2 create节点1−关系−>节点2
create (n:Person{name:'Sandy'})-[:Friend{value:90}]->(m:Person{name:'Jenny'})
create (x:Person{name:'Peter'})-[:Live]->(y:address{name:'hubei'})
c 部分节点已存在
match节点1merge节点1−关系−>节点2match \quad 节点1 \quad merge \quad 节点1-关系->节点2 match节点1merge节点1−关系−>节点2
match (n:Person{name:'Tony'})
create (n)-[:Friend{value:90}]->(m:Person{name:'Jack'})match (m:address{name:'guangdong'})
create (n:Person{name:'Danny'}) -[:Live]-> (m)
iv)增加属性
a 添加节点属性
match节点1set节点1.属性名1match \quad 节点1 \quad set \quad 节点1.属性名1 match节点1set节点1.属性名1
match (n:Person{name:'Tony'}) set n.age=45
match (n:Person{name:'Tony'}) set n.hight=180
b 增加关系的属性
match关系1set节点1.属性名1match \quad 关系1 \quad set \quad 节点1.属性名1 match关系1set节点1.属性名1
match (n:Person{name:'Tony'})-[r:Friend]-(m:Person{name:'Tom'}) set r.value=45
二、删
i)删除节点
a)方式一:确保该节点连接的关系全部删除
match(n)−[h]−>节点deletehmatch节点−[r]−>(n)deletermatch节点delete节点match\quad (n)-[h]->节点 \quad delete\quad h\\match\quad 节点-[r]->(n) \quad delete\quad r\\match \quad 节点 \quad delete \quad 节点 match(n)−[h]−>节点deletehmatch节点−[r]−>(n)deletermatch节点delete节点
match (n:Person{name:'Peter'})-[h]->(m) delete h;
match (m)-[r]->(n:Person{name:'Peter'}) delete r;
match (n:Person{name:'Peter'}) delete (n)
b)方式二:删除节点同时,解放所有关系
match(n)−[h]−>(m)detachdeletemmatch \quad (n)-[h]->(m) \quad detach \quad delete \quad m match(n)−[h]−>(m)detachdeletem
match (n:Person{name:'Jenny'}) detach delete n
ii)删除关系
match(n)−[h]−>节点deletehmatch\quad (n)-[h]->节点 \quad delete\quad h match(n)−[h]−>节点deleteh
match (n:Person{name:'Danny'})-[h]->(m) delete h;
iii)删除属性
match节点1remove节点1.属性名match \quad 节点1 \quad remove \quad 节点1.属性名 match节点1remove节点1.属性名
match (n:Person{name:'Tony'}) remove n.age
三、改
i)修改属性
a)修改节点属性
match节点1set节点1.name=新名字match节点2set节点2.属性名1=属性值match \quad 节点1 \quad set \quad 节点1.name=新名字\\match \quad 节点2 \quad set \quad 节点2.属性名1=属性值 match节点1set节点1.name=新名字match节点2set节点2.属性名1=属性值
match (n:Person{name:'Jack'}) set n.name='Jacky'
match (m:Person{name:'Tony'}) set m.hight=160
b)修改关系属性
match节点1−关系−>节点2set关系.属性名=属性值match \quad 节点1-关系->节点2 \quad set\quad 关系.属性名=属性值 match节点1−关系−>节点2set关系.属性名=属性值
match (n:Person{name:'Tony'})-[r]->(m:Person{name:'Tom'}) set r.value=100
ii)修改节点(标签)
match节点1remove节点1:节点类别set节点1:新节点类别match \quad 节点1 \quad remove \quad 节点1:节点类别\quad set\quad 节点1:新节点类别 match节点1remove节点1:节点类别set节点1:新节点类别
MATCH (n:Person{name:'Sandy'})
REMOVE n:Person
SET n:Suspect
iii)修改关系
MATCH (n:Person{name:'Tony'})-[r:Friend]->(m:Person{name:'Tom'})
CREATE (n)-[r2:Couple]->(m)
SET r2 = r // 这里是复制属性
WITH r
DELETE r
四、查
i)查询节点
match节点return节点match \quad 节点\quad return \quad 节点 match节点return节点
match (n:Person{name:'Tony'}) return n
ii)查询关系
match节点1−关系−>节点2return关系match \quad 节点1-关系->节点2 \quad return \quad 关系 match节点1−关系−>节点2return关系
match (n:Person{name:'Tony'})-[r]->(m) return r
iii)查询属性
a)查询节点属性
match节点return节点.属性名1match \quad 节点\quad return \quad 节点.属性名1 match节点return节点.属性名1
match (n:Person{name:'Tony'}) return n.age
b)查询关系属性
match节点1−关系−>节点2return关系.属性名match \quad 节点1-关系->节点2 \quad return \quad 关系.属性名 match节点1−关系−>节点2return关系.属性名
match (n:Person{name:'Tony'})-[r]->(m:Person{name:'Tom'}) return r.value
Neo4j 全网最详细教程相关推荐
- 快速成为idc服务商----全网最详细教程----1
本次要讲述的就如题目表述,成为idc服务商教程,而且是速成!成本肯定是有的,但是肯定低于收益! 如果您对idc不了解,我在这里给您简单介绍下: idc服务商 是什么?您知道服务器吗?如果您连服务器都不 ...
- 图数据库Neo4j实战(全网最详细教程)
1.图数据库Neo4j介绍 1.1 什么是图数据库(graph database) 随着社交.电商.金融.零售.物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运 ...
- Git版本控制器(涵盖GitHub\Gitee码云\GitLab),全网最详细教程
Git(涵盖GitHub\Gitee码云\GitLab) 第1章 Git 概述 Git 是一个免费的.开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目. Git 易于学习,占地面积 ...
- Fiddler抓包配置和使用(全网最详细教程)
文章目录 Fiddler 基本工作原理 Fiddler界面熟悉 Fiddler设置过滤(抓取指定服务器地址的数据) Fiddler模拟接口测试(自定义请求) Fiddler打断点修改接口请求数据 Fi ...
- Tomcat下载安装及配置(全网最新详细教程)
下载tomcat 下载地址:https://tomcat.apache.org/download-80.cgi 选择下载版本,这里用tomcat8版本来做教程的 根据自己的系统选择相对应的下载 下载完 ...
- 手把手教你构建一个web前端项目,全网最详细教程!
为什么80%的码农都做不了架构师?>>> 1. 选择现成的项目模板还是自己搭建项目骨架 搭建一个前端项目的方式有两种:选择现成的项目模板.自己搭建项目骨架. 选择一个现成项目模 ...
- Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程
博主经历过多次双系统的安装与卸载,所以这次安装就记录下全过程,能让后面的同学少走弯路.本教程对笔记本电脑单硬盘和双硬盘通用. 安装目录 一.查看电脑信息 1.BIOS模式 2.查看硬盘数 二.制作系统 ...
- 魅族路由器(极速版)刷老毛子(padavad)固件-全网最详细教程
写在前面: 魅族路由器极速版,想必有一些网友买过,本人也买过,但是因为魅族官方对路由器已经不维护了,固件万年不更新,插件也用不了了,所以我打着尝试得态度查找了相关刷路由器系统得教程,于是还真让我找到了 ...
- Hexo+GitHub搭建个人网站全网最详细教程
前言 这个故事很长,还要从一只蝙蝠说起! 大二寒假在家闲来无事一直想做一个网站但是苦于没有门路,于是我去各大论坛搜索关于搭建网站的资料,这一搜还真给搜到了,于是这一套Hexo+GitHub搭建个人博客 ...
最新文章
- 【Qt】Log4Qt(四):周期性输出日志,并且限制日志文件数量
- 减法中的减数和被减数
- 最长连续子序列偏移_最长连续不重复子序列
- 单个正态总体均值的区间估计_假设检验09---单个正态总体参数的假设检验
- MySQL数据库:索引的实现原理
- 最新web 2.0 配色 (一)
- 非标自动化转行机器人_机器人与非标自动化这两个有什么区别?可以从结构,功能等方面谈谈吗?...
- Maven国内镜像 Maven阿里云镜像
- springboot整合Mybatis提示org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- java程序报错后跳过继续执行_java笔记.基础篇.基本数据类型
- 叙述计算机网络的分类与拓扑结构,计算机的网络中有线网络和无线网络最主要的区别是()。...
- Dstream如何应用RDD特有算子?
- Hibernate---配置文件
- Android Studio升级到3.0.0后构建项目时出现的问题总结
- 干货 | Python之自动化报表
- 表格自动填充上一行_如何在Google文档电子表格上使用自动填充[快速提示]
- 7 类与对象,方法和函数的定义和使用,返回值,权限修饰符 public default protected private(重点)
- 本地无需安装数据库,实现plsql远程连接数据库
- [经验分享] 覃超算法训练营学习笔记
- 路径规划算法学习Day2