我需要使用scala gremlin从顶点获取所有传出egdes的顶点标签列表。
我的代码如下所示,
val names :ListBuffer[String] = ListBuffer()
val toList: List[Vertex] = graph.V().hasLabel(100).outE().outV().toList()
for(vertex <- toList){
names += vertex.label()
}
它为所有顶点返回相同的标签名称 例如: 顶点A具有out到B,C,D。它返回A的标签。 输出:
ListBuffer(100, 100, 100)
我缺少什么?
答案 0 :(得分:2)
我相信你到底要求错误的顶点。老实说,我经常犯同样的错误。也许这就是你要寻找的遍历:
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()
可以直接获取顶点。