2017-02-25 9 views
1

1つの呼び出しで1つの頂点から複数の頂点にエッジを追加するにはどうすればよいですか?私は、通常のaddEdgeを単一の頂点で呼び出すことができますが、かなりの数があるかもしれないので、追加する必要がある各エッジに対してgremlinサーバーを呼び出さないようにしたいと思います。1つのエッジを複数のエッジに追加する - Tinkerpop(3.0.1)

これはバージョン3.2.3で動作しますが、Vメソッドはバージョン3.0.1では使用できませんので、別の方法で複製することを検討しています。

// Get vertices I want to add edge to 
g.V().has("id",within(["2","3","4"])).as("toV"). 

// Now get the vertex I want to add edge from 
V("1").as("fromV"). 

// And add an edge between them 
addE("likes").from("fromV").to("toV") 
+1

どのバージョンのTinkerPopを使用しますか?あなたの最後のクエリは、v3.2.xを使ってうまくいくはずです。 – jbmusso

+0

私はdynamodbストレージバックエンドのために3.0.1-インキュベーション中です。 –

+0

これを反映するように更新されました。 –

答えて

3

はここaddEdge step上TinkerPop 3.0.1からのドキュメントだ、とあなたはタイタン1.0で使用できる構文のためにそこに例を見つけることができます。これはGremlin Consoleでテストできます。

graph = TitanFactory.open('inmemory'); g = graph.traversal() 
g.addV('name', '1').addV('name', '2').addV('name', '3').addV('name', '4') 
g.withSideEffect('a', g.V().has('name', within('2', '3', '4')).toList()). 
    V().has('name', '1').addOutE('likes', 'a') 
関連する問題