首页 > 解决方案 > 更新 Gremlin 中所有顶点的属性

问题描述

我想更新一个标签的所有顶点中的属性值。

g.AddV('car').property('id','1').property('name','Benz')
g.AddV('car').property('id','2').property('name','BMW')
g.AddV('car').property('id','3').property('name','Audi')
g.AddV('car').property('id','4').property('name','Nissan')

像这样有1000个顶点。我想name在所有这些顶点中将值更新为小写。它需要在 Azure Cosmos Graph DB 上运行。

标签: azure-cosmosdbgremlintinkerpop3azure-cosmosdb-gremlinapigremlinnet

解决方案


由于 gremlin 没有字符串操作函数。

据我所知,CosmosDb 不支持 lambda 步骤。

我认为您将必须获取所有名称和 ID:

g.V().has('name').project('id', 'name').by(id).by('name')

然后小写代码中的每个名称。然后像这样更新它:

g.V(id).property(single, 'name', lowercaseName)

或全部在一个查询中:

g.inject(1).union(
.V(id1).property(single, 'name', lowercaseName1),
.V(id2).property(single, 'name', lowercaseName2)
.V(id3).property(single, 'name', lowercaseName3)
....
)

示例:https ://gremlify.com/pizsh5s293/1


推荐阅读