cassandra 在gremlin图中我们可以更新一个顶点的主键吗?

ehxuflar  于 2023-10-18  发布在  Cassandra
关注(0)|答案(1)|浏览(151)

我有一个要求,我需要更新gremlin图中顶点的主键。我有一个'policy'顶点,'policy_number'是顶点的主键。现有的策略编号值为'/a123',但我想删除policy_number中的特殊字符,并将其保留为'a123',而不影响其连接的边和顶点。在tinkerpop graph文档中,我遇到了mergeV()函数,但我没有太多的例子来尝试它。有没有人可以帮助任何有用的功能,在gremlin是适合我的要求。

g.mergeV(["policy_number":"\\84XXXXXX"]).option(Merge.onMatch,sideEffect(property(single,"policy_number","84XXXXXX")).constant([:]))

但我得到了下面的错误
错误:简单表达式的开头非法
g.mergeV([“policy_number”:“\84XXXXXX”]).option(Merge.onMatch,sideEffect(property(single,“policy_number”,“84XXXXX”)).constant([:]))
首先,我不确定上面的语法是否更新了policy_number,而没有创建一个策略编号列表作为其值,只创建一个值,也不影响其连接(边,顶点)。
如果有其他选择,可以使用mergeV()代替?

qzwqbdag

qzwqbdag1#

如果主键实际上只是一个属性,而不是节点ID,那么一个简单的property步骤就足够了。mergeV步骤是相当新的,可能您正在使用的数据库(我从标记中假设DataStax)还不支持它。你应该可以使用这样的东西:

g.V().has("policy_number","\\84XXXXXX").
  property(single,"policy_number","84XXXXXX")

相关问题