在neo4j中创建节点之间的关系

时间:2016-06-24 07:00:58

标签: neo4j

在Neo4j中,我想在两个节点都与公共节点相关的节点之间建立关系。

例如,我有三个节点,其中有2个学生节点和一个教师节点。我已经和学生和老师有关系。现在我想在学生与学生之间建立第三种关系,其中两个学生都已经与同一位老师有关。 enter image description here

在上面的图像中,T1和T2是教师节点。 S1,S2,S3和S4是学生节点。已经创建了蓝色的关系。现在我想创建以黄色显示的关系。

请帮忙。在此先感谢。

1 个答案:

答案 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)如果在另一方:

您不需要在学生之间创建其他关系,因为他们已经受到普通教师的约束。