目录
[2.1.2 有关系的节点删除](#2.1.2 有关系的节点删除)
[3.1 给节点修改标签](#3.1 给节点修改标签)
[3.2 修改,新增属性](#3.2 修改,新增属性)
[4.1 查找节点](#4.1 查找节点)
[4.2 查找关系](#4.2 查找关系)
一,Neo4j的增
1.1.新增节点
bash
create (n:Persion {name:'刘诗诗',age:32})

解释:
CREATE
:这是Cypher查询中的关键字,用于指示数据库创建新的节点或关系(n)
:这是一个占位符,代表将要创建的节点。n
是一个变量名,你可以使用任何合法的变量名来代替它。Person
:这部分定义了节点的标签(Label)。在这里,Person
是一个标签,表示这个节点属于Person这一类别。在Neo4j中,标签可以用来表示实体或概念的类型。- {name:'刘诗诗',age:32}:这是一个属性(Property)映射,用来给节点设置属性。在这个例子中,节点
n
有两个属性:name
和age
。name
属性被赋予了字符串值'
刘诗诗'
,而age
属性被赋予了整数值32
。综合起来,这条Cypher语句的作用是创建一个新的节点,这个节点具有
Person
标签,并且有两个属性:name
属性的值为'我'
,age
属性的值为31
。这个节点在数据库中是独一无二的,除非已经存在一个具有相同标签和属性值的节点。
在创建一个Person标签的节点

查看库数据

删除数据,在重新创建下节点
查看数据

1.2.新增关系
1.2.1创建节点时,创建关系
同1.1语句,创建节点的时候,新增节点间的关系
bash
create(n:Persion{name:"高飞",age:28})-[:日出场费{金额:50}]->(p:Persion{name:"林青霞",age:54})

- create: 是一个关键字,用于在数据库中创建新的节点和关系。
- (n:Persion{name:"高飞",age:28}):创建一个新的节点 n,这个节点属于 Persion标签,并具有两个属性:name 属性的值为 "高飞",age 属性的值为 "28"。
- -[:日出场费{金额:50}]:创建一个新的关系,这个关系连接两个节点,关系的类型是 日出场费,并且这个关系有一个属性 金额,其值为 50。
- ->(p:Persion{name:"林青霞",age:54}):指明了关系的另一个节点 p,这个节点同样属于 Persion标签,并具有 name 和 age 两个属性,分别设置为 "林青霞和 "54"。
所以,整体来看,这段代码的作用是创建两个 Persion类型的节点,一个名为 "高飞",年龄为 28,另一个名为 "林青霞",年龄为 54,并在两者之间创建了一个类型为 日出场费 的关系,该关系有一个属性 金额,其值为 50。
1.2.2在已有的节点上,创建关系
bash
MATCH (n1:Persion),(n2:Persion) WHERE n1.name='刘诗诗' AND n2.name='我' CREATE(n1)-[:贷款{金额:3000}] ->(n2) return n1,n2

二,Neo4j的删除
2.1删除节点
2.1.1无关系的节点删除
bash
create(n:Persion{name:"北乔峰",age:30})

删除操作
bash
Match (n:Persion{name:"北乔峰"}) delete n

检查,已删除

2.1.2 有关系的节点删除
有关系存在的节点在删除时,需要先删除关系,否则会报错,提示也先删除关系

在图数据库或图模型中,节点和关系是一种基本的结构。关系用于连接节点,表示它们之间的连接。在删除一个节点之前,您必须先删除它的所有关系,否则系统将无法删除该节点。
删除关系
删除关系之前,需要找到这个关系
bash
match (p:Persion{name:"高飞"})-[f:日出场费] ->(n:Persion{name:"林青霞"}) delete f
两个节点的名称不能是一样的,若都是p,则匹配不到数据。

一个p,一个n,不一样,才能执行。删除关系后,节点还是存在的。

若果关系找的不对,如上。真实的关系是
match (p:Persion{name:"高飞"})-[f:日出场费] ->(n:Persion{name:"林青霞"}) delete f
而如果写的语句的关系是
match (p:Persion{name:"林青霞"})-[f:日出场费] ->(n:Persion{name:"高飞"}) delete f
执行语句,删除报错。

同时删除节点和关系
在删除的时候,除了关系f外,将节点名称也加上,就都删除了。
bash
match (p:Persion{name:"高飞"})-[f:日出场费] ->(n:Persion{name:"林青霞"}) delete f,p,n
先恢复下节点关系
bash
match (p:Persion),(n:Persion) where p.name="高飞" and n.name="林青霞" create (p)-[:日出场费{金额:30}] ->(n) return p,n

在执行上面的命令

2.1.3 删除所有
bash
MATCH (n:ru_yi_zhuan) detach delete n;

我们来逐部分解析这条语句:
- MATCH (n:ru_yi_zhuan)
- MATCH 是用于查找图中节点或关系的关键字。
(n:ru_yi_zhuan)
表示查找所有类型为ru_yi_zhuan
的节点,并将这些节点赋值给变量n
。
n
是一个变量,代表每个匹配到的节点。:ru_yi_zhuan
是一个标签,表示这些节点属于ru_yi_zhuan
类型。标签可以用来对节点进行分类。
- detach
- DETACH 是一个关键字,用于删除节点时,自动删除该节点与其他节点之间的所有关系。
- 通常,如果你删除一个节点并且没有使用
DETACH
,如果该节点与其他节点有关系,Neo4j 会拒绝删除该节点(因为数据库会保护图的完整性,防止孤立节点)。使用DETACH
后,它会自动删除与该节点相连的所有关系。
- DELETE n
- DELETE 是用来删除节点或关系的关键字。
n
是之前通过MATCH
查找到的节点变量,DELETE n
会删除这些节点。总结:
这条查询的作用是:
- 查找图数据库中所有标签为
ru_yi_zhuan
的节点。- 删除这些节点及它们与其他节点之间的所有关系(通过
DETACH
)。- 最后,删除这些节点本身。
注意: 运行这条语句会永久删除所有匹配到的
ru_yi_zhuan
类型的节点及其关系,请确保在执行前已经备份了数据或者确认操作无误。
三,节点修改
改操作可以改节点现有的属性或者标签,也可以增加节点新的属性或者标签。
选中节点后,即可看到节点的id,id值是库自动生成

3.1 给节点修改标签
bash
match(t:Persion) where id(t)=2 set t.age = 22

3.2 修改,新增属性
bash
match(t:Persion) where id(t)=2 set t.sex="男",t.likes="钱"

四,查找
4.1 查找节点
语法最后,要有return
bash
match(p:Persion) where p.sex = '男' return p

4.2 查找关系
bash
match(p:Persion) -[:贷款] -> (np:Persion) return p,np

match(p:Persion) -[:贷款] -> (np:Persion):
- MATCH :是用来在图形数据库中查找模式的。这里,它寻找所有符合 Persion类型的节点(p 和 n)。
- -[:贷款]-> :是关系路径,表示从一个 Persion节点(p)通过一个名为 借款 的关系到达另一个 Persion节点(np)。-> 指向关系的方向。
return p, np:
- return 语句用于返回查询结果。在这个查询中,它会返回两个节点,p 和 np,作为查询结果的每一行。每行将包含匹配到的 Persion对的组合。
所以,这个查询的目的是找出所有 Persion类型的节点,其中有一个关系是 贷款,并且这个关系连接了两个 Persion节点,并返回这两个节点。
结果将是一个包含借款关系的 Persion对列表。
新建一个关系,此时,贷款 的关系有2条,4个节点,查询的结果为何呢。

查询正确,2个关系,4个节点。
