可以說我有以下節點的關係:無法正確訂購和限制子節點;帶+可選MATCH
(:User)-[:MEMBER]->(:Room)<-[:HAS]-(:Photo)
而且:User
可以(:User)-[:FRIEND]-(:User)
到其他:User
:Room
可能有照片或可能不會。
什麼我'努力實現 - 獲得5 :Room
'由.creationdate
排序S,得到4 :Photo
的每一個的那些房間和.date
對它們進行排序(如果有任何的照片),並同時獲得5個朋友,這是這個房間的成員,沒有任何分類。我試圖在一個查詢中做到這一點,但我幾乎放棄了,也許有沒有辦法做到這一點,我需要作爲單獨的數據庫請求?
到目前爲止,查找查找我爲邏輯正確的查詢不起作用 - 例如,它只返回4個:Photo
的總數,其中一些查詢沒有與其他節點的任何連接。
查詢:
MATCH (u:User {id:'E17YfQyRgl'})-[:MEMBER]-(r:Room)
WITH r ORDER BY r.creationdate LIMIT 5
OPTIONAL MATCH r-[:HAS]-(ph:Photo)
WITH ph ORDER BY ph.date LIMIT 4
OPTIONAL MATCH r-[:MEMBER]-(fr:User)-[:FRIEND]-(u:User {id:'E17YfQyRgl'})
return r,COLLECT(ph),COLLECT(fr)[..5]
正如你可以看到我使用的收集,LIMIT和ORDER不一致的混搭,...但我只是失去了現在,能理解的任何幫助。
哦,我看到的,我想過這個問題,我記得我是想這樣的事情,是不是'用R,pH值ORDER BY ph.date'打算從重新排序我[R先前的r.creationdate與ph.date的關係與r?無論如何,我一定會嘗試它的明天,thx,我會回來後,我會得到一些睡眠=) –
是的。您可以通過r.creationdate,ph.date'將其更改爲'WITH r,ph ORDER。 –
對不起,妮可,我被捲入開發,沒有時間去正確地回到這個問題,現在我使用查詢非常類似於您的答案,似乎everthign是好的,謝謝! –