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]
我有一个顶点 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]