mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-27 07:33:57 +00:00
Update word misspelling indicated in the review
This commit is contained in:
parent
2c8c0caa16
commit
6a68f03b58
@ -8,7 +8,7 @@ translators:
|
|||||||
lang: uk-ua
|
lang: uk-ua
|
||||||
---
|
---
|
||||||
|
|
||||||
Cypher - це мова запитів Neo4j для спрощення роботи з графами. Вона повторює синтакс SQL та перемішує його з таким собі ascii стилем для відображення стуктури графа.
|
Cypher - це мова запитів Neo4j для спрощення роботи з графами. Вона повторює синтаксис SQL та перемішує його з таким собі ascii стилем для відображення структури графа.
|
||||||
Цей навчальний матеріал передбачає, що ви вже знайомі із концепцією графів, зобрема що таке вершини та зв'язки між ними.
|
Цей навчальний матеріал передбачає, що ви вже знайомі із концепцією графів, зобрема що таке вершини та зв'язки між ними.
|
||||||
|
|
||||||
[Деталі тут](https://neo4j.com/developer/cypher-query-language/)
|
[Деталі тут](https://neo4j.com/developer/cypher-query-language/)
|
||||||
@ -23,18 +23,18 @@ Cypher - це мова запитів Neo4j для спрощення робот
|
|||||||
Таким чином у запиті позначається пуста *вершина*. Використовується зазвичай для того, щоб позначити, що вона є, проте це не так вже й важливо для запиту.
|
Таким чином у запиті позначається пуста *вершина*. Використовується зазвичай для того, щоб позначити, що вона є, проте це не так вже й важливо для запиту.
|
||||||
|
|
||||||
`(n)`
|
`(n)`
|
||||||
Це вершина яка має назву **n**, можна повторно користуватись нею у запиті. Звернення до вершини **n** починається з нижнього підкреслення та викоритовує camelCase (верблюжий регіст).
|
Це вершина, яка має назву **n**, до неї можна повторно звертатись у запиті. Звернення до вершини **n** починається з нижнього підкреслення та використовує camelCase (верблюжий регіст).
|
||||||
|
|
||||||
`(p:Person)`
|
`(p:Person)`
|
||||||
Можна також додати *ярлик* до вершини, в данному випадку - **Person**. Це як тип / клас / категорія. Назва *ярлика* починається з великої літери та викоритовує верблюжу нотацію.
|
Можна також додати *ярлик* до вершини, в данному випадку - **Person**. Це як тип / клас / категорія. Назва *ярлика* починається з великої літери та використовує верблюжу нотацію.
|
||||||
|
|
||||||
`(p:Person:Manager)`
|
`(p:Person:Manager)`
|
||||||
Вершина може мати кілька *ярликів*.
|
Вершина може мати кілька *ярликів*.
|
||||||
|
|
||||||
`(p:Person {name : 'Théo Gauchoux', age : 22})`
|
`(p:Person {name : 'Théo Gauchoux', age : 22})`
|
||||||
Вершина також може мати різні *властивості*, в данному випадку - **name** та **age**. Також мають починаєтися з великої літери та використовувати верблюжу нотацію.
|
Вершина також може мати різні *властивості*, в данному випадку - **name** та **age**. Також мають починатися з великої літери та використовувати верблюжу нотацію.
|
||||||
|
|
||||||
Наступні типи дозволяється викоритовувати у властивостях:
|
Наступні типи дозволяється використовувати у властивостях:
|
||||||
|
|
||||||
- Чиселиний
|
- Чиселиний
|
||||||
- Булевий
|
- Булевий
|
||||||
@ -56,13 +56,13 @@ Cypher - це мова запитів Neo4j для спрощення робот
|
|||||||
Це *зв'язок* з *ярликом* **KNOWS**. Це такий же самий *ярлик* як і у вершини. Починається з великої літери та використовує ВЕРХНІЙ\_РЕГІСТР\_ІЗ\_ЗМІЇНОЮ\_НОТАЦІЄЮ.
|
Це *зв'язок* з *ярликом* **KNOWS**. Це такий же самий *ярлик* як і у вершини. Починається з великої літери та використовує ВЕРХНІЙ\_РЕГІСТР\_ІЗ\_ЗМІЇНОЮ\_НОТАЦІЄЮ.
|
||||||
|
|
||||||
`[k:KNOWS]`
|
`[k:KNOWS]`
|
||||||
Те же самий *зв'язок*, до якого можна звертатись через змінну **k**. Можна подалі використовувати у запиті, хоч це і не обов'язково.
|
Це той же самий *зв'язок*, до якого можна звертатись через змінну **k**. Можна подалі використовувати у запиті, хоч це і не обов'язково.
|
||||||
|
|
||||||
`[k:KNOWS {since:2017}]`
|
`[k:KNOWS {since:2017}]`
|
||||||
Те й же *зв'язок*, але вже із *властивостями* (як у *вершини*), в данному випадку властивіть - це **since**.
|
Той же *зв'язок*, але вже із *властивостями* (як у *вершини*), в данному випадку властивість - це **since**.
|
||||||
|
|
||||||
`[k:KNOWS*..4]`
|
`[k:KNOWS*..4]`
|
||||||
Це стуктурна інформація, яку використовують *шляхи*, які розглянуті нижче. В данному випадку, **\*..4** говорить: "Сумістити шаблон із зв'язком **k**, що повторюватиметься від одного до чотирьох разів."
|
Це структурна інформація, яку використовують *шляхи*, які розглянуті нижче. В данному випадку, **\*..4** говорить: "Сумістити шаблон із зв'язком **k**, що повторюватиметься від одного до чотирьох разів."
|
||||||
|
|
||||||
|
|
||||||
Шляхи
|
Шляхи
|
||||||
@ -82,7 +82,7 @@ Cypher - це мова запитів Neo4j для спрощення робот
|
|||||||
`(a:Person)-[:MANAGES]->(b:Person)-[:MANAGES]->(c:Person)`
|
`(a:Person)-[:MANAGES]->(b:Person)-[:MANAGES]->(c:Person)`
|
||||||
Ланцюг, аналогічно, також може бути направленим. Шлях описує, що **a** - бос **b** і супер бос для **c**.
|
Ланцюг, аналогічно, також може бути направленим. Шлях описує, що **a** - бос **b** і супер бос для **c**.
|
||||||
|
|
||||||
Шаблони, які часто викоритовуються (з документації Neo4j):
|
Шаблони, які часто використовуються (з документації Neo4j):
|
||||||
|
|
||||||
```
|
```
|
||||||
// Друг-мого-друга
|
// Друг-мого-друга
|
||||||
@ -131,25 +131,25 @@ MATCH (a:Person)
|
|||||||
RETURN a
|
RETURN a
|
||||||
```
|
```
|
||||||
|
|
||||||
Знайти вершини за ярликом та властивостю:
|
Знайти вершини за ярликом та властивістю:
|
||||||
```
|
```
|
||||||
MATCH (a:Person {name:"Théo Gauchoux"})
|
MATCH (a:Person {name:"Théo Gauchoux"})
|
||||||
RETURN a
|
RETURN a
|
||||||
```
|
```
|
||||||
|
|
||||||
Знайти вершини відовідно до зв'язків (ненаправлених):
|
Знайти вершини відповідно до зв'язків (ненаправлених):
|
||||||
```
|
```
|
||||||
MATCH (a)-[:KNOWS]-(b)
|
MATCH (a)-[:KNOWS]-(b)
|
||||||
RETURN a,b
|
RETURN a,b
|
||||||
```
|
```
|
||||||
|
|
||||||
Знайти вершини відовідно до зв'язків (направлених):
|
Знайти вершини відповідно до зв'язків (направлених):
|
||||||
```
|
```
|
||||||
MATCH (a)-[:MANAGES]->(b)
|
MATCH (a)-[:MANAGES]->(b)
|
||||||
RETURN a,b
|
RETURN a,b
|
||||||
```
|
```
|
||||||
|
|
||||||
Знайти вершини зо допомогою `WHERE`:
|
Знайти вершини за допомогою `WHERE`:
|
||||||
```
|
```
|
||||||
MATCH (p:Person {name:"Théo Gauchoux"})-[s:LIVES_IN]->(city:City)
|
MATCH (p:Person {name:"Théo Gauchoux"})-[s:LIVES_IN]->(city:City)
|
||||||
WHERE s.since = 2015
|
WHERE s.since = 2015
|
||||||
@ -181,7 +181,7 @@ WHERE p.name = "Théo Gauchoux"
|
|||||||
SET p = {name: "Michel", age: 23}
|
SET p = {name: "Michel", age: 23}
|
||||||
```
|
```
|
||||||
|
|
||||||
Додати нову властивіть до вершини:
|
Додати нову властивіcть до вершини:
|
||||||
```
|
```
|
||||||
MATCH (p:Person)
|
MATCH (p:Person)
|
||||||
WHERE p.name = "Théo Gauchoux"
|
WHERE p.name = "Théo Gauchoux"
|
||||||
@ -199,7 +199,7 @@ SET p:Internship
|
|||||||
Запити на видалення
|
Запити на видалення
|
||||||
---
|
---
|
||||||
|
|
||||||
Зидалити окрему вершину (пов'язані ребра повинні бути видалені перед цим):
|
Видалити окрему вершину (пов'язані ребра повинні бути видалені перед цим):
|
||||||
```
|
```
|
||||||
MATCH (p:Person)-[relationship]-()
|
MATCH (p:Person)-[relationship]-()
|
||||||
WHERE p.name = "Théo Gauchoux"
|
WHERE p.name = "Théo Gauchoux"
|
||||||
@ -250,5 +250,5 @@ DELETE n, r
|
|||||||
|
|
||||||
- У мові Cypher існують лише однорядкові коментарі, що позначаються двійним слешем : // Коментар
|
- У мові Cypher існують лише однорядкові коментарі, що позначаються двійним слешем : // Коментар
|
||||||
- Можна виконати скрипт Cypher, збережений у файлі **.cql** прямо в Neo4j (прямо як імпорт). Проте, не можна мати мати кілька виразів в цьому файлі (розділених **;**).
|
- Можна виконати скрипт Cypher, збережений у файлі **.cql** прямо в Neo4j (прямо як імпорт). Проте, не можна мати мати кілька виразів в цьому файлі (розділених **;**).
|
||||||
- Використовуйте команднйи рядок Neo4j для написання запитів Cypher, це легко і швидко.
|
- Використовуйте командний рядок Neo4j для написання запитів Cypher, це легко і швидко.
|
||||||
- Cypher планує бути стандартною мовою запитів для всіх графових баз даних (більш відома як **OpenCypher**).
|
- Cypher планує бути стандартною мовою запитів для всіх графових баз даних (більш відома як **OpenCypher**).
|
||||||
|
Loading…
Reference in New Issue
Block a user