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

Język zapytań Neo4j - Cypher

Neo4j posiada własny język zapytań o nazwie Cypher. Cypher używa podobnej składni do SQL (Structured Query Language).

Przykład

Oto przykład instrukcji Cypher:

MATCH (p:Person { name:"Homer Flinstone" })
RETURN p

Ta instrukcja Cypher zwraca węzeł „Osoba”, w którym właściwością nazwy jest „Homer Flinstone”.

Gdyby to był SQL wysyłający zapytanie do relacyjnej bazy danych, mogłoby to wyglądać mniej więcej tak:

SELECT * FROM Person
WHERE name = "Homer Flinstone";

Pamiętaj jednak, że Neo4j nie przechowuje swoich danych w tabelach, tak jak w modelu relacyjnej bazy danych. Wszystko tkwi w węzłach i relacjach. Tak więc powyższe zapytanie Cypher dotyczy węzłów, ich etykiet i ich właściwości. Z drugiej strony przykład SQL polega na wysyłaniu zapytań do tabel, wierszy i kolumn.

SQL został zaprojektowany do użycia z relacyjnymi systemy zarządzania bazami danych (DBMS). Neo4j jest systemem DBMS NoSQL, w tym sensie, że nie korzysta z modelu relacyjnego i nie używa SQL.

Cypher został zaprojektowany specjalnie do pracy z modelem danych Neo4j, który dotyczy węzłów i ich wzajemnych relacji.

Składnia ASCII-Art

Cypher używa ASCII-Art do reprezentowania wzorców. Jest to przydatna rzecz do zapamiętania przy pierwszej nauce języka. Jeśli zapomnisz, jak coś napisać, po prostu wizualizuj, jak będzie wyglądał wykres, a to powinno pomóc.

(a)-[:KNOWS]->(b)

Najważniejsze rzeczy do zapamiętania:

  • Węzły są reprezentowane przez nawiasy, które wyglądają jak koła. Tak:(node)
  • Relacje są reprezentowane przez strzałki. Tak:->
  • Informacje o relacji można wstawić w nawiasy kwadratowe. Tak:[:WIE]

Definiowanie danych

Oto kilka punktów, o których należy pamiętać podczas pracy z Cypher:

  • Węzły zwykle mają etykiety. Przykładami mogą być „Osoba”, „Użytkownik”, „Aktor”, „Pracownik”, „Klient”.
  • Węzły zwykle mają właściwości. Właściwości dostarczają dodatkowych informacji o węźle. Przykładami mogą być „Imię”, „Wiek”, „Urodzony” itp.
  • Relacje również mogą mieć właściwości.
  • Relacje zwykle mają typ (jest to zasadniczo jak etykieta węzła). Przykładami mogą być „WIE”, „LUBIĘ”, „PRACUJE”, „ZAKUPIONE” itp.

Patrząc ponownie na powyższy przykład:

MATCH (p:Person { name:"Homer Flinstone" })
RETURN p

Widzimy, że:

  • Węzeł jest otoczony nawiasami () .
  • Osoba jest etykietą węzła.
  • nazwa jest właściwością węzła.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj relacyjnych baz danych MySQL w Debianie 5 (Lenny)

  2. Użyj relacyjnych baz danych MySQL w Debianie 6 (Squeeze)

  3. MySQL:alternatywy dla ORDER BY RAND()

  4. MySQL - Jak wybrać dane według długości łańcucha

  5. Alternatywa dla Intersect w MySQL