Mysql
 sql >> база данни >  >> RDS >> Mysql

Neo4j език за заявки - Cypher

Neo4j има свой собствен език за заявки, наречен Cypher. Cypher използва синтаксис, подобен на SQL (Structured Query Language).

Пример

Ето пример за изявление Cypher:

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

Този оператор Cypher връща възел "Person", където свойството name е "Homer Flinstone".

Ако това беше SQL заявка към релационна база данни, може да изглежда по-скоро така:

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

Не забравяйте обаче, че Neo4j не съхранява данните си в таблици като модела на релационна база данни. Всичко е във възли и връзки. Така че заявката за Cypher по-горе е заявка за възли, техните етикети и техните свойства. SQL примерът, от друга страна, е заявка за таблици, редове и колони.

SQL е проектиран да се използва с релационни системи за управление на бази данни (СУБД). Neo4j е NoSQL СУБД, тъй като не използва релационния модел и не използва SQL.

Cypher е проектиран специално за работа с модела на данни Neo4j, който е свързан с възли и техните взаимоотношения помежду си.

ASCII-Art синтаксис

Cypher използва ASCII-Art за представяне на модели. Това е удобно нещо, което трябва да запомните, когато за първи път изучавате езика. Ако забравите как да напишете нещо, просто си представете как ще изглежда графиката и това би трябвало да помогне.

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

Основните неща, които трябва да запомните:

  • Възлите са представени със скоби, които изглеждат като кръгове. Така:(възел)
  • Взаимоотношенията са представени със стрелки. Така:->
  • Информация за връзка може да се вмъкне между квадратни скоби. Като това:[:ЗНАЕ]

Дефиниране на данните

Ето още няколко точки, които трябва да запомните, когато работите с Cypher:

  • Обикновено възлите имат етикети. Примерите могат да включват "Лице", "Потребител", "Актор", "Служител", "Клиент".
  • Възлите обикновено имат свойства. Свойствата предоставят допълнителна информация за възела. Примерите могат да включват „Име“, „Възраст“, ​​„Роден“ и т.н.
  • Връзките също могат да имат свойства.
  • Връзките обикновено имат тип (това по същество е като етикет на възел). Примерите могат да включват "ЗНАЕ", "Харесва", "РАБОТИ_ЗА", "КУПЕНО" и т.н.

Така че погледнете отново горния пример:

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

Можем да видим, че:

  • Възелът е заобиколен от скоби () .
  • Лице е етикетът на възела.
  • име е свойство на възела.

  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 в PHP за дълга заявка, която зависи от въведеното от потребителя?

  2. MySQL Errno 150

  3. Как да групирате по седмица в MySQL?

  4. Дали да се използва ИМЕНА НА НАБОРИ

  5. Как да експортирате база данни на SQL Server в MySQL?