Podobnie jak tworzenie węzłów w Neo4j, możemy użyć CREATE oświadczenie do tworzenia relacji między tymi węzłami.
Oświadczenie do tworzenia relacji składa się z CREATE , a następnie szczegóły tworzonej relacji.
Przykład
Stwórzmy relację między niektórymi węzłami, które stworzyliśmy wcześniej. Najpierw stwórzmy relację między wykonawcą a albumem.
Stworzymy następującą relację:
Oto szyfr CREATE oświadczenie o utworzeniu powyższej relacji:
MATCH (a:Artist),(b:Album) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" CREATE (a)-[r:RELEASED]->(b) RETURN r
Wyjaśnienie powyższego kodu
Najpierw używamy MATCH instrukcja, aby znaleźć dwa węzły, między którymi chcemy utworzyć relację.
Może być wiele węzłów z Wykonawcą lub Album etykieta, więc zawęzimy ją tylko do tych węzłów, którymi jesteśmy zainteresowani. W tym przypadku używamy wartości właściwości, aby ją odfiltrować. Używamy Nazwy właściwość, którą wcześniej przypisaliśmy do każdego węzła.
Następnie jest rzeczywisty CREATE oświadczenie. To właśnie tworzy związek. W tym przypadku odwołuje się do dwóch węzłów za pomocą nazwy zmiennej (np. a i b ), które podaliśmy w pierwszym wierszu. Relacja jest ustalana przy użyciu wzorca kodu ASCII ze strzałką wskazującą kierunek relacji:(a)-[r:RELEASED]->(b) .
Nadajemy relacji nazwę zmiennej r i nadaj relacji typ RELEASED (jak w „ten zespół wydany tego albumu”). Typ relacji jest analogiczny do etykiety węzła.
Dodawanie kolejnych relacji
Powyższy przykład jest bardzo prostym przykładem relacji. Jedną z rzeczy, w których Neo4j jest naprawdę dobry, jest radzenie sobie z wieloma wzajemnie powiązanymi relacjami.
Oprzyjmy się na relacji, którą właśnie nawiązaliśmy, abyśmy mogli zobaczyć, jak łatwo jest kontynuować tworzenie większej liczby węzłów i relacji między nimi. Utworzymy więc jeszcze jeden węzeł i dodamy jeszcze dwie relacje.
Otrzymamy następujący wykres:
Ten wykres pokazuje, że Devin Townsend gra w zespole, występował na albumie, który zespół wydał, a także był producentem albumu.
Zacznijmy więc od utworzenia węzła dla Devina Townsenda:
CREATE (p:Person { Name: "Devin Townsend" }) Teraz utwórz relacje i zwróć wykres:
MATCH (a:Artist),(b:Album),(p:Person) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a) RETURN a,b,p
Powinieneś teraz zobaczyć wykres jak na poprzednim zrzucie ekranu.