在 Neo4j 中创建双定向关系



如果user_1<-FOLLOW-> user_2,我正在尝试创建一个有向关系。 当我使用以下密码时,它会创建那些重复为user1-[FOLLOW]->user2的关系 和用户 1<-[:关注]-用户 2。

LOAD CSV with headers FROM "file:///a.csv" AS profile FIELDTERMINATOR';'
MATCH (n1:Profile {id:trim(profile.fromId)})
MATCH (n2:Profile {id:trim(profile.ToId)})
MERGE (n1)-[:FOLLOWS]->(n2);

你有什么想法,而不是创造双倍时间的相同类型的关系吗?

neo4j 中没有无向图支持。但是支持没有方向的模式匹配.i.e:你可以像 ,MATCH (n1)-[:FOLLOWS]-(n2) or MERGE (n1)-[:FOLLOWS]-(n2). 因此,当有匹配范围而不给出方向时,不需要无向图。

所以在你的情况下,如果你这样做,它不会创建重复的关系

MATCH (n1:Profile {id:trim(profile.fromId)})
MATCH (n2:Profile {id:trim(profile.ToId)})
MERGE (n1)-[:FOLLOWS]-(n2)

最新更新