final var tinkerg = TinkerFactory.createModern();
tinkerg.traversal().V().drop().iterate();
var g = tinkerg.traversal();
g.addV("v1").iterate();
g.addV("v2").iterate();
g.addE("test").from(v1).to(v2).iterate();
g.V().hasLabel("v1").as("testLabel")
.coalesce(
__.outE().where(__.inV()),
__.addE("edge").from(v1).to(v2)
).iterate();
// The above does not add a second edge (as expected)
g.V().hasLabel("v1").as("testLabel")
.coalesce(
__.outE().where(__.inV().as("testLabel"),
__.addE("edge").from(v1).to(v2)
).iterate();
// The above does add a second edge when it shouldn't (?)
final var tinkerg = TinkerFactory.createModern();
tinkerg.traversal().V().drop().iterate();
var g = tinkerg.traversal();
g.addV("v1").iterate();
g.addV("v2").iterate();
g.addE("test").from(v1).to(v2).iterate();
g.V().hasLabel("v1").as("testLabel")
.coalesce(
__.outE().where(__.inV()),
__.addE("edge").from(v1).to(v2)
).iterate();
// The above does not add a second edge (as expected)
g.V().hasLabel("v1").as("testLabel")
.coalesce(
__.outE().where(__.inV().as("testLabel"),
__.addE("edge").from(v1).to(v2)
).iterate();
// The above does add a second edge when it shouldn't (?)