Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Neo4j - Utwórz związek za pomocą Cypher

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Polecenia MySQL:Ściągawka z popularnych zapytań MySQL

  2. Zapytanie MySQL uwzględniające wielkość liter

  3. MySQL:wiele tabel czy jedna tabela z wieloma kolumnami?

  4. Dlaczego szacowana liczba wierszy jest bardzo różna w wynikach phpmyadmina?

  5. Samouczek MySQL — konfiguracja i zarządzanie SSL na serwerze MySQL