我们的某些代码库已更改,因此现在希望以前具有名称为“ Sdg”的属性的顶点现在具有名称为“ causeType”且具有相同值的属性....简而言之,重命名该财产。

在这一点上,我已经做了很多尝试,并且...对于找出如何搜索图形以及在需要时进行重命名有多么困难感到有些惊讶。

我最接近的是以下查询:

g.V().has('sdg').as('vertexWithOldProperty').property('causeType', value(select('vertexWithOldProperty').select('sdg')))


...由于错误而无法使用:


Gremlin查询编译错误:无法绑定到方法“值”,
参数类型为:(GraphTraversal)@第1行,第68列。
绑定到方法“属性”,其参数类型为:(String)


想法是遍历图,并记住具有旧值的每个顶点。然后,我将具有相同值的新属性添加到它们中。为了简单/可行,我决定忽略旧值,而不是删除它。

谁能帮助我或指引我正确的方向?

谢谢!

最佳答案

也许有更好的方法,但是我认为这应该对您有用:

g.V().has('sdg').property('causeType', values('sdg'))



如果要删除旧属性

g.V().has('sdg').property('causeType', values('sdg')).properties('sdg').drop()

10-06 16:12