私はneo4jバージョン1.9M02で次の暗号クエリを実行しようとしています
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN products._id
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
私は、関係の作成時間順に注文された、私の友人によって追加または在庫されているが、私によって追加または在庫されていないすべての製品を入手することを期待しています。このクエリは正しい結果を返しますが、products._idの値が重複しています(1人のユーザーが製品を追加し、他のユーザーがそれをストックしました)。しかし、私はこのproducts._idのインスタンスを1つだけ必要としているので、試してみました
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN DISTINCT products._id
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
(products._idのDISTINCTを追加しました)しかし、今回はUnknown identifier fr
エラーが発生しました。そこで、RETURNステートメントにfrを追加しました
START me=node(2)
MATCH me-[:FOLLOWS]->friends
,friends-[fr:ADDED|STOCKS]->products
,me-[r?]->products
WHERE r is null
RETURN DISTINCT products._id,fr
ORDER BY fr.CreatedOn DESC
SKIP 0
LIMIT 10
このクエリはエラーなしで機能しますが、以前と同じように重複する製品IDを返します。
私はここ数日neo4jで遊んでいるだけなので、専門家ではありません。誰かがここで私を助けてくれたら本当にありがたいです。