我有以下查询,用于从Neo4j的示例电影数据库中获取演员,角色和电影,如下所示:
MATCH (actor:Person {name:"Meg Ryan"})-[role:ACTED_IN]->(movies)
RETURN actor, collect({roles: role.roles, movies: movies}) as movies
一切都很好,但是当我想按电影上映年份订购该系列时,我遇到了一些问题。
我试图这样做:
MATCH (actor:Person {name:"Meg Ryan"})-[role:ACTED_IN]->(movies)
ORDER BY movies.released DESC
RETURN actor, collect({roles: role.roles, movies: movies}) as movies
但我得到这个错误:
Invalid input 'R': expected 'p/P' (line 2, column 2)
"ORDER BY movies.released DESC"
^
在将其放入影集之前,如何在电影上映年份之前订购该影集?
在ORDER BY之前使用WITH关键字对结果进行排序,然后再进行收集:
注意,WITH部分需要包含稍后在查询中使用的所有变量(在这种情况下为actor,role,movies)。
MATCH (actor:Person {name:"Meg Ryan"})-[role:ACTED_IN]->(movies)
WITH actor,role,movies
ORDER BY movies.released DESC
RETURN actor, collect({roles: role.roles, movies: movies}) as movies
文档中给出了类似的示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句