Som*_*luk 4 relationship neo4j cypher
我有 2 个节点,可以说 2 种类型“学生”和“班级”
Student have {id, name}.
Class have {id, name}.
Run Code Online (Sandbox Code Playgroud)
学生可以与班级节点有可选的“出席”关系。
(s:Student)-[r:ATTENDS]->(c:Class).
[r:ATTENDS] - Optional relationship. (present or may not present)
Run Code Online (Sandbox Code Playgroud)
我想要学生记录,因为它都是财产。如果存在关系,则 class_name 将与当前的“Class”节点匹配,否则 class_name 将为 null。
{student_id,student_name,class_name}
Run Code Online (Sandbox Code Playgroud)
我尝试通过密码查询,但没有得到结果。请帮忙。
OPTIONAL MATCH (s:Student)-[:ATTENDS]->(c:Class) WHERE s.id =1
RETURN s.id AS student_id , s.name as student_name, c.name as class_name
Run Code Online (Sandbox Code Playgroud)
通过此查询,如果关系存在则所有值,如果不存在关系则所有值均为空。
如果您不关心关系的类型,您可以运行
MATCH (student:Student {id :1})
OPTIONAL MATCH (s)-->(class:Class)
RETURN student.id, student.name, class.name
Run Code Online (Sandbox Code Playgroud)
并且您无需设置别名。
| 归档时间: |
|
| 查看次数: |
3385 次 |
| 最近记录: |