Prev |  | Next

## 15.12. Return

In the `RETURN` part of your query, you define which parts of the pattern you are interested in. It can be nodes, relationships, or properties on these.

Graph

### 15.12.1. Return nodes

To return a node, list it in the `RETURN` statemenet.

Query

    START n=node(2)
    RETURN n

The example will return the node.

Result

n
1 row
0 ms
`Node[2]{name:"B"}`

### 15.12.2. Return relationships

To return a relationship, just include it in the `RETURN` list.

Query

    START n=node(1)
    MATCH (n)-[r:KNOWS]->(c)
    RETURN r

The relationship is returned by the example.

Result

r
1 row
0 ms
`:KNOWS[0] {}`

### 15.12.3. Return property

To return a property, use the dot separator, like this:

Query

    START n=node(1)
    RETURN n.name

The value of the property `name` gets returned.

Result

n.name
1 row
0 ms
`"A"`

### 15.12.4. Return all elements

When you want to return all nodes, relationships and paths found in a query, you can use the `*` symbol.

Query

    START a=node(1)
    MATCH p=a-[r]->b
    RETURN *

This returns the two nodes, the relationship and the path used in the query.

Result

a | b | r | p
--- | --- | --- | ---
2 rows
0 ms
`Node[1]{name:"A",happy:"Yes!",age:55}` | `Node[2]{name:"B"}` | `:KNOWS[0] {}` | `[Node[1]{name:"A",happy:"Yes!",age:55},:KNOWS[0] {},Node[2]{name:"B"}]`
`Node[1]{name:"A",happy:"Yes!",age:55}` | `Node[2]{name:"B"}` | `:BLOCKS[1] {}` | `[Node[1]{name:"A",happy:"Yes!",age:55},:BLOCKS[1] {},Node[2]{name:"B"}]`

### 15.12.5. Identifier with uncommon characters

To introduce a placeholder that is made up of characters that are outside of the english alphabet, you can use the ``` to enclose the identifier, like this:

Query

    START `This isn't a common identifier`=node(1)
    RETURN `This isn't a common identifier`.happy

The node indexed with name "A" is returned

Result

This isn't a common identifier.happy
1 row
0 ms
`"Yes!"`

### 15.12.6. Column alias

If the name of the column should be different from the expression used, you can rename it by using `AS` <new name>.

Query

    START a=node(1)
    RETURN a.age AS SomethingTotallyDifferent

Returns the age property of a node, but renames the column.

Result

SomethingTotallyDifferent
1 row
0 ms
`55`

### 15.12.7. Optional properties

If a property might or might not be there, you can select it optionally by adding a questionmark to the identifier, like this:

Query

    START n=node(1, 2)
    RETURN n.age?

This example returns the age when the node has that property, or `null` if the property is not there.

Result

n.age?
2 rows
0 ms
`55`
`<null>`

### 15.12.8. Unique results

`DISTINCT` retrieves only unique rows depending on the columns that have been selected to output.

Query

    START a=node(1)
    MATCH (a)-->(b)
    RETURN distinct b

The node named B is returned by the query, but only once.

Result

b
1 row
0 ms
`Node[2]{name:"B"}`

Copyright © 2012 Neo Technology

Prev | Up | Next
| Home |