Я пытаюсь найти способ в neo4j найти N (const) число путей между двумя узлами.Neo4j найти первые n-кратчайшие пути
С большим графом:
PathFinder<Path> finder = GraphAlgoFactory.allSimplePaths(
Traversal.expanderForTypes(Relationship.KNOWS), 20);
Iterable<Path> paths = finder.findAllPaths(startNode, endNode);
Возвращает путь к гораздо дорожкам (на самом деле я должен был убить процесс потому что это было держать на возвращении возможных путей).
Моя первая идея (аннотация), чтобы найти п-кратчайшие пути, как это:
- Найти кратчайший путь с
GraphAlgoFactory.shortestPath(...)
- искать дополнительные пути с
GraphAlgoFactory.pathsWithLength()
приращения в каждой итерации 1, начиная с длиной == длина пути + 1 от 1. - Итер до достижения максимальной длины (глубины) или максимального количества хитов.
Но, может быть, я пытаюсь изобрести колесо еще раз? Есть ли такой alhorithm с Neo4j? Я не могу найти
Вы решили эту проблему? – Stefan