Встроенный Neo4j с Graph Data Science - кажется, что процедура BFS отсутствует

В документации здесь https://neo4j.com/docs/graph-data-science/1.1/algorithms/bfs/#algorithms-bfs описывается вызываемый "gds.alpha.bfs.stream".

Для этого, насколько мне известно, его необходимо зарегистрировать во встроенной БД. Что-то вроде

      Procedures proceduresService = ((GraphDatabaseAPI) graphDb).getDependencyResolver().resolveDependency(Procedures.class);
proceduresService.registerProcedure(AllShortestPathsProc.class, true);

В противном случае neo4j выдаст исключение, информируя нас о наших проступках:

Нет процедуры с названием gds.alpha.bfs.streamзарегистрирован для этого экземпляра базы данных. Убедитесь, что вы правильно написали имя процедуры и что процедура развернута правильно.

Однако я не могу найти какой-либо *Proc.class для включения в BFS или BreadthFirstSearch.

Эта документация неверна? Нужен ли мне другой jar для использования описанного алгоритма bfs?

ОТ: Я ссылаюсь на старую версию документации, потому что она поддерживает условие maxCost для пройденных отношений. Этого нет в более новых версиях (которые, похоже, на самом деле не имеют BFSProc)

1 ответ

Требуемая процедура обычно называется «TraverseProc» и позволяет использовать как BFS, так и DFS.

Файл также не включает имя вызываемого объекта. Обнаружил это через поиск всех моих зависимостей neo4j с

      find . -name "*.jar" -exec zipgrep "gds.alpha" '{}' \;

(из Как искать строку в файлах JAR )

Другие вопросы по тегам