Python neo4j return 关系属性

Python neo4j return relationship properties

我是 运行 一个非常简单的密码查询,用于获取相互定向关系:MATCH (this {name: "me"})-[r1]->(channel)<-[r2]-(target) RETURN *。问题是 python 驱动程序不会给我任何关于关系的属性,但是如果我在 RETURN 中指定它们就可以正常工作,例如RETURN r1.bananas。我怎样才能让 return * 包含关系属性,以便我可以保留嵌套良好的 return 值?

我无法重现该问题。
使用 Python 3.8.10、neo4j 4.3.4(pip 安装 neo4j)和 neo4j DBMS 4.3.3
我拿了电影示例数据库和 运行 这段代码:

with driver.session() as session:
    result = session.run("MATCH (Person)-[r:ACTED_IN]->() RETURN * LIMIT 1")
    for record in result:
        pprint(record["r"]["roles"])
driver.close()

输出是 ['Shane Falco'],这是正确的(ACTED_IN 关系的 属性。

就是说,我意识到 RETURN * 只会 return“命名”节点和关系(您分配给变量的节点和关系)。
您可以在 Neo4J 浏览器的 table 视图中看到:
运行 MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN * LIMIT 1 只会 return p 和 m,而不是他们的关系。