[英]Neo4j 1.9: alternative to Neo4j 2.0's UNION to combine result sets?
我正在嘗試為我正在處理的這種社交網絡類型的應用程序編寫Cypher查詢。 試想一下Facebook類型的應用程序,其中有跟隨其他用戶的用戶,這些用戶可以撰寫帖子並喜歡/分享它們。
假設用戶Alice關注了幾個人(主題)。
查詢應該返回的三件事:
我可以分別編寫三個查詢:
start alice=node(35500)
match (alice)-[:FOLLOWS]->()-[:SHARES]->(post)
where not((post)-[:ORIGINAL]->())
return post;
start alice=node(35500)
match (alice)-[:FOLLOWS]->()-[:LIKES]->(post)
with post, count(post) as likes
where likes >= 5
return post;
start alice=node(35500)
match (alice)-[:FOLLOWS]->()-[:SHARES]->(post)-[repost:ORIGINAL]->()
with post, count(repost) as reposts
where reposts >= 5
return post;
(轉發與原始帖子具有:ORIGINAL關系)
目前,我正在分別進行三個查詢,在客戶端中組合,排序和分頁結果。 我真正想要的是一個查詢,我可以在其中使用SKIP和LIMIT來分頁結果。
據我所知,Neo4j 1.9(我正在使用的(穩定)版本)不支持UNION。 升級到不穩定的Neo4j 2.0並不是真正的選擇。
沒有Neo4j的UNION,有沒有辦法做到這一點?
謝謝!
我認為在Neo4j 1.9中,在這種情況下,您應該移至服務器插件或Java代碼,Cypher在2.0之前並不真正支持此功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.