neo4j基本命令学习

添加节点操作

例子:

create (n:华山{name:"令狐冲", skill:"易筋经", master:"岳不群"})

create为创建语句,n是一个对象用什么都可以,节点信息(采用字典的格式)
创建效果:

添加关系

我们再创建一个名为岳不群的节点

create (n:华山{name:"岳不群"})

为两个节点创建师徒关系

match (a:华山), (b:华山) where a.name = "岳不群" and b.name = "令狐冲" create (a)-[r:师徒]->(b);

效果:

添加修改属性

使用set语句 如果属性不存在就添加,存在就修改

match (e:华山{name:"令狐冲"}) set e.position = "aaaa";

给令狐冲添加一个属性'position'值为'aaa'
如果属性'position'已经存在就是修改操作辣

跨标签建立关系

先创建一个另外一个标签的人

create (n:另外一个标签{name:"人物1", skill:"技能1", master:"师傅1"})

通过给出不同的对象名来确定不同标签下的节点 类似sql的别名

match (n:`华山`{name:"令狐冲"}), (m:`另外一个标签`{name:"人物1"}) create (n) - [r:普通朋友] -> (m);

可以在左侧查看创建的关系

单节点查询

match (e:华山) where e.name = "令狐冲" return e

结果:

整个label查询

说白了就是 select * from xxx
所有的节点包括该标签内部的关系都会被返回

match (e:`华山`) return e

结果:

整体关系查询

create(n:`华山`{name:"杰哥"})
match (a:华山), (b:华山) where a.name = "杰哥" and b.name = "令狐冲" create (a)-[r:师徒]->(b);

通过之前的命令为狐冲哥在加一个师傅
现在通过命令查询在华山所有有师徒关系的节点

match R = (p1:华山) - [r:师徒] ->(p2) return R;

p1,p2依旧是对象,同时用一个R来接收这些信息。
结果:

单个关系查询

match R = (p1:华山) - [r:师徒] ->(p2) where p1.name="岳不群" and p2.name="令狐冲" return R;

关系删除

MATCH (n:`华山`{name:"杰哥"}) - [r:`师徒`] -> (m:`华山`{name:"令狐冲"}) delete r;

如果要吧对应实体删除就是 delete r,m,n (注意关系要先删除)

属性标签删除

通过remove实现
废了令狐冲的武功!

MATCH (n:`华山`{name:"令狐冲"}) remove n.skill

结果:

posted @ 2021-12-14 17:25  一个经常掉线的人  阅读(193)  评论(0编辑  收藏  举报