2017-02-05 4 views
0

Gremlin에서 upsert 기능을 찾고 있습니다.Tinkerpop3/Gremlin. (A) Upsert (B)를 B에 추가 Edge를 추가하십시오.

클라이언트 프로그램은 favoriteMovieNodeId를 쿼리해야하는 스트림 (personId, favoriteMovieNodeId)을 가지고 있고 사람 Vertex를 UPSERT하고 [favoriteMovie] 가장자리를 만듭니다.

이 중복 사람 노드를 생성합니다 : 노드를 추가하기 전에 속성을 기반으로 노드의 존재를 확인하는 방법이

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

있습니까? 나는 모든 기본 그래프 db의 일부인이 매우 기본적인 그래프 함수에 대한 문서를 찾지 못하는 것 같습니다. 동영상이 존재하는 것을 보장하는 경우

답변

1

, 다음입니다 :

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