添加多个顶点,改变一个 属性-value (tinkerpop3 + python GLV)
Adding multiple vertices, changing one property-value (tinkerpop3 + python GLV)
我正在尝试精简代码,但我需要多个此类数据实例:
g.addV('A').property('a-type','thing-x').property('a-value',1).next()
g.addV('A').property('a-type','thing-x').property('a-value',2).next()
...
g.addV('A').property('a-type','thing-x').property('a-value',n).next()
最多 'a-value' 为 n(例如 50)。
# I tried a version of a loop I found here
#
#
g.inject((0..<50).toArray()).as('i').addV('a-value',select('i')).iterate()
但是我得到一个错误:
g.inject((0..<50).toArray()).as('i').addV('a-value',select('i')).iterate()
^
SyntaxError: invalid syntax
执行此操作的正确方法是什么?
编辑:在尝试建立答案之后,我只想为我的案例添加这一点,在 for 循环中调用 t.iterate()
会给出预期的结果,但如果调用它则不会这样在循环之外,如下所述。
您找到的示例在 Gremlin 控制台中使用,因此使用 Groovy 结构。从 Python 你会做这样的事情:
for i in range(1,51):
g.addV('test').property('mykey',i).iterate()
然而,这将一次添加一个顶点,因此最好以类似于此的方式小批量编写它们。
t = g.addV('test').property('mykey',1)
for i in range(2,51):
t.addV('test').property('mykey',i)
t.iterate()
我正在尝试精简代码,但我需要多个此类数据实例:
g.addV('A').property('a-type','thing-x').property('a-value',1).next()
g.addV('A').property('a-type','thing-x').property('a-value',2).next()
...
g.addV('A').property('a-type','thing-x').property('a-value',n).next()
最多 'a-value' 为 n(例如 50)。
# I tried a version of a loop I found here
#
#
g.inject((0..<50).toArray()).as('i').addV('a-value',select('i')).iterate()
但是我得到一个错误:
g.inject((0..<50).toArray()).as('i').addV('a-value',select('i')).iterate()
^
SyntaxError: invalid syntax
执行此操作的正确方法是什么?
编辑:在尝试建立答案之后,我只想为我的案例添加这一点,在 for 循环中调用 t.iterate()
会给出预期的结果,但如果调用它则不会这样在循环之外,如下所述。
您找到的示例在 Gremlin 控制台中使用,因此使用 Groovy 结构。从 Python 你会做这样的事情:
for i in range(1,51):
g.addV('test').property('mykey',i).iterate()
然而,这将一次添加一个顶点,因此最好以类似于此的方式小批量编写它们。
t = g.addV('test').property('mykey',1)
for i in range(2,51):
t.addV('test').property('mykey',i)
t.iterate()