如何使用 Gremlin delete/update AWS Neptune 中的属性值?

How to delete/update an attribute value in AWS Neptune with Gremlin?

我正在使用 AWS Neptune 构建 GraphDB。在我的应用程序中,顶点的某些属性将具有多个值。我很难从这些属性中找到 remove/update 条目的合适方法。我对此很陌生,主要使用 python gremlin 客户端。

这里有一个关于我的案例的例子:

有一个顶点有一个名为 comments 的属性,它有 3 个值 ["A"、"B"、"C"]。我想将值“C”更新为“D”。

我找到的唯一方法是先删除所有值并将其替换为“A”

g.V(_id).property(Cardinality.single,"comments",'A').next()

然后添加其他值

g.V(_id).property(Cardinality.set_,"comments",'B').next()
g.V(_id).property(Cardinality.set_,"comments",'D').next()

我不知道是否有任何其他解决方案。提前致谢。

您可以从集合中删除单个值。下面是一个使用 Gremlin 控制台的示例,其中创建了一个包含三个值的集合,然后从该集合中删除了值 2。

gremlin> g.addV('test').property(set,'myset',1).property(set,'myset',2).property(set,'myset',3)
==>v[61371]

gremlin> g.V().hasLabel('test').properties()
==>vp[myset->1]
==>vp[myset->2]
==>vp[myset->3]

gremlin> g.V().hasLabel('test').properties('myset').hasValue(2)
==>vp[myset->2]

gremlin> g.V().hasLabel('test').properties('myset').hasValue(2).drop()
gremlin> g.V().hasLabel('test').properties()
==>vp[myset->1]
==>vp[myset->3]