如何使用neo4j python驱动程序获取列表?

时间:2018-08-21 09:49:40

标签: python neo4j driver

当我的查询请求一个响应时,一切都很好,但是当我尝试获取整个列表时,它给出了这个错误:

记录名称= u'Tom Hanks'关系= 12> /home/roldanx/.local/lib/python2.7/site-packages/neo4j/v1/api.py:772:UserWarning:预期具有单个记录的结果,但该结果包含13

只给我列表的第一行(Tom Hanks,12岁)。有什么方法可以获取整个列表吗?这是我的代码:

from neo4j.v1 import GraphDatabase

    driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))

    session = driver.session()

    def degree():
        return session.run("""
            MATCH(a:Person{name:"Tom Hanks"})--(b)
            return a.name AS name, count(distinct b) AS relations
            UNION 
            MATCH (a:Person{name:"Tom Hanks"})--(b)--(c)
            return b.title AS name, (count(distinct c)+1) AS relations
            """)

    deg = degree().single()
    print(deg)
    driver.close()

1 个答案:

答案 0 :(得分:0)

运行密码查询时,将返回BoltStatementResult。它提供了查询结果的句柄,还提供了一些元数据。因此,您不能直接将其转换为列表。但这是可迭代的,因此您可以简单地遍历结果以获取所有记录:

result = degree()
entire_result = [] # Will contain all the items
for record in result:
    entire_result.append(record)