我正在尝试将值列表传递到Py2neo Cypher查询中,并将该列表用作查询的参数。我目前遇到一些困难。我正在尝试将公司列表传递给查询,并将查询结果返回到Pandas DataFrame。
我当前正在使用的代码如下所示。出于演示目的,此处的公司列表已缩短,实际上是数百家公司。
my_list = ['Company_1','Company_2','Company_3','Company_4']
my_query = '''(c1:Company)-[r:HAS_SUPPLIER]-(c2:Company) where
c1.name in ['{mylist}'] Return c1.name, r.rank, c2.name'''
company_df = graph.cypher.execute(my_query)
company_df = pd.DataFrame(company_df .records, columns=company_df.columns)
我收到的错误消息如下:
AttributeError: module 'py2neo.cypher.error.statement' has no attribute 'SyntaxError'
任何人可以提供的帮助将不胜感激。
答案 0 :(得分:2)
你可以试试吗:
params = {}
params['mylist'] = ['Company_1','Company_2','Company_3','Company_4']
my_query = '(c1:Company)-[r:HAS_SUPPLIER]-(c2:Company) where
c1.name in $mylist Return c1.name, r.rank, c2.name'
company_df = graph.cypher.execute(my_query, params)