2012-11-28 42 views
1

比方說,我在圖中的以下路徑:從暗號鏈關係退貨訂單查詢

user-[:NEXT]->message(n)-[:NEXT]->message(n-1)-[:NEXT]->...-[:NEXT]->message1-[:NEXT]->message0 

在這種情況下,我可以依靠從下面的查詢返回的信息實體的訂單?它會永遠相同嗎?

start user=node(userNode) match user-[:NEXT*]->message return message 

那麼Paging何時添加?有關係嗎?

回答

0

是100%肯定的是,你可以使用length()函數是這樣的:

start user=node(userNode) match user-[r:NEXT*]->message return message order by length(r) asc; 

這會給你第一最短路徑列表。爲了得到它,只需使用order by length(r) desc

+0

thx。這種用法對性能有什麼影響? – SelimOber

+1

這意味着非常嚴重,因爲它不是直接將結果推送出去,而是因爲它們進入密碼庫必須收集內存中的所有數據,應用排序並返回結果。隨着1.9.M02,你將有一個更有效的'按......限制x'實施,這應該會對你有所幫助。 –