在Gremlin Console中,为了添加顶点,我执行以下操作:
// One time initialization
graph = TinkerGraph.open()
g = graph.traversal()
// Add the vertex
g.addV('somelabel')
在控制台中,我得到:
==>v[0]
但是,如果我尝试遍历顶点:
g.V(0)
我在控制台中什么也没得到,好像索引是错误的。
(我一无所获)这一事实的证明是
g.V(0).count()
==>0
如果相反,我自己定义ID:
g.addV('somelabel').property(id, 1)
一切正常:
g.V(1)
==>v[1]
但是我不想自己定义id ...
我在哪里做错(或思考)?
软件版本为JanusGraph 0.2.2,Apache TinkerPop 3.2.9
答案 0 :(得分:2)
您不是在这里使用JanusGraph,而是使用TinkerGraph(内存中的图形存储),通常用于测试或简单示例。
TinkerGraph默认使用长ID,这意味着当您使用int
ID时,它找不到您的顶点。当您使用类型为long
的参数时,它应该可以工作:
gremlin> g.addV('somelabel')
==>v[0]
gremlin> g.V(0)
gremlin> g.V(0L)
==>v[0]
configuration section for TinkerGraph说明了如何更改此配置以对其整数使用不同的类型。