我使用neo4j jdbc驱动程序访问本地服务,并进行以下查询以查找我需要的内容:
"MATCH (u:User)-->(d:Deck)-[p:Played]->(g:Game)" +
"WHERE id(g) = ?" +
"RETURN {r {user :u, deck :d, played:p, game:g}}"
我把它当作一张地图,可以找到零件,就在我的脸上,我可以看到我需要的东西。我怎么弄到它?( {comment= .}等)
我知道怎么让它
RETURN p.comment, p.place ... etc
但我担心这事很快就会失控。如果我能至少得到那条json字符串,我会很高兴的。
发布于 2016-10-28 02:31:54
有一个内置的Cypher函数PROPERTIES()
,概述了这里,它将所有具有属性(节点、关系,甚至是预先存在的地图)的属性转换为没有其他数据的属性映射。语言驱动程序已经为hydrate
节点和关系内置了工具,因此属性访问非常简单,但是如果您需要返回一个Map和一个Map,只需使用RETURN PROPERTIES(p)
就可以得到它。
发布于 2016-10-28 00:33:55
在两行之间读取时,您似乎是在尝试获取特定节点和属性的所有属性,而不需要任何无关的元数据。
安装载脂蛋白C插件后,您可以使用apoc.map.fromPairs
过程生成包含节点或关系的所有属性的映射。
例如,要获取每个User
节点的所有属性:
MATCH (u:User)
CALL apoc.map.fromPairs([k IN KEYS(u) | [k, u[k]]]) YIELD value AS props
RETURN props;
[k IN KEYS(u) | [k, u[k]]]
生成键/值集合的集合。apoc.map.fromPairs()
过程接受键/值集合的集合,并将其转换为映射。https://stackoverflow.com/questions/40294605
复制相似问题