如何将列表传递给 Py2neo 密码查询

How to pass a list into a Py2neo cypher query

我正在尝试将值列表传递给 Py2neo Cypher 查询,并将该列表用作查询的参数。我现在遇到了一些困难。我试图将公司列表传递给查询,并将 return 查询结果传递给 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'

如果有人能提供任何帮助,我们将不胜感激。

你能试试这个吗:

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)