我正在使用Neo4J處理具有用戶及其電影排名的數據集。我有兩種節點類型 - 電影和用戶,以及將用戶級別賦予電影的單一關係。使用Neo4J計算排名數據庫中兩個用戶的相似度
我的目標是根據他/她與其他用戶之間的相似性來探索用戶的預測能力。
爲此,我想計算用戶之間的相似度,作爲他們都查看的電影的排名歸一化總和。這些信息應該存儲在用戶之間的關係中。
我有兩個特定節點以下的Cypher查詢工作:
MATCH (a)-[r1:RANKS]->(m), (b)-[r2:RANKS]->(m) where a.ID<>b.ID return a.ID,b.ID, sum(abs(r1.Rate-r2.Rate))/count(m)
我想用此查詢還創建關係,但只要我嘗試以下方法:
MATCH (a)-[r1:RATES]->(m)<-[r2:RATES]-(b) where a.ID<>b.ID and a.ID="u_1" and b.ID="u_753" CREATE a-[:SIMILARITY_RANK{Similarity:(abs(r1.Rank-r2.Rank))/count(m)}]->(b)
我得到錯誤消息,說我在錯誤的上下文中使用了count函數。我究竟做錯了什麼?
多坦
也感謝工作!同時移至常規SQL。 – user3314112