Я пытаюсь получить все промежуточные узлы между двумя узлами в графе, используя Neo4j CYPHER.
Пример результата будет.
- Путь между 1 и 4 должен возвращать 1, 2, 3 и 4.
- Путь между 1 и 3 должен возвращать 1, 2 и 3.
- Путь между 4 и 6 должен возвращать 4, 5 и 6.
- Путь между 1 и 6 должен возвращать 1, 2, 3, 4, 5 и 6.
Трасса между 1,2,3 и 4 имеет суммарное расстояние непосредственно от 1 до 4. 4-6 будет иметь то же расстояние, что и 4,5,6.
Или запрос шифрования для удаления ярлыков, если доступен более длинный маршрут.
Я пробовал стандартную команду поиска пути, но она возвращает 1 и 4 каждый раз .:
MATCH path = shortestpath((s:Node{ Id: 1})-[Link*]->(e:Node {Id: 4}))
RETURN path LIMIT 1
public class Node {
public long Id {get;set;}
}
public class Link {
}
Спасибо.