在Neo4j中,我想在两个节点都与公共节点相关的节点之间建立关系。
例如,我有三个节点,其中有2个学生节点和一个教师节点。我已经和学生和老师有关系。现在我想在学生与学生之间建立第三种关系,其中两个学生都已经与同一位老师有关。
在上面的图像中,T1和T2是教师节点。 S1,S2,S3和S4是学生节点。已经创建了蓝色的关系。现在我想创建以黄色显示的关系。
请帮忙。在此先感谢。
答案 0 :(得分:0)
1)如果简单:
// Choose a pair of students with common teacher
MATCH p = (S1:Student)-[:has_teacher]->(T:Teacher)<-[:has_teacher]-(S2:Student)
// Without [:common_teacher] relationships
WHERE NOT (S1)-[:common_teacher]-(S2)
// And create relationships
CREATE (S1)-[r1:common_teacher]->(S2)
CREATE (S2)-[r2:common_teacher]->(S1)
2)如果在另一方:
您不需要在学生之间创建其他关系,因为他们已经受到普通教师的约束。