新手在Neo4j的增、删的部分操作

新手在Neo4j的增、删的部分操作:

提示:有不对的请大佬指正


csv数据集导入关系:

// 导入关系
LOAD CSV WITH HEADERS FROM "file:///all.csv" AS line  
MATCH (from:class{name:line.from}),(to:name{class:line.to})  
call apoc.merge.relationship(from, line.relation, {}, {}, to) yield rel
return *;

导入实体:

//导入实体
LOAD CSV WITH HEADERS  FROM "file:///class.csv" AS line
MERGE (z:allclass{name:line.name})
return *;
//导入实体
LOAD CSV WITH HEADERS  FROM "file:///1.csv" AS line
MERGE (z:class{name:line.name})
return *;

删除某类标签的全部节点和关系:

比如“公司”这类标签

//  删除标签的所有节点和关系
match (n:公司) detach delete n

删除所有节点关系

// 删除所有节点
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

删除重复关系

比如删除“具体为”这个重复的关系;
实体A与实体B关系构建时,不小心有两个一模一样的关系,这个代码可以删除重复的,只保留一个关系。

// 删除重复关系
MATCH (a)-[r:具体为]->(b)
WITH a, b, TAIL (COLLECT (r)) as rr
WHERE size(rr)>0
FOREACH (r IN rr | DELETE r)

删除某个id的关系

我是实体、关系在neo4j都是一个不用id(这个可能跟构建逻辑有关?不太了解),关系id为204的不想要了,采用下面这个可以删除

MATCH ()-[r]-()
WHERE ID(r) = 204
DELETE r

两个不同类标签的实体建立联系

fenlei这类的label的实体A和class这类label的实体B建立关系“朋友”
分类在这里插入图片描述
fenlei和class就是Node labels下面不同的颜色的类

MATCH (a:fenlei),(b:class)
WHERE a.name = 'A' AND b.name = 'B'
CREATE (a)-[r:朋友 { name: a.name + '<->' + b.name }]->(b)
RETURN type(r), r.name

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值