[英]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.