TinkerPop 3:Gremlin 查询按边缘方向分组计数

TinkerPop 3: Gremlin query to group count by edge direction

我有一个顶点 ID 作为起点,我想获取入边和出边的数量。

g.traversal().V().has("__id", "1234").groupCount().by(Direction.BOTH)

由于 .by() 步骤不接受 Direction 类型,有没有其他方法?

你可以用 project step 很好地做到这一点:

gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().has('name','marko').
               project('out','in').
                 by(outE().count()).
                 by(inE().count())
==>[out:3,in:0]

对于没有 project 的 TinkerPop 3.0.x,您可以这样做:

gremlin> g.V().has('name','marko').as('out','in').
               select('out','in').
                 by(outE().count()).
                 by(inE().count())
==>[out:3,in:0]