Neo4j algo.shortestPath только с определенной меткой отношения - PullRequest
0 голосов
/ 21 ноября 2018

Я новичок в Neo4j и пытаюсь выяснить, как использовать несколько основных алгоритмов поиска пути.По сути, у меня есть коллекция заметок, помеченных LogisticalUnit, которые представляют компании или места, которые могут отправлять товары в другие места.Два таких объекта могут иметь отношение SHIPS_TO со свойством cost.Попытка найти путь с минимальными затратами для перехода от узла A к B дает мне многообещающий результат, используя algo.shortestPath.stream:

match (startNode :LogisticalUnit {id: 2}), (endNode :LogisticalUnit {id: 5})
call algo.shortestPath.stream(startNode, endNode, 'cost', {direction: 'OUTGOING', nodeQuery: 'LogisticalUnit', relationshipQuery: 'SHIPS_TO'})
yield nodeId, cost
return *;

Однако, оказывается, что если у меня есть другое отношение, такоекак RECOMMENDS, и он имеет свойство cost, он также рассматривается.Кажется, конфиг relationshipQuery на самом деле не работает.Фактически, замена конфига на relationshipQuery: 'FOOBAR', хотя в моей базе данных таких отношений даже не существует, все равно будет возвращать тот же результат!

Свойство nodeQuery ведет себя так, как ожидается, и если я его изменюк другому лейблу это правильно отклонит результаты.

Есть идеи, где я иду не так?Заранее большое спасибо.

...