如何使用 gremlin 获取图形数据库中边缘字段的总和?
How to get the sum of a edge field in graph database using gremlin?
我有两个顶点命名 - UserName 和 CompanyName,每当用户访问任何公司时,我都会增加边缘字段(即 pageVisit)。对于个别结果,我得到了那些 pageVisit 值,但是我怎样才能得到所有用户 pageVisits 的总和?
我想在公司页面上显示页面总访问量,但我没有找到添加边缘值的方法。
您可以使用 sum() step:
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> vUser1 = graph.addVertex("UserName","user1")
==>v[0]
gremlin> vUser2 = graph.addVertex("UserName","user2")
==>v[2]
gremlin> vCompany = graph.addVertex("CompanyName","Company")
==>v[4]
gremlin> vUser1.addEdge('visits',vCompany,'pageVisit',10)
==>e[6][0-visits->4]
gremlin> vUser2.addEdge('visits',vCompany,'pageVisit',20)
==>e[7][2-visits->4]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:3 edges:2], standard]
gremlin> g.V(vCompany).inE('visits').values('pageVisit').sum()
==>30
我有两个顶点命名 - UserName 和 CompanyName,每当用户访问任何公司时,我都会增加边缘字段(即 pageVisit)。对于个别结果,我得到了那些 pageVisit 值,但是我怎样才能得到所有用户 pageVisits 的总和?
我想在公司页面上显示页面总访问量,但我没有找到添加边缘值的方法。
您可以使用 sum() step:
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> vUser1 = graph.addVertex("UserName","user1")
==>v[0]
gremlin> vUser2 = graph.addVertex("UserName","user2")
==>v[2]
gremlin> vCompany = graph.addVertex("CompanyName","Company")
==>v[4]
gremlin> vUser1.addEdge('visits',vCompany,'pageVisit',10)
==>e[6][0-visits->4]
gremlin> vUser2.addEdge('visits',vCompany,'pageVisit',20)
==>e[7][2-visits->4]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:3 edges:2], standard]
gremlin> g.V(vCompany).inE('visits').values('pageVisit').sum()
==>30