0

有时需要创建带有可选边的顶点。

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()

edgeIsNeeded这个遍历有效,我只是在 JS 中注入带有变量的布尔值。

有没有更好的方法在单次遍历中做到这一点,例如,基于先前的属性edge_is_needed值?

4

1 回答 1

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')))
于 2018-08-21T03:31:03.233 回答