如何使用 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]
我正在使用 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]