5
我有一個使用NEO4j的圖形,目前正試圖構建一個比基於文本的搜索更好的簡單推薦系統。圖形數據庫獲取Neo4j密碼的下一個最佳推薦節點
節點被創建如:相冊,人,類型,圖表
關係創建如:
People - [:role] -> Album
其中角色是:藝術家,生產商,歌曲作者
Album-[:is_a_type_of]->Type
(類型是基本上流行,搖滾,迪斯科...)
People -[:POPULAR_ON]->Chart
(圖表是哪個廣告牌他們可能已經)
People -[:SIMILAR_TO]->People
(預設相似連接)
我寫了下面的暗號:
MATCH (a:Album { id: { id } })-[:is_a_type_of]->(t)<-[:is_a_type_of]-(recommend)
WITH recommend, t, a
MATCH (recommend)<-[:ARTIST_OF]-(p)
OPTIONAL MATCH (p)-[:POPULAR_ON]->()
RETURN recommend, count(DISTINCT t) AS type
ORDER BY type DESC
LIMIT 25;
它的工作原理但是,它很容易重演,如果它只有一種類型的連接到它的音樂,因此有同樣的鄰居。
是否有建議的方式說:
- 找到我說,必須從首發專輯的最相似的關聯關係下一個最好的專輯。
- 任何關於平局方案的建議?現在它是按照類型排序的(所以如果一張專輯有多種類型的音樂,它的價值會更高,但是如果每個人都有相同的編號,則不會有更多
- -I made the [:SIMILAR_TO] link執行一個優先考慮的關係一樣重要,但我還沒有與它的工作暗號
- -Same無二[:Popular_On](?也許放棄這一關係)
我理解你的邏輯,但我也不明白你是什麼意思,通過配置和計算+總和參照圖形類型學。請詳細說明如果需要使用僞密碼 – azngunit81
@ azngunit81:用查詢更新答案。 –
兩個問題:1)你是什麼意思Config..is這個重量? 2)人們不是指你。人們的意思是藝術家,製作人,作曲家等......(正如我的問題所解釋的) – azngunit81