簡體   English   中英

neo4j查找具有相似連接的節點

[英]neo4j find nodes with similar connections

我試圖找出以下問題:我有兩個節點:Merchant:Customer 兩者與:BUY關系有關。 我試圖找到具有相同:Customer節點,甚至更好的共享:90% :Customer節點的:Merchant節點。 謝謝。

這對我有幫助: https : //neo4j.com/docs/graph-algorithms/current/algorithms/similarity-jaccard/

重要的是要比較的所有節點都在同一圖中並已連接。

MATCH (p:Person)-[:LIKES]->(cuisine)
WITH {item:id(p), categories: collect(id(cuisine))} as userData
WITH collect(userData) as data
CALL algo.similarity.jaccard.stream(data)
YIELD item1, item2, count1, count2, intersection, similarity
RETURN algo.getNodeById(item1).name AS from, algo.getNodeById(item2).name AS to, intersection, similarity
ORDER BY similarity DESC

應該是這樣的(取決於您的數據庫)

MATCH (p:Merchant)-[:BUY]->(consumer)
WITH {item:id(p), categories: collect(id(consumer))} as userData
WITH collect(userData) as data
CALL algo.similarity.jaccard.stream(data)
YIELD item1, item2, count1, count2, intersection, similarity
WHERE similarity > 0.9
RETURN algo.getNodeById(item1).name AS from, algo.getNodeById(item2).name AS to, intersection, similarity
ORDER BY similarity DESC

據我了解,它使用jaccard( https://en.wikipedia.org/wiki/Jaccard_index )作為節點的ID。

PS:重要的是安裝插件以使用它: https : //neo4j.com/docs/graph-algorithms/current/introduction/#_installation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM