在 Neo4j 中创建双向关系
created two- directed relationships in neo4j
如果 user_1<-FOLLOWS-> user_2,我正在尝试创建一种定向关系。
当我使用以下密码时,它会创建那些复制为 user1-[FOLLOWS]->user2 的关系
和 user1<-[:FOLLOWS]-user2。
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 中不支持无向图。但是支持没有方向的模式匹配。即:你可以查询,
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)
如果 user_1<-FOLLOWS-> user_2,我正在尝试创建一种定向关系。 当我使用以下密码时,它会创建那些复制为 user1-[FOLLOWS]->user2 的关系 和 user1<-[:FOLLOWS]-user2。
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 中不支持无向图。但是支持没有方向的模式匹配。即:你可以查询,
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)