2
這裏是我的查詢:Cypher支架的Neo4j建立兩個節點之間的關係,避免雙向關係
MATCH (a:Person)-[:friend]->(p:Person)<-[:friend]-(b:Person)
WITH a, b, COUNT(p) as count
WHERE count >= 2
CREATE (a)-[:friend {new: "yes"}]->(b)
RETURN a,b,count
我試圖發現至少有2個共同的朋友,他們之間建立朋友關係a和b。以下是結果示例:
a b count
name1 name2 3
name2 name1 3
注意結果會重複出現,這會在它們之間創建雙向關係。名1 - [:朋友] - > NAME2也意味着名1 < - [:朋友] -name2,所以如果我創建了一個雙向的關係,它們之間的關係將被複制如在我的csv文件:
a b relationship
name1 name2 friend
name1 name2 friend
name2 name2 friend
name2 name2 friend
有什麼辦法可以避免這種情況?感謝您的時間。
順便說一句,我拿起這招從Nicole White在Neo4j推薦引擎上的優秀截屏:http://watch.neo4j.org/video/109169965 – 2015-02-11 15:51:55
非常感謝。這是我一直在尋找的。 =) – StudyProgramming 2015-02-11 18:40:09
很高興聽到它!如果它適合你,請接受答案 – 2015-02-11 19:24:21