neo4j - 如何解析从cypher返回的列表的集合?

  显示原文与译文双语对照的内容
0 0

使用 python/py2neo,我运行了一个 CYPHER Query

return.. .,.. ., collect([node1.uuid, node1.timestamp, id(node1), node2.uuid])

在web控制台和py2neo中,我得到了类似这样的结果:

[.. .,.. ., [u'List(1234abcd-1234-1234-1234-1234abcd1234, 1.374650647E9, 13312, 4321abcd-4321-4321-4321-4321abcd4321)', u'List(...,.. .,.. .)']]

( 在web控制台中只使用 "" 而不是 u'' )

它看起来不像 JSON 。 有一个 u'List()',没有加引号的字符串和科学记数法。

如何解析返回的列表集合?

时间:原作者:5个回答

0 0

你可以使用 正规表达式:

import re
s = u'List(1234abcd-1234-1234-1234-1234abcd1234, 1.374650647E9, 13312, 4321abcd-4321-4321-4321-4321abcd4321)'
re.findall(r'List(([a-z0-9-]+), ([0-9.E]+), (d+), ([a-z0-9-]+))', s)

这将返回:

[(u'1234abcd-1234-1234-1234-1234abcd1234',
 u'1.374650647E9',
 u'13312',
 u'4321abcd-4321-4321-4321-4321abcd4321')]
原作者:
0 0

如果查看实际REST调用( 。switch 到HTTP控制台视图或者使用 CURL ),你可以在HTTP控制台中执行类似

POST/db/data/cypher {"query":"start n=node(1,2) return collect(n);"}

并在 [] 返回正确的序列化完整节点 red=representations 。

原作者:
...