2016-05-24 8 views
2

この質問はGremlin 3.0.2を参照しています(これはTitanがまだ1.0.0を超えていないためです)。関連のない2つの頂点の間にエッジを追加する

私は、(既知の)関係がなく、Id(つまり「キー」?)があらかじめわかっていない2つの頂点の間にエッジを遠隔で追加しようとしています。グレムリン3.2に1が単に

:> g.V().has('propertykey', 'value1').as('o').V().has('propertykey','value2').addE('edgelabel').to('o') 

を行うだろうが これは私がグレムリン3.0.2で立ち往生し続けます。私がこれまで試したことは(:

:> g.V().has('propertykey', 'value1').next().addOutE('edgelabel', g.V().has('propertykey', 'value2').next()) 

は1つが g.V(24776).next()addOutEの2番目のパラメータを変更した場合、同じエラーメッセージが表示されます

No signature of method: com.thinkaurelius.titan.graphdb.vertices.CacheVertex.addOutE() is applicable for argument types: (java.lang.String, com.thinkaurelius.titan.graphdb.vertices.CacheVertex, java.lang.String, java.lang.String) values: [edgelabel, v[24776]] 

メッセージで失敗しAddEdgeそれのメソッドシグネチャを見てみます。それは第二の頂点のキーの文字列を期待していることがわかるが、

> g.V().has('fbid', 'fbid_13').next().addOutE('edgelabel', '24776') 

はそれを述べ、同様に失敗し

No signature of method: com.thinkaurelius.titan.graphdb.vertices.CacheVertex.addOutE() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.lang.String) values: [edgelabel, 24776] 

このようにGremlin 3.0.2でどのように達成されますか?

答えて

3

TinkerPop v3.0.1(Titan v1.0.0にバンドルされています)を使用する場合は、withSideEffectの手順を使用する必要があります。

:> g.withSideEffect('x', g.V().has('propertykey', 'value1')).V().has('propertykey', 'value2').addOutE('edgeLabel', 'x') 

あなたはx以外の任意のステップのラベルを使用するのは自由です。

参考:TinkerPop v3.0.1 AddEdge step

関連する問題