Gremlin:无法使用控制台向图表添加边缘

时间:2016-11-17 17:31:52

标签: gremlin

我使用以下命令创建了一个图形,我无法找到一种可以向其添加边缘的方法。

g = TinkerGraph.open().traversal()
g.addV('A1').addV('A2').addV('A3').addV('B3').

我尝试了以下命令的几个变体来添加边缘。

g.V('A2').addEdge('pre',V('A1'))
No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.addEdge() is applicable for argument types: (java.lang.String, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal) values: [pre, [GraphStep(vertex,[A1])]]

1 个答案:

答案 0 :(得分:2)

你没有提到你正在使用的版本,所以我将指的是Apache TinkerPop 3.2.3。以下是add edge step addE()的文档链接。

创建顶点时,add vertex step addV()将顶点标签作为参数,而不是id。顶点标签通常不是唯一的,因此最好使用id。

gremlin> Gremlin.version()
==>3.2.3
gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('A1').addV('A2').addV('A3').addV('B3')
==>v[3]
gremlin> g.V().valueMap(true)
==>[id:0,label:A1]
==>[id:1,label:A2]
==>[id:2,label:A3]
==>[id:3,label:B3]
gremlin> g.V(1L).addE('pre').to(g.V(0L))
==>e[4][1-pre->0]