在gremlin_python中更新属性值而无需添加其他值

时间:2018-09-27 03:16:36

标签: gremlin amazon-neptune

在{strong>更新顶点属性下的docs中,提到了可以“更新属性值,而无需向值集添加附加值” 通过做
g.V('exampleid01').property(single, 'age', 25)

gremlin_python 中,我无法运行上述查询。
我收到错误消息:

update_prop_overwrite = g.V().hasLabel('placeholder-vertex').property(single,'maker','unknown').next()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'single' is not defined 

如何解决此问题,以便可以替换Neptune中的Vertex属性值?
如果没有single,则查询将把新的属性值附加到属性键(如果已经存在)。

3 个答案:

答案 0 :(得分:1)

您需要确保导入here in the codesingle,并且可以通过以下方式导入

from gremlin_python.process.traversal import Cardinality

但是TinkerPop文档建议使用以下方式导入所有此类:

statics.load_statics(globals())

您可以了解有关here的更多信息。

答案 1 :(得分:0)

from gremlin_python.process.traversal import Cardinality

g.V().hasLabel('placeholder-vertex').property(Cardinality.single,'maker','unknown').next()

这也应该起作用。

答案 2 :(得分:0)

statics 导入 gremlin_python

from gremlin_python import statics
statics.load_statics(globals())


update_prop_overwrite = g.V().hasLabel('placeholder-vertex').property(single,'maker','unknown').next()