gremlin查询以从顶点查找最大两个水平边缘

问题描述 投票:0回答:1

我有顶点-A,B,C,D,E,F和我有边-E1(A-B),E2(B-C),E3(A-C),E4(A-D),E5(E-F)

现在我想从顶点A识别出最多两个水平的边缘,如下所示

  • [E1(A-B)E2(B-C)
  • [E3(A-C)E2(B-C)
  • E4(A-D)

如果有人帮助我确定针对此问题的gremlin查询

编辑

这里是创建样本图的一组步骤:

g.addV('A').as('a').
  addV('B').as('b').
  addV('C').as('c').
  addV('D').as('d').
  addV('E').as('e').
  addV('F').as('f').
  addE('E1').from('a').to('b').
  addE('E2').from('b').to('c').
  addE('E3').from('a').to('c').
  addE('E4').from('a').to('d').
  addE('E5').from('e').to('f').iterate() 
gremlin tinkerpop tinkerpop3
1个回答
1
投票

使用添加到问题的样本图,您可以使用简单的repeat查询以及添加的emit步骤来查找要从顶点A开始的路径。

gremlin> g.V().hasLabel('A').
               repeat(outE().inV().simplePath()).
               times(2).emit().
               path().
                 by(label)


==>[A,E1,B]
==>[A,E3,C]
==>[A,E4,D]
==>[A,E1,B,E2,C]  
© www.soinside.com 2019 - 2024. All rights reserved.