9.1.5 Идентификатор со специальными символами
Чтобы ввести метку, которая содержит символы, не являющиеся буквами английского алфавита, вы можете заключить идентификатор в значки "`", например:
Запрос
MATCH (`This isn't a common identifier`) WHERE `This isn't a common identifier`.name='A' RETURN `This isn't a common identifier`.happy
Возвращается узел с именем "A":
Таблица 9.5 Результат
`This isn't a common identifier`.happy |
---|
"Yes!" |
9.1.6 Псевдоним (алиас) столбца
Если имя столбца должно отличаться от используемого выражения, вы можете переименовать его, с помощью AS <новое имя>.
Запрос
MATCH (a { name: "A" }) RETURN a.age AS SomethingTotallyDifferent
Возвращает свойство age (возраст) узла, и переименовывает столбец.
Таблица 9.6 Результат
SomethingTotallyDifferent |
---|
55 |
9.1.7 Необязательные свойства
Если свойство может быть или не быть, вы всё рвно можете выбрать его обычным способом. Если свойство отсутствует, оно будет трактоваться как NULL.
Запрос
MATCH (n) RETURN n.age
Этот пример возвращает возраст, если это свойство есть у узла, или NULL, если - нет.
Таблица 9.7 Результат
n.age |
---|
55 |
9.1.8 Другие выражения
Любое выражение может использоваться как возвращаемый элемент – литералы, предикаты, свойства, функции и всё остальное.
Запрос
MATCH (a { name: "A" }) RETURN a.age > 30, "Я литерал",(a)-->()
Возвращает предикат, литерал и вызов функции с параметром выражения образца.
Таблица 9.8 Результат
a.age > 30 | "Я литерал" | (a)-->() |
---|---|---|
true | "Я литерал" | [[Node[0]{name:"A",happy:"Yes!",age:55},:KNOWS[0]{},Node[1]{name:"B"}],[Node[0]{name:"A",happy:"Yes!",age:55},:BLOCKS[1]{},Node[1]{name:"B"}]] |
9.1.9 Уникальные результаты
DISTINCT запрашивает только уникальные строки в зависимости от столбцов, которые образуют вывод.
Запрос
MATCH (a { name: "A" })-->(b) RETURN DISTINCT b
Запрос возвращает узел с именем B, но только один раз.
Таблица 9.9 Результат
b |
---|
Node[1]{name:"B"} |