У меня есть что-то вроде следующего графика:Сортировать по длине пути в Java
g = new TinkerGraph()
v1 = g.addVertex([name: 'one'])
v2 = g.addVertex([name: 'two'])
v3 = g.addVertex([name: 'three'])
v4 = g.addVertex([name: 'four'])
v5 = g.addVertex([name: 'five'])
v1.addEdge('contains', v2)
v2.addEdge('contains', v3)
v3.addEdge('contains', v4)
v4.addEdge('contains', v5)
Теперь я хочу, чтобы удалить v1
и все его «дети»
v1.out('contains').loop(1){it.loops < 10}{true}.order{-it.a.path.toList().unique{a, b -> a <=> b}.size <=> it.b.path.toList().unique{a, b -> a <=> b}.size}.remove()
v1.remove()
(он должен мне удалить из листья)
Не могли бы вы помочь мне переписать этот Groovy-запрос на Java? У нас есть проблема с частью порядка {...}. Не знаете, как получить path
от Pair<Vertex, Vertex>
.