如何在Gremlin图中增加边属性计数器

如何在Gremlin图中增加边属性计数器,gremlin,Gremlin,我有一个带边的图,每个边都有一个“计数”属性,表示在它的两个顶点之间进行转换的次数。 我想在进行转换时增加值;有没有一种有效的方法可以做到这一点 我希望避免读取值、递增然后更新,因为递增可能来自多个来源,并且我希望避免竞争条件场景 我有一个查询执行类似的操作,但似乎只适用于顶点属性: g.V('10b56175-b3e5-db7c-6d1f-04f9fe7caba8').property(single, 'count', union(values('count'), constant(1.0))

我有一个带边的图,每个边都有一个“计数”属性,表示在它的两个顶点之间进行转换的次数。 我想在进行转换时增加值;有没有一种有效的方法可以做到这一点

我希望避免读取值、递增然后更新,因为递增可能来自多个来源,并且我希望避免竞争条件场景

我有一个查询执行类似的操作,但似乎只适用于顶点属性:

g.V('10b56175-b3e5-db7c-6d1f-04f9fe7caba8').property(single, 'count', union(values('count'), constant(1.0)).sum()).valueMap()
有没有办法使上述查询与边缘属性兼容


谢谢

它可以在边上正常工作,但是对于边,
property()
Cardinality
没有重载

gremlin> g.E(11).property('count', union(values('count'), constant(1.0)).sum()).valueMap()
==>[count:1.0,weight:0.4]
gremlin> g.E(11).property('count', union(values('count'), constant(1.0)).sum()).valueMap()
==>[count:2.0,weight:0.4]
gremlin> g.E(11).property('count', union(values('count'), constant(1.0)).sum()).valueMap()
==>[count:3.0,weight:0.4]
我不认为你可以直接通过小精灵让你的增值发生得更好。除非您的底层图形数据库有一些执行计数器的本机方法,否则总是先读后写