2016-11-16 11 views
2

Gremin-Groovyを使用して、AWSホストグラフデータベース(Titan on DynamoDB)をクエリしています。私は、次のクエリを持つ人の出フォロー関係を照会することができますGremlin-Groovy構文

"gremlin": "g.V().has(p0,p1).out(p2)", 
"bindings": { 
    "p0": "PersonId", 
    "p1": "b72a0ff5-21ca-4c71-9c47-20bef36ac277", 
    "p2": "follow" 
} 

私もこのクエリが生成する以下の各の以下の数をカウントすることができるようにしたいです。それは1つのクエリでそれを行うことは可能ですか?ここで

答えて

2

は、あなたがそれを行う可能性があります一つの方法です:

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を返すことがわかります彼らはそれぞれ従っている。