如何从顶点 scala gremlin 获取所有出边的所有顶点

How to get all vertices of all outgoing edges from a vertex scala gremlin

我需要使用 scala gremlin 从一个顶点获取所有传出边的顶点标签列表。

我的代码如下所示,

val names :ListBuffer[String] = ListBuffer()
val toList: List[Vertex] = graph.V().hasLabel(100).outE().outV().toList()
for(vertex <- toList){
      names  += vertex.label()
    }

它为所有顶点返回相同的标签名称 例如: 顶点 A 有 outE 到 B,C,D 。 returnsA的标签。 输出:

ListBuffer(100, 100, 100)

我缺少什么吗?

我相信你最后问错了顶点。老实说,我经常犯同样的错误。也许这就是您要寻找的遍历:

graph.V().hasLabel(100).outE().inV().label().toList()

如果你喜欢我并且经常被inV()outV()弄糊涂,你可以使用otherV得到相反的顶点。像这样:

graph.V().hasLabel(100).outE().otherV().label().toList()

最后你甚至可以通过不明确说明边缘部分来缩短你的遍历:

graph.V().hasLabel(100).out().label().toList()

通过使用 out() 而不是 outE() 你不需要指定你想要的顶点,out() 直接给你顶点。