1

I would like to move a property value to another property in all vertex using gremlin query.

g.V('test').property('id','1').property('name','a').property('new_name','aa') g.V('test').property('id','2').property('name','b').property('new_name','bb') g.V('test').property('id','3').property('name','c').property('new_name','cc')

I would like to update name property with value from new_name property of the same vertex and delete new_name property.

Venkata Dorisala
  • 4,783
  • 7
  • 49
  • 90

1 Answers1

1

You can do something like this

gremlin> g.addV('test').property('id','1').property('name','a').property('new_name','aa').
......1>   addV('test').property('id','2').property('name','b').property('new_name','bb').
......2>   addV('test').property('id','3').property('name','c').property('new_name','cc')
==>v[61405]

gremlin> g.V().valueMap()
==>[name:[a],id:[1],new_name:[aa]]
==>[name:[b],id:[2],new_name:[bb]]
==>[name:[c],id:[3],new_name:[cc]]

gremlin> g.V().property(single,'name',values('new_name')).properties('new_name').drop()

gremlin> g.V().valueMap()
==>[name:[aa],id:[1]]
==>[name:[bb],id:[2]]
==>[name:[cc],id:[3]]   
Kelvin Lawrence
  • 14,674
  • 2
  • 16
  • 38
  • Thanks. I'm seeing this error. `Failure in submitting query: g.V().hasLabel('a').property(single, 'name', values('new_name')).properties('new_name').drop(): Script eval error: ActivityId : 7cee661c-4ebf-40d8-8638-08761f06aeb2 ExceptionType : GraphRuntimeException ExceptionMessage : Gremlin Query Execution Error: Cannot create ValueField on non-primitive type GraphTraversal. ` – Venkata Dorisala Jul 25 '21 at 23:29
  • I'm not sure - perhaps CosmosDB has a limitation I am not aware of. It works for me using TinkerGraph. – Kelvin Lawrence Jul 25 '21 at 23:43
  • on Neptune with 'gremlin': {'version': 'tinkerpop-3.4.11'} it works perfectly – Meike Apr 25 '22 at 20:03