2016-05-24 71 views
2

此問題涉及Gremlin 3.0.2(由於Titan尚未超出1.0.0,我必須遵守此規定)。在兩個不相關的頂點之間添加一條邊

我試圖在兩個沒有(已知)關係並且其ID(即「鍵」?)未知的頂點之間遠程添加邊緣。 雖然小鬼3.2人會簡單地做

:> 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()) 

失敗的消息

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]] 

如果一個人改變的addOutE的第二個參數g.V(24776).next()將出現相同的錯誤消息望着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

相關問題