Gremlin, How to add edge to existing vertex in gre

2019-09-15 06:19发布

问题:

I am trying to add edge to an existing node in gremlin-python. But graph traversal(g) object do not have addE method and vertex do not have addEdge method.

回答1:

You can do it with a mid-traversal V():

>>> vFrom = g.V(1).next()
>>> vTo = g.V(6).next()
>>> g.V(vTo).as_('t').V(vFrom).addE("knows").to("t").toList()
[e[13][1-knows->6]]

I did learn that there is a bug that prevents this approach that uses withSideEffect() in TinkerPop 3.2.4:

>>> g.withSideEffect("t",vTo).V(vFrom).addE("knows").to("t").toList()

I created an issue to help track the bug.