如何使用 neo4j python 驱动程序获取列表?
How to get a list using neo4j python 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()
当您 运行 密码查询时,将返回一个 BoltStatementResult。它提供查询结果的句柄,以及一些元数据。所以你不能直接将它转换成一个列表。但它是可迭代的,所以你可以简单地遍历结果得到所有的记录:
result = degree()
entire_result = [] # Will contain all the items
for record in result:
entire_result.append(record)
当我的查询要求单个响应时,一切正常,但是当我尝试获取整个列表时,它给出了这个错误:
记录名称=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()
当您 运行 密码查询时,将返回一个 BoltStatementResult。它提供查询结果的句柄,以及一些元数据。所以你不能直接将它转换成一个列表。但它是可迭代的,所以你可以简单地遍历结果得到所有的记录:
result = degree()
entire_result = [] # Will contain all the items
for record in result:
entire_result.append(record)