在 gremlin_python 中更新 属性 值而不添加附加值

Update a property value without adding an additional value, in gremlin_python

Updating a Vertex 属性 下的 docs 中,提到可以 "update a property value without adding an additional value to the set of values" 通过做
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,查询会将新的 属性 值附加到 属性 键(如果值已经存在)。

您需要确保导入 single 可见 here in the code 并且可以通过以下方式导入:

from gremlin_python.process.traversal import Cardinality

然而,TinkerPop 文档建议导入所有此类 类:

statics.load_statics(globals())

您可以阅读更多相关内容 here

from gremlin_python.process.traversal import Cardinality

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

这也应该有效。

gremlin_python

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


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