Som*_*luk 6 relationship neo4j cypher neo4jphp
我有2个节点类型,可以说"学生"和"老师"类型
Student have {id, name}.
Teacher have {id, name}.
Run Code Online (Sandbox Code Playgroud)
学生可以与班级节点建立可选关系,作为"教学".
(t:Teacher)-[r:TEACHES]->(c:Student).
[r:TEACHES] - Optional relationship. (present or may not present)
Run Code Online (Sandbox Code Playgroud)
我想找到没有老师的"学生"节点.即没有任何传入关系"教学"
请帮忙.
Eve*_*man 10
我想你正在寻找这种模式.
MATCH (s:Student)
WHERE NOT (s)<-[:TEACHES]-(:Teacher)
RETURN s
Run Code Online (Sandbox Code Playgroud)
这是一个简单的数据设置,以及解决问题所需的底部查询。本质上,您希望查询不存在关系的情况。这里的语法适用于 neo4j 2.0,因此旧版本的答案会略有不同。
neo4j-sh (?)$ create (t:Teacher {name:"Bob"})-[r:TEACHES]->(s:Student {name:"Mary"});
+-------------------+
| No data returned. |
+-------------------+
Nodes created: 2
Relationships created: 1
Properties set: 2
Labels added: 2
19 ms
neo4j-sh (?)$ create (t:Teacher {name:"Mark"});
+-------------------+
| No data returned. |
+-------------------+
Nodes created: 1
Properties set: 1
Labels added: 1
5 ms
neo4j-sh (?)$ MATCH (s:Student) WHERE NOT (s)<-[:TEACHES]-(:Teacher) RETURN s
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5896 次 |
最近记录: |