2017-02-07 14 views
0

Я буду благодарен, если вы можете дать совет по одному запросу гремлина, который даст мне список всех узлов и подсчеты конкретный тип соединения для каждого узла.Как мы перечисляем все узлы, имеющие 0 или более конкретных типов соединений, вместе с данными подсчета подключений на gremlin tinkerpop

+0

Можете ли вы быть более конкретным? Что вы подразумеваете под типом соединения? Это красная метка? –

ответ

0

Если вы пытаетесь получить все ребра для каждого узла и группировать их узлом, то это следует сделать это:

gremlin> graph = TinkerFactory.createModern(); 
==>tinkergraph[vertices:6 edges:6] 
gremlin> g = graph.traversal(); 
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] 
gremlin> g.E().group().by(inV()); 
==>[v[2]:[e[7][1-knows->2]],v[3]:[e[9][1-created->3],e[11][4-created->3],e[12][6-created->3]],v[4]:[e[8][1-knows->4]],v[5]:[e[10][4-created->5]]] 
0

Если вы имеете в виду количество меток всех инцидентных ребер:

gremlin> g = TinkerFactory.createModern().traversal() 
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] 
gremlin> g.V().project("v","labels").by().by(bothE().groupCount().by(label)) 
==>[v:v[1],labels:[created:1,knows:2]] 
==>[v:v[2],labels:[knows:1]] 
==>[v:v[3],labels:[created:3]] 
==>[v:v[4],labels:[created:2,knows:1]] 
==>[v:v[5],labels:[created:1]] 
==>[v:v[6],labels:[created:1]]