2017-02-05 9 views
0

Gremlinでupsert機能を探しています。Tinkerpop3/Gremlin。 (A)Upsert(B)をBに追加します。

クライアントプログラムのストリームは(personId, favoriteMovieNodeId)であり、favoriteMovieNodeIdを照会する必要があります。次に、人物VertexをUPSERTし、[favoriteMovie]エッジを作成します。

これは、重複した人ノードを作成します。

g.V().has(label,'movies').has('uid',$favoriteMovieNodeId).as('fm') 
.addV('Person').property('personId', $personId).addE('favMovie').to('fm') 

は、ノードを追加する前に、プロパティに基づいて、ノードの存在を確認する方法はありますか?私はすべての基礎となるグラフの一部であるこの非常に基本的なグラフ関数に関する文書を見つけることができないようです。

答えて

1

映画が存在することが保証されている場合、それはです:

g.V().has('movies','uid',$favoriteMovieNodeId).as('fm'). 
    coalesce(V().has('Person','personId', $personId), 
      addV('Person').property('personId', $personId)). 
    addE('favMovie').to('fm') 
関連する問題