Получить длину пути для каждого отношения neo4j - PullRequest
0 голосов
/ 29 апреля 2018

Итак, у меня есть график, который выглядит следующим образом (начиная с крайней правой стороны) с отношениями, которые имеют уникальный числовой атрибут, называемый Isnad. Я хочу написать запрос, чтобы получить длину каждого Isnad от начального узла до конечного узла, но я не могу понять это. Я не знаю, как пройти каждый путь для каждого Isnad в отдельности. Любая помощь?

Graph

1 Ответ

0 голосов
/ 29 апреля 2018

Я не знаю, является ли это самым элегантным и решением, но я думаю, что это работает. Во-первых, я получаю все уникальные Isnad значения отношений, исходящие от самого правого бокового узла, используя идентификатор. Затем я использую сопоставление с образцом переменной длины , где все отношения имеют одинаковое значение для свойства Isnad. Затем возвращаются значение Isnad и длина пути.

match ({id:'unique-identifier-of-rightmost-side-node'})-[r]->()
with distinct r.Isnad as Isnad
match p = ()-[*{Isnad : Isnad}]->()
return Isnad, length(p) as Length
...