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

7
我遇到一个以下细节的顶点:

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

注:此处为HTML格式,不做任何修改。
{

"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('name','William')

但它没有更新,而是出现了错误。

{

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

}
2个回答

17

Traversal 上没有名为 "setProperty()" 的方法。你需要这样做:

g.V(4192).property('name','William')
请参见TinkerPop文档中的全部步骤列表。
您还可以直接使用顶点并执行:
v = g.V(4192).next()
v.property('name','william')

我该如何一次更新多个值?我尝试了 g.V(4192).property('name','William2','age',30)。但它没有起作用。 - Sumit Chourasia
8
尝试运行g.V(4192).property('name','William2').property('age',30)命令,将顶点ID为4192的节点的名称属性改为"William2",年龄属性改为30。 - Jason Plurad

9

如果property()方法生成的是值数组而不是更新值,则可以使用Cardinality,如下:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接