我正在使用https://github.com/mpollmeier/gremlin-scala#getting-started将这个库用于gremlin scala。
这是一个用例,有三个顶点(A,B,C)。两个A,B顶点已经与边缘名称“IS”连接。
现在我想在A,B之间删除“IS”边缘,并在单个gremlin scala查询中使用名为“IS”的边连接A到C.之前我写过两个不同的gremlin scala查询,一个用于删除边缘,另一个用于添加边缘,但我想将这两个查询合并为一个。
假设该库支持以下所有内容,您应该能够运行以下操作,这将删除V(1)和V(2)之间的关系,同时在V(1)和V(6)之间添加边。
倾向于一个相关的问题,以制定这个,可以找到here
对于您的情况:A = 1,B = 2,C = 6
gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.E()
==>e[7][1-knows->2]
==>e[8][1-knows->4]
==>e[9][1-created->3]
==>e[10][4-created->5]
==>e[11][4-created->3]
==>e[12][6-created->3]
gremlin> g.V(1).as('A').bothE().where(otherV().hasId(2)).as('drop').addE('IS').from('A').to(V(6)).select('drop').drop()
gremlin> g.E()
==>e[8][1-knows->4]
==>e[9][1-created->3]
==>e[10][4-created->5]
==>e[11][4-created->3]
==>e[12][6-created->3]
==>e[13][1-IS->6]