The Neo4j Manual: Cypher Query Language / Язык запросов Cypher: 7.1.2. Структура
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Структура Cypher позаимствована у SQL -- запросы строятся из различных выражений (clauses). bordacount 25.12.13 в 17:26 |
|
|
Выражения собираются в последовательность и принимают на вход результаты вычислений друг друга. Например, сопоставленные идентификаторы из одного MATCH-выражения будут поданы на вход следующему выражению. bordacount 25.12.13 в 17:38 |
||
|
Язык запросов состоит из нескольких выражений. С подробным описанием можно ознакомиться ниже. bordacount 25.12.13 в 17:38 |
||
|
Вот несколько выражений для чтения данных: bordacount 25.12.13 в 17:39 |
||
|
MATCH: Cтруктура для сопоставления. bordacount 25.12.13 в 17:45 |
||
|
Рассмотрим такой граф: bordacount 25.12.13 в 17:45 |
||
|
Рис. 7.1. Пример графа. bordacount 25.12.13 в 17:45 |
||
|
В качестве примера приведём запрос, который ищет пользователя по имени John и его друзей, а затем выводит John и всех друзей его друзей. bordacount 25.12.13 в 17:48 |
||
|
MATCH (john {name: 'John'})-[:friend]->()-[:friend]->(fof) bordacount 25.12.13 в 17:50 |
||
|
Вывод: bordacount 25.12.13 в 17:51 |
||
|
Зададим список имён пользователей и найдём все вершины с именами из списка, выберем их друзей и вернём только тех, у которых поле "name" начинается на "S". bordacount 25.12.13 в 17:53 |
||
|
MATCH (user)-[:friend]->(follower) bordacount 25.12.13 в 17:51 |
||
|
Вывод: bordacount 25.12.13 в 17:54 |
||
|
CREATE (и DELETE): Создание и удаление вершин и рёбер. bordacount 25.12.13 в 18:03 |
