1
我有一個用戶評級電影的電影數據庫。我想找到用戶1的前5名最相似的用戶(第一次MATCH可以正常工作),並向他推薦那些由類似用戶觀看但用戶1沒有觀看的最受歡迎的電影。即使我擁有多次相同的電影在我的查詢中「distinct」。我究竟做錯了什麼?多個MATCH查詢中的不同節點
MATCH (target_user:User {id : 1})-[:RATED]->(m:Movie)
<-[:RATED]-(other_user:User)
WITH other_user, count(distinct m.title) AS num_common_movies, target_user
ORDER BY num_common_movies DESC
LIMIT 5
MATCH other_user-[rat_other_user:RATED]->(m2:Movie)
WHERE NOT (target_user-[:RATED]->m2)
WITH distinct m2.title as movietitle, rat_other_user.note AS rating,
other_user.id AS watched_by
RETURN movietitle, rating, watched_by
ORDER BY rating DESC
謝謝你徹底解釋它。我以爲我回到了真正的不同的電影,而不是用戶對電影的每一個不同的評價。我希望我能給你演示的獎勵積分! – FloIancu 2014-10-04 16:23:33