图数据库neo4j的编程语句(详解)
<手写测试1>
1.1创建空节点
CREATE (n)
CREATE (a),(b)
1.2创建带标签的节点
CREATE (n:Person)
CREATE (n:Person:Swedish) ---(此为节点同时创建两个标签)
CREATE (n:西游:金箍棒{name:'如意金箍棒',title:'神兵'}) ---(举例)
---(注释:Person节点标签,Swedish节点标签 )
1.3创建带标签和属性的节点
CREATE (n:Person { name: 'Andres', title: 'Developer' })
CREATE (n:西游 { name: '小龙女', title: '龙女' })
CREATE (a:西游 { name: '嫦娥', title: '仙人' })return a
(n/a:表示此标签,可自行定义,与return连用才发挥实际作用)
(name:标签名字 title:标签标题 ---两者可以选择显示(同上图))
1.4 创建关系,创建节点之间的关系
1.5在两个节点之间创建关系,并设置关系类型
MATCH (a:标签1),(b:标签2)
WHERE a.name = '节点1' AND b.name = '节点2'
CREATE (a)-[r:RELTYPE]->(b)
RETURN type(r)
1.6创建关系,并设置关系的属性
MATCH (a:Person),(b:Person)
WHERE a.name = 'A' AND b.name = 'B'
CREATE (a)-[r:自定义关系名{ name: a.name + '<->' + b.name }]->(b)
RETURN type(r), r.name
2.1删除xiyouRelation节点标签 、删除金箍棒标签
match(n:xiyouRelation) delete n
match (n:`金箍棒`)delete n (注释:删除名字叫金箍棒的标签,前提是标签中的所有节点不再与别的标签的节点存在关联关系)
2.2删除Customer 节点标签
match(n:Customer) delete n
2.3 删除Goods 节点标签
match(n:Goods) delete n
2.4 删除Movie 节点标签
match(n:Movie) delete n
2.5 删除BC_Person节点,以及与之相关的所有关系
MATCH (n:BC_Person)-[r]-() DELETE n,r
---截图说明(Node Labels)此为节点标签
(使用delete子句删除节点、关系和路径,当删除节点时,该节点必须是孤立的节点,也就是说,必须首先删除跟节点相关的所有关系。
detach delete: 表示删除一个节点或多个节点,跟节点相关的所有关系也都被删除)
2.6 删除节点
MATCH (n:Person { name: 'UNKNOWN' })DELETE n
match(n:`金箍棒`{name:'如意金箍棒'})delete n
(注释:删除金箍棒标签中名叫如意金箍棒的节点)
2.7 删除所有节点和关系
MATCH (n { name: 'Andres' })DETACH DELETE n
2.8 删除一个节点和它的所有关系
MATCH (n { name: 'Andres' })DETACH DELETE n
2.9 删除关系
MATCH (n { name: 'Andres' })-[r:KNOWS]->()DELETE r
3.1 查询BC_Person节点标签包含的节点和节点间的关系
MATCH (n:BC_Person)-[r]-() RETURN n,r
<手写测试2-Neo4j 之西游记取经团队人物创建和关系设置 >
1.创建带属性的人物节点
create(xyj_tsz:`西游`{name:"唐三藏",age:39});
create(xyj_swk:`西游`{name:"孙悟空",age:520});
create(xyj_zbj:`西游`{name:"猪八戒",age:512});
create(xyj_swj:`西游`{name:"沙悟净",age:444});
create(n:西游{name:'孙悟空',title:'齐天大圣'})
create(xyj_swj:`西游`{name:"沙悟净",title:'卷帘大将'});
CREATE(n:西游 { name: '小龙女', title: '龙女' })
CREATE(a:西游 { name: '嫦娥', title: '仙人' })return a
(注解:创建一个西游标签中,名字叫嫦娥的节点,添加标题为仙人,返回a可直接查看)
2.创建带属性的西游武器
CREATE(n:西游:西游武器{name:'九齿钉耙',title:'猪八戒'})
create(n:西游:西游武器{name:'禅杖',age:5000})
create(n:西游:西游武器{name:'东皇钟',title:'先天至宝',age:1000000})
CREATE (n:`西游武器`{name:'金箍棒',title:"定海神针",age:10000})
CREATE (n:`西游武器`{name:'混天绫',title:'乾坤圈',age:50000})
3.创建人物与武器的关系
match (a:`西游`),(b:`西游武器`)
where a.name='孙悟空' and b.name='金箍棒'
create (a)-[r:驾驭]->(b)
return type(r),r.name
(注释:调出西游标签中name为孙悟空的节点和西游武器标签中name为金箍棒的节点,创建名为驾驭的关系连线,最后return出关系视图与关系名)
<知识点总结3>
1,创建空的节点
CREATE (n)
CREATE (a),(b)
2,创建带标签的节点
CREATE (n:Person)
CREATE (n:Person:Swedish)
3,创建带标签和属性的节点
CREATE (n:Person { name: 'Andres', title: 'Developer' })
4.在两个节点之间创建关系
在两个节点之间创建关系,并设置关系类型
MATCH (a:Person),(b:Person)
WHERE a.name = 'A' AND b.name = 'B'
CREATE (a)-[r:RELTYPE]->(b)
RETURN type(r)
4.创建关系,并设置关系的属性
MATCH (a:Person),(b:Person)
WHERE a.name = 'A' AND b.name = 'B'
CREATE (a)-[r:RELTYPE { name: a.name + '<->' + b.name }]->(b)
RETURN type(r), r.name
(使用delete子句删除节点、关系和路径,当删除节点时,该节点必须是孤立的节点,也就是说,必须首先删除跟节点相关的所有关系。
detach delete: 表示删除一个节点或多个节点,跟节点相关的所有关系也都被删除。)
5,删除节点
MATCH (n:Person { name: 'UNKNOWN' })
DELETE n
6,删除所有节点和关系
MATCH (n)
DETACH DELETE n
7,删除一个节点和它的所有关系
MATCH (n { name: 'Andres' })
DETACH DELETE n
8,删除关系
MATCH (n { name: 'Andres' })-[r:KNOWS]->()
DELETE r
更新属性或标签
1,向节点或关系中添加属性
MATCH (n { name: 'Andres' })
SET n.surname = 'Taylor'
RETURN n.name, n.surname
2,移除属性
如果设置属性的值是NULL,相当于把该属性从节点或关系中移除
MATCH (n { name: 'Andres' })
SET n.name = NULL RETURN n.name, n.age
3,复制属性
把一个节点的属性复制给另一个节点
MATCH (at { name: 'Andres' }),(pn { name: 'Peter' })
SET at = pn
RETURN at.name, at.age, at.hungry, pn.name, pn.age
4,从Map中添加属性
MATCH (p { name: 'Peter' })
SET p += { hungry: TRUE , position: 'Entrepreneur' }
5,在一条set子句中添加多个属性
MATCH (n { name: 'Andres' })
SET n.position = 'Developer', n.surname = 'Taylor'
6,向节点中添加标签
MATCH (n { name: 'Stefan' })
SET n:German
RETURN n.name, labels(n) AS labels
7,向节点中添加多个标签
MATCH (n { name: 'Emil' })
SET n:Swedish:Bossman
RETURN n.name, labels(n) AS labels
移除属性
使用remove子句从节点中移除标签和属性,从关系中移除属性。
1,移除属性
默认情况下,Neo4j不允许存在值为null的属性;如果属性不存在,那么返回该属性的值是null。
MATCH (a { name: 'Andres' })
REMOVE a.age
RETURN a.name, a.age
2,移除节点的标签
MATCH (n { name: 'Peter' })
REMOVE n:German
RETURN n.name, labels(n)
3,移除节点的多个标签
当节点的标签为空时,labels(n)函数返回空的list
MATCH (n { name: 'Peter' })
REMOVE n:German:Swedish
RETURN n.name, labels(n)
图数据库neo4j的编程语句(详解)相关推荐
- mysql的load data_【MySQL】load data语句详解(一)
作者 罗小波 沃趣科技高级MySQL数据库工程师 load data语句详解 背景 数据库版本:MySQL 5.7.18 服务器信息:本地到处导入在10.10.30.241上演示,local远程导入 ...
- java语言数据库编程_JAVA语言数据库编程实例详解
本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...
- MySQL数据库增删改查常用语句详解
MySQL数据库增删改查常用语句详解 一 MySQL数据库表结构 1.1 常见数据类型 1.2 常用约束类型 1.3 MySQL存储引擎 二 DDL语句:数据定义语句 2.1 修改数据库密码 2.1. ...
- 图数据库Neo4j的介绍与使用
Neo4j 是一个高性能的 NoSQL 图形数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.Neo4j 也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性. 接下来我们 ...
- 图数据库Neo4j的使用(附带源码)
Neo4j整合Java Neo4j安装及简单使用 Neo4j和图数据库简介 Neo4j安装 配置环境变量 修改Neo4j配置文件 Neo4j启动和停止 切换数据库 Neo4j的CQL语句 导入csv文 ...
- 大数据时代的新型数据库-图数据库Neo4j介绍
2019独角兽企业重金招聘Python工程师标准>>> 1.Neo4j简介 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上形成图谱而不是表中.Neo4j也 ...
- 图数据库neo4j的安装与基本使用(一)
图数据库neo4j的安装与基本使用(一) 1-什么是图形数据库,什么是Neo4j 2018年06月13日 17:16:10 weixin_37681618 阅读数:233更多 个人分类: 图形数据库 ...
- hbase 二进制数据写入_分布式数据库HBase的架构设计详解(有彩蛋)
原标题:分布式数据库HBase的架构设计详解(有彩蛋) 本文根据DBAplus社群第99期线上分享整理而成,文末还有好书送哦~ 讲师介绍 陈鸿威 云财经大数据CTO 曾任百度高级工程师,现主持设计开发 ...
- 图数据库Neo4j简介
图数据库Neo4j简介 转自: 图形数据库Neo4J简介 - loveis715 - 博客园 https://www.cnblogs.com/loveis715/p/5277051.html 最近我在 ...
最新文章
- 北斗产业发展现状与前景预测研究
- ios 添加block 类别_ios之Block的详细使用和具体说明
- 少有人走过的路:分析-策略-产品
- Redis数据库(一)——Redis简介、部署及常用命令
- 联想微型计算机功率,解锁全部潜力,联想这款笔记本可以将CPU功耗提升至24W
- 读取脑磁波,神经网络知道你在「犹豫不定」
- 【渝粤教育】国家开放大学2019年春季 233学前儿童语言教育 参考试题
- oracle网络ora文件,Oracle错误—ORA-03113:在通信信道文件的末尾(归档日志处理)...
- Android 持续集成基础教程
- SpringBoot整合WebSocket案例
- win7桌面上的ie图标删不掉怎么办
- 计算机英语词汇汇总,计算机英语词汇汇总
- Kong 开源的服务网格Kuma爬过了K8S这座大山
- advGAN代码笔记
- 北斗卫星短信通信与定位详解
- java枚举类型学习笔记
- Orcle 12c 新特性--- 支持PDB OMF
- BAT程序员轻轻松松拿20k?学会这些涨薪秘籍你也行!
- 有限长信号自相关函数的估计
- TexturePacker生成动画脚本