Gremlin:在单个gremlin查询中添加边并删除边

问题描述 投票:0回答:1

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

假设我们有两种类型的顶点类型A --is - > B现在我有顶点连接到B的其他顶点。

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

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

datastax gremlin datastax-enterprise tinkerpop datastax-enterprise-graph
1个回答
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”的“知道”边缘)和我们在第3行的drop()。在第4行,我们查找我们希望的顶点将“marko”连接到现在,然后在第5行添加边缘。

© www.soinside.com 2019 - 2024. All rights reserved.