小编Stu*_*ing的帖子

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
Run Code Online (Sandbox Code Playgroud)

我试图找到一个至少有两个共同朋友的a和b,并在他们之间建立朋友关系.以下是结果示例:

   a             b            count
   name1         name2          3
   name2         name1          3
Run Code Online (Sandbox Code Playgroud)

注意结果重复,这将在它们之间创建双向关系.name1 - [:friend] - > name2也表示name1 < - [:friend] -name2,所以如果我创建了双向关系,它们之间的关系将重复,如我的csv文件所示:

   a             b            relationship
   name1         name2           friend
   name1         name2           friend
   name2         name2           friend
   name2         name2           friend
Run Code Online (Sandbox Code Playgroud)

有什么方法可以避免这种情况吗?感谢您的时间.

neo4j cypher

2
推荐指数
1
解决办法
768
查看次数

标签 统计

cypher ×1

neo4j ×1