Используя ваш запрос, neo4j найдет каждый узел A
и каждый узел B
, а затем найдет все кратчайшие пути от каждого A
до каждого B
. То, что отображается в пользовательском интерфейсе консоли, - это все результирующие узлы этого запроса со всеми связями, связывающими каждый из них. Если вы нажмете кнопку _Text_ в левой части окна запроса, станет яснее, что происходит. Вы увидите дискретную строку для каждого кратчайшего пути, сопоставленного между узлами A dn B.
После прочтения вашего вопроса, я ожидаю, что после этого вы получите запрос, который соответствует конкретному узлу A
, а затем пересекает его, пока не встретит узел B
.
Вызов процедуры расширения пути apoc может лучше соответствовать вашим потребностям. Если бы вы могли добавить метку B
к узлу (узлам) B, то вы могли бы использовать apoc.path.expand
, чтобы найти искомый путь.
Вы можете использовать следующее для установки метки B
.
MATCH (n:Node {Name: 'B'}
SET n:B
Вот пример запроса с использованием apoc.path.expand
, который должен останавливаться на первом B
найденном узле.
MATCH (a:Node {Name: 'A'})
WITH a
CALL apoc.path.expand(a, 'Link', '+Node|/B', 1, 500) YIELD path
RETURN path