我正在使用Gremlin-Groovy来查询亚马逊网络服务托管的图形数据库(DynamoDB上的土卫六)。我可以用以下查询来查询一个人的离职关注关系:
"gremlin": "g.V().has(p0,p1).out(p2)",
"bindings": {
"p0": "PersonId",
"p1": "b72a0ff5-21ca-4c71-9c47-20bef36ac277",
"p2": "follow"
}我还希望能够计算这个查询生成的每个查询的跟随数。可以在一个查询中完成吗?
发布于 2016-11-17 19:20:48
这里有一种你可以做到的方法:
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV(id,'a').as('a').
......1> addV(id,'b').as('b').
......2> addV(id,'c').as('c').
......3> addV(id,'d').as('d').
......4> addV(id,'e').as('e').
......5> addV(id,'f').as('f').
......6> addV(id,'g').as('g').
......7> addE('follows').from('a').to('b').
......8> addE('follows').from('b').to('c').
......9> addE('follows').from('b').to('d').
.....10> addE('follows').from('a').to('e').
.....11> addE('follows').from('a').to('f').
.....12> addE('follows').from('f').to('g').iterate()
gremlin> g.V().has(id,'a').out('follows').
......1> group().by().by(out('follows').count())
==>[v[b]:2,v[e]:0,v[f]:1]您可以看到,最后一行返回一个Map,其中"a“后面的person顶点是键,这些值表示每个人所跟随的人的计数。
https://stackoverflow.com/questions/40642171
复制相似问题