我正在尝试将查询的结果导出到csv,并且仍然重用查询结果中的值作为查询的第二阶段的输入。
我在postgres数据库中提交了一个初始查询,并使用apoc.load.jdbc将结果传递给neo4j。我一直在尝试使用apoc.export.csv.query导出postgres查询的结果,然后使用postgres查询中的值作为我的cypher查询的搜索条件。
此查询在不尝试写入csv的情况下工作:
CALL apoc.load.jdbc('postgresql_url', 'SELECT paper_id FROM papers LIMIT 1') YIELD row
MATCH (n:paper)<-[r:REFERENCES]-(m:paper) WHERE n.paper_id = row.paper_id
RETURN n, m理想情况下,我希望查询的结果如下所示:
CALL apoc.load.jdbc('postgresql_url', 'SELECT paper_id FROM papers LIMIT 1') YIELD row
CALL apoc.export.csv.query('row', 'export/degree0.csv', {}) YIELD row
MATCH (n:paper)<-[r:REFERENCES]-(m:paper) WHERE n.paper_id = row.paper_id
RETURN n, m此查询返回未定义it row.paper_id的错误。
我正在尝试获取写入csv的postgres查询的结果,并在cypher查询中使用该查询结果中的数据。
发布于 2019-08-14 06:01:15
您可能会覆盖row变量。您可以尝试从第二行的export.csv中删除'YIELD行‘。
如果它不起作用,我建议同时删除匹配线并返回*,这样您就可以准确地看到row变量包含的内容。
https://stackoverflow.com/questions/57483929
复制相似问题