有时需要使用可选的Edge创建顶点。
g.addV('label')
.property(id, 'uniq_id_2').as('u')
.property('edge_is_needed', edgeIsNeeded)
.constant(edgeIsNeeded)
.choose(eq(true),
addE('connected').from('u').to(V('uniq_id_1'))
)
.select('u')
.toList()
此遍历有效,我只是在JS中使用edgeIsNeeded
变量注入布尔值。
例如,根据先前的属性edge_is_needed
的值,是否有更好的方法可以在单个遍历中完成?
答案 0 :(得分:2)
此查询不需要任何路径信息/步骤标签,也没有choose()
的复杂性。简单的has()
过滤器只是一个副作用:
g.addV('label').
property(id, 'uniq_id_2').
property('edge_is_needed', edgeIsNeeded).
sideEffect(has('edge_is_needed', true).
addE('connected').to(V('uniq_id_1')))