0

我正在尝试在创建新顶点或更新现有顶点之前检查顶点是否存在:

 x = g.V().has('name','xyz').hasNext()  // /search 1

 if ( x != true ){
    g.V().addVertex( 'name', 'xyz' ) }

 g.V().has('name','xyz').property('x','1')  // search 2

该示例有 2 次搜索名称 = xyz 的元素;我想将第一次搜索保存到一个变量中,稍后再引用它。

但是,如果我尝试保存搜索,它不会被保存:

 gremlin> x = g.V().has('name','xyz')
 ==>v[40964336]
 gremlin> x
 gremlin>

在此示例中避免两次搜索的方法是什么?- 谢谢你!!!

4

2 回答 2

2

也许你错过了tryNext

g.V().has('name','xyz').tryNext().orElseGet {
  graph.addVertex('name', 'xyz')
}.property('x', '1')
于 2015-11-08T15:21:01.317 回答
0

找到我自己的答案:collect()

 x= g.V().has('name','axdas').collect()

 if ( x.size() > 0 ) { //set property
   }

 else { // add vertex
   }
于 2015-11-08T02:28:34.427 回答