我正在尝试在neo4j中查询以下数据模型。
Readable-[:readBy]-Student
|
[:owns]
|
Readable-[:readBy]-Student
|
[:owns] -----------------------------------------
| |
Readable-[:readBy]-Student Readable-[:readBy]-Student
|
[:owns]
|
Readable-[:readBy]-Student
查询:
将所有学生与地图中的第一个Readable
保持距离。
MATCH (:Readable{name:'book'})-[:owns*0..3]-(r:Readable)
MATCH (r)-[:readBy]-(s:Student)
RETURN s
该查询似乎正确地遍历树并在每个距离找到每个学生,但我似乎无法记录每个学生最后返回的距离。
答案 0 :(得分:1)
我认为你正在寻找.c
功能。
LENGTH
编辑:按长度(键)和学生集合(值)获取地图:
MATCH p = (:Readable{name:'book'})-[:owns*0..3]-(:Readable)-[:readBy]-(s:Student)
RETURN s.name, LENGTH(p);