neo4j with用法
时间: 2023-11-02 20:56:35 浏览: 84
在Neo4j中,WITH语句可以在将结果传递到后续查询之前对结果进行操作。一个常见的用法是限制传递给其他MATCH语句的结果数。通过结合ORDER BY和LIMIT,可以获取排在前面的特定数量的结果。例如,使用WITH语句可以对查询结果进行排序和限制并返回一个集合。下面是一个示例查询:
```
MATCH (n)
WITH n
ORDER BY n.name DESC
LIMIT 3
RETURN collect(n.name)
```
这个查询将返回按照姓名降序排序的前三个节点的名称集合。返回值可能是["Emil", "David", "Ceasar"]。
另外,WITH语句还可以在路径搜索中使用。例如,可以使用WITH语句获取与特定节点具有外向关系的其他节点,并按照名称降序排序,然后限制返回结果的数量。下面是一个示例查询:
```
MATCH (n { name: 'Anders' })--(m)
WITH m
ORDER BY m.name DESC
LIMIT 1
MATCH (m)--(o)
RETURN o.name
```
这个查询将返回与名为'Anders'的节点具有关系的节点中,按名称降序排序的第一个节点的名称。返回值可能是"Bossman"。
需要注意的是,在FOREACH语句中,可以执行任何更新命令,包括CREATE、CREATE UNIQUE、DELETE和FOREACH。如果想要对列表中的每个元素执行额外的MATCH命令,更适合使用UNWIND命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [neo4j--Cypher语法练习(WITH、 FOREACH、Aggregation、UNWIND、UNION、CALL)](https://blog.csdn.net/qq_37503890/article/details/101565515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [neo4j语法-with](https://blog.csdn.net/qq_17616169/article/details/115390500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文