一、Neo4j基本操作
1. 增删改查
1.1 创建节点与关系
01-创建节点
CREATE(m:进制) //m为变量名,写什么都可以,“进制”为标签
02- 创建带有属性的节点
CREATE (m:进制 { 中文名:"进制",外文名称:"system of numeration",实质:"是人们规定的一种进位方法" })
match(m:进制) return(n) //match为查询匹配的功能,有match,一定要有return
03-判断是否节点已存在,若存在不操作,不存在再创建
MERGE (n {name: '3'}) //Create if a node with name='3' does not exist else match it
MERGE (test2 {name:'2'}) //Create if a node with name='2' does not exist else match it
04-创建节点之间的关系
//直接创建新的节点关系,以下将创建两个节点,一个带属性的关系(边)
CREATE (m:进制 {name:"byte"})-[r:应用{年代:1990,人物:"冯诺依曼"}]->(n:内存 {name:"memory"})
//已有的两个节点创建关系
MATCH (m:进制 {name:"byte"}),(n:内存 {name:"memory"})
CREATE (m)-[r:应用]->(n)
//一个节点有,一个节点没有,创建另一个几点及其关系
MATCH (m:进制 {name:"byte"})
CREATE (m)-[r:应用]->(n:内存 {name:"memory"})
1.2 删除节点与关系
01-删除关系
match(m:进制 {name:"byte"})-[r]-(n:内存 {name:"memory"}) delete r //删除特定节点之间的关系
match(m:进制)-[r]-(n:内存) delete r//支持类似模糊的匹配,删除两个标签所有节点直接存在的关系
match(m:进制)-[r]-() delete r //删除与进制有关的所有关系
match(m:进制 {name:"byte"})-[r:应用]-(n:内存 {name:"memory"}) delete r //删除特定的应用关系
match(m)-[r]-(n) delete r//删除所有关系
02-删除节点
MATCH (m:进制 {name:"byte"}) delete(m:进制 {name:"byte"}) //删除某个节点,删除节点前必须解除关系
match(n) delete(n) //删除全部节点
1.3 修改节点及关系
01-更新节点的属性信息
match(m:进制 {name:"byte"}) set m.name='method'//更新属性值
match(m:进制 {name:"byte"}) set m.usage='method'//添加新属性
match(m:进制 {name:"byte"}) remove m.name //删除属性与标签
02-更新节点的标签信息
// 一个有标签的节点添加标签
match (n:ExistingLabel) set n :NewLabel
// 删除标签
match (n:OldLabel) remove n:OldLabel
// 一个没有标签的节点添加标签 (更新一个节点标签:先删除后重设)
match (n {id:desired-id})
set n :newLabel
return n
1.4 查询节点及关系
01-查询多个标签
MATCH (n) WHERE (n:User OR n:Admin) return (n) //返回User或者Admin标签的节点
MATCH (n) WHERE (n:User AND n:Admin) return (n) //返回User且Admin标签的节点
02-按照id查询
MATCH (s) WHERE ID(s) = 65110 RETURN s
03-限制查询返回个数
MATCH (n:node) RETURN n LIMIT 5
04-查询节点属性
match(m:内存) return 内存.外文名称 //查询节点属性
二、Neo4j深度操作
三、Neo4j骚操作
来源:CSDN
作者:dh19930920
链接:https://blog.csdn.net/dh19930920/article/details/104048498