这就是我的处理方式
从您在 Neo4j 浏览器或任何螺栓驱动器中提到的帖子中运行此查询:
MATCH (a)-[r]->(b)
WITH collect(
{
source: id(a),
target: id(b),
caption: type(r)
}
) AS edges
RETURN edges
现在您已经加载了数据,您可以使用下载按钮将其下载为 JSON。(如果您使用的是螺栓驱动程序,请忽略)
无论您是从 Neo4j 浏览器手动下载 JSON 还是使用螺栓驱动程序,最终都会得到类似的结果。
{
"columns": [
"edges"
],
"data": [
{
"row": [
[
{
"source": 31288,
"target": 152,
"caption": "HAS_PAYMENT_METHOD"
}
]
],
"meta": [
null
],
"graph": {
"nodes": [
],
"relationships": [
]
}
}
]
现在您只需过滤掉data.row 结果即可。可能使用螺栓驱动程序是更好的选择,因为无论如何您都必须清理数据,并且不会遇到将大量数据返回到浏览器的问题(它可能会崩溃)。
更新:增加了python版本
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))
session = driver.session()
result = session.run("MATCH (a)-[r]->(b) WITH collect({source: id(a),target: id(b),caption: type(r)}) AS edges RETURN edges")
for record in result:
print(record["edges"])
希望对你有帮助