AWS Neptune,JS,Gremlin:添加带有可选Edge的Vertex

时间:2018-08-19 20:47:18

标签: node.js gremlin tinkerpop amazon-neptune

有时需要使用可选的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的值,是否有更好的方法可以在单个遍历中完成?

1 个答案:

答案 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')))