Gremlin - 组中的总和值
Gremlin - sum values in group
我已经尝试了好几天以获得以下结果:
我有这个数据集:
e1 = g.addV('company').property('name', 'company-1').next()
e2 = g.addV('company').property('name', 'company-2').next()
p1 = g.addV('product').property('name', 'product-1').next()
p2 = g.addV('product').property('name', 'product-2').next()
p3 = g.addV('product').property('name', 'product-3').next()
i1 = g.addV('tax').property('name', 'tax-1').next()
i2 = g.addV('tax').property('name', 'tax-2').next()
g.addE('taxes').from(i1).to(p1).property('amount', 10)
g.addE('taxes').from(i2).to(p2).property('amount', 15)
g.addE('taxes').from(i1).to(p3).property('amount', 20)
g.addE('taxes').from(i2).to(p3).property('amount', 20)
g.addE('sells').from(e1).to(p1).property('price', 10)
g.addE('sells').from(e1).to(p2).property('price', 15)
g.addE('sells').from(e2).to(p2).property('price', 20)
g.addE('sells').from(e2).to(p3).property('price', 25)
我需要对一家公司销售的所有产品求和(company-1 = 25,company-2 = 45)。
目前我被困在以下查询中:
g.V().hasLabel('company').as('e').outE('sells').as('f').inV().as('p').inE('taxes').as('i').outV().select('e', 'p', 'f', 'i').by('name').by('name').by('price').by('amount').group().by('e')
关于如何完成此操作的任何提示?
另外,如果有人能给我一个例子,说明我如何计算总和,但要考虑到税收,例如:value = product * (1 + (amount/100))
我认为这可以满足您的需求,首先按公司分组,然后对边缘的价格求和:
g.V().hasLabel('company').as('e').
outE('sells').as('f').
group().
by(select('e').values('name')).
by(values('price').sum())
我已经尝试了好几天以获得以下结果:
我有这个数据集:
e1 = g.addV('company').property('name', 'company-1').next()
e2 = g.addV('company').property('name', 'company-2').next()
p1 = g.addV('product').property('name', 'product-1').next()
p2 = g.addV('product').property('name', 'product-2').next()
p3 = g.addV('product').property('name', 'product-3').next()
i1 = g.addV('tax').property('name', 'tax-1').next()
i2 = g.addV('tax').property('name', 'tax-2').next()
g.addE('taxes').from(i1).to(p1).property('amount', 10)
g.addE('taxes').from(i2).to(p2).property('amount', 15)
g.addE('taxes').from(i1).to(p3).property('amount', 20)
g.addE('taxes').from(i2).to(p3).property('amount', 20)
g.addE('sells').from(e1).to(p1).property('price', 10)
g.addE('sells').from(e1).to(p2).property('price', 15)
g.addE('sells').from(e2).to(p2).property('price', 20)
g.addE('sells').from(e2).to(p3).property('price', 25)
我需要对一家公司销售的所有产品求和(company-1 = 25,company-2 = 45)。 目前我被困在以下查询中:
g.V().hasLabel('company').as('e').outE('sells').as('f').inV().as('p').inE('taxes').as('i').outV().select('e', 'p', 'f', 'i').by('name').by('name').by('price').by('amount').group().by('e')
关于如何完成此操作的任何提示? 另外,如果有人能给我一个例子,说明我如何计算总和,但要考虑到税收,例如:value = product * (1 + (amount/100))
我认为这可以满足您的需求,首先按公司分组,然后对边缘的价格求和:
g.V().hasLabel('company').as('e').
outE('sells').as('f').
group().
by(select('e').values('name')).
by(values('price').sum())