2013-10-16 9 views
5

はなぜ(重複行であるが)、このクエリの作業を行います。のNeo4jサイファークエリ: "不明な識別子" RETURN DISTINCT

START user=node(1197) 
MATCH (user)-[:WROTE_REVIEW]->()-[:EVALUATES]->(post) 
RETURN post.Id, post.Image, post.Description 
ORDER BY post.CreationTime DESC; 

をし、この1つは(それがエラーUnknown identifier 'post'を返す)しません。

START user=node(1197) 
MATCH (user)-[:WROTE_REVIEW]->()-[:EVALUATES]->(post) 
RETURN DISTINCT post.Id, post.Image, post.Description 
ORDER BY post.CreationTime DESC; 

唯一の違いはDISTINCTです。

WITHを使用して回避策を見つけましたが、これを行う必要はないようです。

私はNeo4j 2.0.0-M05を使用しています。何か案は?

ありがとうございます!

答えて

5

これは正当です。

DISTINCTは、DISTINCT句に記載されていないプロパティで順序を並べ替える可能性を排除します(たとえば、post.CreationTimeが3つのレコードに1つのポストに1つのレコードがある場合など)。DISTINCTによって注文される?)。作業クエリを取得するには、DISTINCTなどにpost.CreationTimeが含まれる:

START user=node(1197) 
MATCH (user)-[:WROTE_REVIEW]->()-[:EVALUATES]->(post) 
RETURN DISTINCT post.Id, post.Image, post.Description, post.CreationTime 
ORDER BY post.CreationTime DESC; 

しかしこれは明らかにされていませんので、私はドキュメントにそれを作るためにhttps://github.com/neo4j/neo4j/issues/1322を上げた - それを指摘して感謝を!

+0

意味があります。ありがとう! –

関連する問題