Search code examples
gremlintinkerpop3

How to remove mutiple edges in gremlin query


I created a edge called "created" between User vertex and Event vertex

 user1(8312) ---created---> event1(1234)

 user1(8312) ---created---> event2(4567)

 user1(8312) ---created---> event3(7890)

I can delete one edge at a time,but if I want to delete mutiple edges have to loop though and hit multple db calls.Is there any way to delete mutiple edges at once.


Solution

  • If you want to drop edges between multiple vertices then you could do something like this:

    gremlin> g = TinkerFactory.createModern().traversal()
    ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
    gremlin> g.V(1).outE()
    ==>e[9][1-created->3]
    ==>e[7][1-knows->2]
    ==>e[8][1-knows->4]
    gremlin> g.V(1).outE().where(inV().hasId(within(2,3))).drop()
    gremlin> g.V(1).outE()
    ==>e[8][1-knows->4]
    

    You can read more about this in Gremlin Recipes.