Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bahasa Kueri Neo4j - Cypher

Neo4j memiliki bahasa query sendiri yang disebut Cypher. Cypher menggunakan sintaks yang mirip dengan SQL (Structured Query Language).

Contoh

Berikut ini contoh pernyataan Cypher:

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

Pernyataan Cypher ini mengembalikan simpul "Orang" dengan properti nama "Homer Flinstone".

Jika ini adalah query SQL ke database relasional, mungkin akan terlihat seperti ini:

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

Namun, ingat, Neo4j tidak menyimpan datanya dalam tabel seperti model database relasional. Semuanya ada dalam simpul dan hubungan. Jadi kueri Cypher di atas adalah kueri node, labelnya, dan propertinya. Contoh SQL di sisi lain, adalah query tabel, baris, dan kolom.

SQL dirancang untuk digunakan dengan relasional sistem manajemen basis data (DBMS). Neo4j adalah DBMS NoSQL, karena tidak menggunakan model relasional dan tidak menggunakan SQL.

Cypher dirancang khusus untuk bekerja dengan model data Neo4j, yang semuanya tentang node dan hubungannya satu sama lain.

Sintaks Seni ASCII

Cypher menggunakan ASCII-Art untuk merepresentasikan pola. Ini adalah hal yang berguna untuk diingat ketika pertama kali belajar bahasa. Jika Anda lupa cara menulis sesuatu, cukup visualisasikan bagaimana grafik akan terlihat dan itu akan membantu.

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

Hal utama yang perlu diingat:

  • Node diwakili oleh tanda kurung, yang terlihat seperti lingkaran. Seperti ini:(node)
  • Hubungan dilambangkan dengan panah. Seperti ini:->
  • Informasi tentang suatu hubungan dapat disisipkan di antara tanda kurung siku. Seperti ini:[:KNOWS]

Mendefinisikan Data

Berikut beberapa poin yang perlu diingat saat bekerja dengan Cypher:

  • Node biasanya memiliki label. Contohnya dapat mencakup "Orang", "Pengguna", "Aktor", "Karyawan", "Pelanggan".
  • Node biasanya memiliki properti. Properties memberikan informasi tambahan tentang node. Contohnya dapat mencakup "Nama", "Usia", "Lahir", dll
  • Hubungan juga dapat memiliki sifat.
  • Hubungan biasanya memiliki tipe (ini pada dasarnya seperti label simpul). Contohnya dapat mencakup "TAHU", "LIKES", "WORKS_FOR", "PURCHASED", dll.

Jadi perhatikan lagi contoh di atas:

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

Kita dapat melihat bahwa:

  • Node dikelilingi oleh tanda kurung () .
  • Person adalah label simpul.
  • name adalah properti dari simpul.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Menggunakan COUNT(*) dalam klausa WHERE

  2. MySQLSyntaxErrorException dekat ? ketika mencoba menjalankan Pernyataan Siap

  3. Bisakah Anda menambahkan pernyataan if di ORDER BY?

  4. Cara Menghapus Spasi Dari String di MySQL

  5. MySQL Foreign Key Error 1005 errno 150 primary key sebagai kunci asing