Обновить свойство во всех вершинах в 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')

Таким образом, есть тысячи вершин. Я хочу обновить значение name на строчные буквы во всех этих вершинах. Он должен работать в Azure Cosmos Graph DB.


person Venky    schedule 05.07.2020    source источник


Ответы (1)


Поскольку у гремлина нет функций манипулирования строками.

И насколько мне известно, CosmosDb не поддерживает лямбда-шаги.

Я думаю, вам придется получить все имена и идентификаторы:

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/vh7uzmsm1g

person noam621    schedule 05.07.2020