Глава 9. Основные предложения
9.1 Return
- 9.1.1 Вернуть узлы
- 9.1.2 Вернуть связи
- 9.1.3 Вернуть свойство
- 9.1.4 Вернуть все элементы
- 9.1.5 Идентификатор со специальными символами
- 9.1.6 Алиас столбца
- 9.1.7 Необязательные свойства
- 9.1.8 Другие выражения
- 9.1.9 Уникальные результаты
В предложении RETURN вашего запроса вы определяете, какие части образца вас интересуют. Это могут быть узлы, связи или их свойства.
Рис 9.1 Граф
9.1.1 Вернуть узлы
Чтобы вернуть узлы, перечислите их в операторе RETURN.
Запрос
MATCH (n { name: "B" }) RETURN n
Этот пример возвращает узел.
Таблица 9.1 Результат
n |
---|
Node[1]{name:"B"} |
9.1.2 Вернуть связи
Чтобы вернуть связь, просто включите её в список RETURN.
Запрос
MATCH (n { name: "A" })-[r:KNOWS]->(c) RETURN r
Данный пример возвращает связь.
Таблица 9.2 Результат
r |
---|
:KNOWS[0]{} |
9.1.3 Вернуть свойство
Чтобы вернуть свойство, используйте точку в качестве разделителя, например:
Запрос
MATCH (n { name: "A" }) RETURN n.name
Возвращается значение свойства name.
Таблица 9.3 Результат
n.name |
---|
"A" |
9.1.4 Вернуть все элементы
Если вы хотите вернуть все узлы, связи и пути, обнаруженные запросом, вы можете использовать символ *.
Запрос
MATCH p=(a { name: "A" })-[r]->(b) RETURN *
Этот запрос возвращает два узла, связь и путь, используемый в запросе.
Таблица 9.4 Результат
b | a | r | p |
---|---|---|---|
Node[1] {name:"B"} | Node[0] {name:"A",happy:"Yes!",age:55} | :KNOWS[0]{} | [Node[0]{name:"A", happy:"Yes!",age:55}, :KNOWS[0]{}, Node[1]{name:"B"}] |
Node[1] {name:"B"} | Node[0] {name:"A",happy:"Yes!",age:55} | :BLOCKS[1]{} | [Node[0]{name:"A", happy:"Yes!",age:55}, :BLOCKS[1]{}, Node[1]{name:"B"}] |