Neo4j 如何返回与匹配的节点相关的节点属性?
我试图对以下问题提出质疑: 列出学生及其导师的姓名 我正在使用以下查询:Neo4j 如何返回与匹配的节点相关的节点属性?,neo4j,Neo4j,我试图对以下问题提出质疑: 列出学生及其导师的姓名 我正在使用以下查询: MATCH (mName:Faculty)-[:Mentors]->(sName:Student) RETURN sName,mName 但当我运行它时,我得到了导师的工资和学生的分类。我想知道每个人的名字。我试过这个: MATCH (mName:Faculty)-[:Mentors]->(sName:Student)<-[:S2P]-(person) RETURN person.Name,mName
MATCH (mName:Faculty)-[:Mentors]->(sName:Student) RETURN sName,mName
但当我运行它时,我得到了导师的工资和学生的分类。我想知道每个人的名字。我试过这个:
MATCH (mName:Faculty)-[:Mentors]->(sName:Student)<-[:S2P]-(person) RETURN person.Name,mName
MATCH(mName:Faculty)-[:Mentors]->(sName:Student)您正在将个人信息划分为自己的节点,我认为这不是在图形数据库中建模的最佳方式。我建议将这些数据合并到:Student和:Faculty节点中,不过您可以在这两个节点上添加:Person标签,以便在其他查询中将它们视为:Person
对于您当前的模型,此查询应适用于:
MATCH (facultyPerson)<-[:F2P]-(:Faculty)-[:Mentors]->(:Student)-[:S2P]->(studentPerson)
RETURN facultyPerson.Name as faculty, studentPerson.Name as student
另外,我建议属性名使用驼峰大小写。非常感谢。第二个正是我要找的!
MATCH (facultyPerson)<-[:F2P]-(:Faculty)-[:Mentors]->(:Student)-[:S2P]->(studentPerson)
RETURN facultyPerson.Name as faculty, collect(studentPerson.Name) as students
MATCH (fac:Faculty)-[:Mentors]->(student:Student)
RETURN fac.Name as faculty, collect(student.Name) as students