How can I return all properties for a node using Cypher?

cypher, graph, neo4j

Solution

You can't do this in Cypher yet. I think it would be a nice feature though, if you want to request it.

Edit (thanks for comment pointing it out): You can now do this as of 2.2:

MATCH (p:Product) WHERE p.price='1950' RETURN keys(p);

Problem

I understand it is possible to use the wildcard (*) symbol to return all references in a Cypher query, such as: ``` MATCH p:Product WHERE p.price='1950' RETURN *; ==> +----------------------------------------------------------------+ ==> | p | ==> +----------------------------------------------------------------+ ==> | Node[686]{title:"Giorgio Armani Briefcase",price:"1950",... | ==> +----------------------------------------------------------------+ ``` However, the result is a row with a single node 'column' named "p", from which the properties can be accessed. However, I'd like the result-set 'rows' to have the property names as 'columns'. Something like: ``` MATCH p:Product WHERE p.price='1950' RETURN p.*; ==> +-------------------------------------------+ ==> | title | price | ... | ==> +-------------------------------------------+ ==> | "Giorgio Armani Briefcase" | "1950" | ... | ==> +-------------------------------------------+ ``` That particular query isn't valid, but is there a way to achieve the same result (short of listing all the properties explicitly, as in p.title,p.price,p... )?

Original source

Related problems