如何用ngql删除据有多个rank的关系?只能一个rank一个rank地删除吗?
nebula版本:v1.2.0
如何用ngql删除据有多个rank的关系?只能一个rank一个rank地删除吗?
nebula版本:v1.2.0
不太明白您说的有多个rank的关系是什么意思?rank在Nebula Graph中用于描述一条边的四元组的其中一部分。
就是同一类型多条边是用多个rank表示的嘛,我想要快速删除所有的边
你的意思是如下四个edge都删除?还是只保留一个?
src1_edgetype_rank1_dst1
src1_edgetype_rank2_dst1
src1_edgetype_rank3_dst1
src1_edgetype_rank4_dst1
都删除~
我现在是在代码里做了个for循环,伪代码如下
for rankI in [0,1,2,3,4,5]:
graphClient.execute_query("DELETE EDGE src->dst@{rankI}")
相当于不管这个边存不存在,从rank=0删到rank=5,但是感觉这方法太蠢了
GO FROM “player100” OVER follow
WHERE follow._dst == “team204”
YIELD follow._src AS src, follow._dst AS dst, follow._rank AS rank
| DELETE EDGE follow $-.src->$-.dst @ $-.rank;
通过类似于这样的语句可以满足你的需求吗?先查询满足条件的边,然后用管道符号输入给delete
可是v1.2.0的nGQL的delete似乎不支持管道欸
奥,不好意思!确实之前的一些版本能力存在不足。现在看如果还是用1.2.0,那有些能力只能是应用结合图数据库一起使用。即使后续版本,也偶尔会出现类似的现象。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。