GREMLIN for Scala:如何在单个查询中放置两个顶点之间的边并连接两个顶点之间的边

时间:2019-03-06 09:38:08

标签: scala playframework datastax-enterprise datastax-java-driver

我正在使用https://github.com/mpollmeier/gremlin-scala#getting-started的gremlin scala库。

在一个用例中,有三个顶点(A,B,C)。边缘名称为“ IS”的两个A,B顶点已经连接。

现在,我想在单个gremlin scala查询中在A,B之间放置“ IS”边,并使用名为“ IS”的边将A连接到C。之前我写了两个不同的gremlin scala查询,一个用于下降边缘,另一个用于增加边缘,但是我想将这两个查询组合在一个中。

1 个答案:

答案 0 :(得分:0)

假设该库支持以下所有内容,则您应该能够运行以下内容,该操作将删除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]