Mam więc wykres, który wygląda tak (od początkuod prawej strony) z relacjami, które mają unikalny atrybut liczby o nazwie Isnad. Chcę napisać zapytanie, aby uzyskać długość każdego Isnada od węzła początkowego do węzła końcowego, ale nie mogę tego rozgryźć. Nie wiem, jak przejść każdą ścieżkę dla każdego Isnada osobno. Jakaś pomoc?
Odpowiedzi:
2 dla odpowiedzi № 1Nie wiem, czy jest to najbardziej eleganckie i rozwiązanie, ale myślę, że to działa. Po pierwsze, robię się wyjątkowy Isnad
wartości relacji wychodzących z prawego skrajnego węzła za pomocą identyfikatora. Następnie używam dopasowanie wzoru o zmiennej długości gdzie wszystkie relacje mają tę samą wartość Isnad
własność. A później Isnad
zwracana jest wartość i długość ścieżki.
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