如何更新Gremlin服务器中的顶点值(Titan 1.0)

时间:2016-05-18 12:57:21

标签: graph titan gremlin tinkerpop3 gremlin-server

我有一个带有以下细节的顶点:

  

http://localhost:8182/?gremlin=g.V(4192)

{

"requestId": "6ce01f3b-f623-41f6-bb03-dd56014e0701",
"status": 

{

"message": "",
"code": ​200,
"attributes": { }

},
"result": 
{

"data": 

[

{

"id": ​4192,
"label": "person",
"type": "vertex",
"properties": 

{

"name": 

[

{
    "id": "170-38g-sl",
    "value": "marko2"
}

],
"age": 
[

                    {
                        "id": "1l8-38g-28lh",
                        "value": ​29
                    }
                ]
            }
        }
    ],
    "meta": { }
}

}

我想更新顶点的名称:

我尝试了以下查询:

  

g.V(4192).setProperty( '姓名', '威廉')

但它没有更新,它正在给出错误

{

 "message": "Error encountered evaluating script: g.V(4192).setProperty('name','William')"

}

2 个答案:

答案 0 :(得分:8)

Traversal上没有名为“setProperty()”的方法。你会这样做:

g.V(4192).property('name','William')

请参阅TinkerPop documentation

中的完整步骤列表

您也可以直接使用Vertex并执行:

v = g.V(4192).next()
v.property('name','william')

答案 1 :(得分:2)

如果property()方法生成值数组而不是更新值,请像这样使用Cardinality

g.V(4192)v.property(Cardinality.single, 'name', 'william').next()

这将替换属性值,而不是附加到列表中。