格林姆林:在单个格林姆林查询中添加一条边并放下一条边

时间:2019-03-05 12:04:03

标签: datastax gremlin datastax-enterprise tinkerpop datastax-enterprise-graph

如何在单个gremlin查询中添加边线并将其边线删除到相同的顶点类型。

说我们有两种类型的顶点类型A --is-> B现在我有一个与B的其他顶点相连的顶点。

我想将A的顶点更新为B的其他顶点。

当前,我正在删除当前的B顶点,然后添加新的顶点。

1 个答案:

答案 0 :(得分:1)

您可以使用sideEffect()一次遍历:

gremlin> g.V().has('person','name','marko').as('m').
......1>   outE('knows').
......2>   filter(inV().has('person','name','vadas')).
......3>   sideEffect(drop()).
......4>   V().has('person','name','peter').
......5>   addE('knows').from('m')
==>e[13][1-knows->6]

在第1行,我们基本上确定了要去除的边缘(即,从“ marko”到“ vadas”的“知道”边缘),我们drop()在第3行。在第4行,我们进行了查找现在要将“ marko”连接到的顶点,然后在第5行添加边。