0

I have a use need to use gremlin 1)to update a single property within a vertex 2)if a specific property of a parent is updated, update the same property in the children

Here is what I have for my graph -

system.graph('family').ifNotExists().create()
:remote config alias g family.g
schema.vertexLabel('employee').ifNotExists().partitionBy('empID', Int).property('name', Text).property('dept', Text).create()

g.addV('employee').property('empID', 1).property('name', 'A').property('dept','DB')
g.addV('employee').property('empID', 2).property('name', 'B').property('dept','DB')
g.addV('employee').property('empID', 3).property('name', 'C').property('dept','DB')
g.addV('employee').property('empID', 4).property('name', 'D').property('dept','DB')

--create an edge

schema.edgeLabel('owns').ifNotExists().from('merchant').to('merchant').create()

--Insert edge -
g.V('dseg:/employee/1').as('a').V('dseg:/employee/2').as('b').addE('manages').from('a').to('b')
g.V('dseg:/employee/2').as('a').V('dseg:/employee/3').as('b').addE('manages').from('a').to('b')
g.V('dseg:/employee/3').as('a').V('dseg:/employee/4').as('b').addE('manages').from('a').to('b')

While trying to update the graph, I run into this error

First try -

gremlin> v = g.V("dseg:/employee/1").next()
==>v[dseg:/employee/1]
gremlin> v.property('dept','DA')
Property addition is not supported
Type ':help' or ':h' for help.
Display stack trace? [yN]

Second try -no error - data does not change

gremlin> g.V("dseg:/employee/1").property('dept','DA')
gremlin> dev.V().hasLabel('employee').elementMap()
gremlin> dev.V().hasLabel('employee').elementMap()
==>{id=dseg:/employee/1, label=employee, empID=1, name=A, dept=DB}
==>{id=dseg:/employee/2, label=employee, empID=2, name=B, dept=DB}
==>{id=dseg:/employee/4, label=employee, empID=4, name=D, dept=DB}
==>{id=dseg:/employee/3, label=employee, empID=3, name=C, dept=DB}

Tried to update the vertex property as mentioned earlier, but nothing happens.

EXK
  • 23
  • 4

0 Answers0