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

この例では、name = xyz の要素を 2 回検索しています。最初の検索を変数に保存して、後で参照したいと思います。

ただし、検索を保存しようとすると、保存されません。

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

この例で 2 つの検索を回避するにはどうすればよいですか? - ありがとうございました!!!

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 に答える