At the moment Cypher always returns Array data.
I think there is many use cases where you want to return JSON data instead directly from Cypher.
Eg.
START user = node({id})
RETURN {id: ID(user), name:
user.name, age: user.age}
Gives a HTTP body:
{"id": 101, "name": "Neo", age: "33"}
In this way we don't have to convert the Array data into JSON manually in our application server.
And if it's multiple nodes returned:
START users = node:users("name: *")
RETURN {id: ID(user), name:
user.name, age: user.age}
We get:
[
{"id": 101, "name": "Neo", age: "33"}
{"id": 101, "name": "Trinity", age: "30"}
{"id": 101, "name": "Morpheus", age: "40"}
]
I feel returning JSON as well could be a natural thing.
Johnny