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

3

我使用以下命令创建了一张图表,但是我找不到添加边缘的方法。

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

版本:Apache TinkerPop 3.2.3 - atulshgl
1个回答

5
您没有提到您使用的是哪个版本,因此我将参考Apache TinkerPop 3.2.3。这里是添加边缘步骤addE()的文档链接。 创建顶点时,添加顶点步骤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]

你能否告诉我我们是否可以使用顶点属性(例如名称)添加边缘?我不理解文档中以下行的含义。 .hasLabel('software').addE('createdBy').to('a') //(2) - atulshgl
1
@atulshgl 上面这行代码的意思是,将所有标签为“software”的顶点连接到之前在遍历中声明为“a”的顶点上,并使用标签为“createdBy”的边进行连接。 - Michail Michailidis
在最后一行中,1L代表什么?这里的L表示什么? - Kishore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接