with是将前一个的结果做为下一个的起始或条件来使用
过滤聚合结果
查询结果
MATCH (david { name: 'David' })--(otherPerson)-->()
WITH otherPerson, count(*) AS foaf
WHERE foaf > 1
RETURN otherPerson.name
查询将返回连接到至少有一个外向关系的‘David’的人的姓名。
返回值
otherPerson.name |
---|
“Anders” |
对查询进行排序和限制并返回集合
查询条件
MATCH (n)
WITH n
ORDER BY n.name DESC LIMIT 3
RETURN collect(n.name)
返回值
collect(n.name) |
---|
[“Emil”,“David”,“Ceasar”] |
路径搜索的极限分支
查询条件
MATCH (n { name: 'Anders' })--(m)
WITH m
ORDER BY m.name DESC LIMIT 1
MATCH (m)--(o)
RETURN o.name
返回值
o.name |
---|
“Bossman” |
“Anders” |