Cypher query JSON formatted result

别等时光非礼了梦想. 提交于 2020-01-12 03:37:08

问题


On the Actor/Movie demo graph, cypher returns column names in a separate array.

MATCH (n:Person) RETURN n.name as Name, n.born as Born ORDER BY n.born LIMIT 5

results:

{  "columns" : [ "Name", "Born" ],  "data" : [ [ "Max von Sydow", 1929 ], [ "Gene Hackman", 1930 ], [ "Richard Harris", 1930 ], [ "Clint Eastwood", 1930 ], [ "Mike Nichols", 1931 ] ]}

Is it possible to get each node properties tagged instead?

{ "nodes" : [ ["Name": "Max von Sydow", "Born": 1929 ], ...] }

If I return the node instead of selected properties, I get way too many properties.

MATCH (n:Person) RETURN n LIMIT 5

results:

{  "columns" : [ "n" ],  "data" : [ [ {    "outgoing_relationships" : "http://localhost:7474/db/data/node/58/relationships/out",    "labels" : "http://localhost:7474/db/data/node/58/labels",    "data" : {      "born" : 1929,      "name" : "Max von Sydow"    },    "all_typed_relationships" : "http://localhost:7474/db/data/node/58/relationships/all/{-list|&|types}",    "traverse" : "http://localhost:7474/db/data/node/58/traverse/{returnType}",    "self" : "http://localhost:7474/db/data/node/58",    "property" : "http://localhost:7474/db/data/node/58/properties/{key}",    "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/58/relationships/out/{-list|&|types}",    "properties" : "http://localhost:7474/db/data/node/58/properties",    "incoming_relationships" : "http://localhost:7474/db/data/node/58/relationships/in",    "extensions" : {    },    "create_relationship" : "http://localhost:7474/db/data/node/58/relationships",    "paged_traverse" : "http://localhost:7474/db/data/node/58/paged/traverse/{returnType}{?pageSize,leaseTime}",    "all_relationships" : "http://localhost:7474/db/data/node/58/relationships/all",    "incoming_typed_relationships" : "http://localhost:7474/db/data/node/58/relationships/in/{-list|&|types}"  } ], ... ]}

回答1:


You can use the new literal map syntax in Neo4j 2.0 and do something like:

MATCH (n:Person) 
RETURN { Name: n.name , Born: n.born } as Person 
ORDER BY n.born 
LIMIT 5


来源:https://stackoverflow.com/questions/21219936/cypher-query-json-formatted-result

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!