如何从顶点 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()
直接给你顶点。
我需要使用 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()
直接给你顶点。