图数据库(八):Neo4j中Cypher语言with关键字

WITH 用于向后面的语句传递指定结果,并可以改变结果集中实体的形式和数量。注意,WITH 会影响查询结果集里的变量,WITH 语句外的变量不会传递到后续查询中

对结果进行筛选

# 聚合函数进行筛选, 这句话表达的是David连接过去的节点,它向外连接关系大于1的那个节点
match(David{name: 'David'}) --(otherPerson)-->()
with otherPerson, count(*) as cnt
where cnt > 1
return otherPerson.name

对结果进行排序

# //向后面的语句传递结果并改变了结果的形式
match(n)
with n as nperson
where nperson.name = 'David' or nperson.name = 'Bossman'
return collect(nperson.name)

限制搜索路径分支

# //向后面的语句传递结果并改变了结果的数量
MATCH (n { name: 'Anders' })--(m)
WITH m ORDER BY m.name DESC LIMIT 1
MATCH (m)--(o)
RETURN o.name

With关键字是连接多个查询的结果,即将上一个查询的结果用作下一个查询的开始。 

 

你可能感兴趣的:(数据库,neo4j,Cypher)