次のような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]
コメントを追加