unwind是cypher提供的一种列表遍历工具,类似于python中的for循环,unwind结合case等语法可以写出许多复杂的查询,尤其是对于路径查询的处理。foreach也是cypher提供的一个列表遍历工具,但是主要用来做增删改。对于这两个的用法,建议结合列表推导一起学习。

一、UNWIND

官方文档对于UNWIND的说明:With UNWIND, you can transform any list back into individual rows. 注意两点,list和individual rows,说明输入只要是列表就行,输出是每一个元素。用法如下:

可以看到,依次返回了每一个元素。

1、列表去重

WITH [1, 1, 2, 2] AS coll
UNWIND coll AS x
WITH DISTINCT x
RETURN x

2、遍历多个列表

WITH [1, 2] AS a,[3, 4] AS b
UNWIND (a + b) AS x
RETURN x

3、unwind嵌套

WITH [[1, 2],[3, 4], 5] AS nested
UNWIND nested AS x
UNWIND x AS y
RETURN y

4、空列表

UNWIND [] AS x
RETURN x

不返回任何东西,注意不是返回null。

5、路径遍历

match p=(n:Person{name:"p1"})-[*1..5]-(m)
unwind nodes(p) as x
return x

二、FOREACH

foreach是cypher提供的列表更新工具,官方文档说明:The FOREACH clause is used to update data within a list, whether components of a path, or result of aggregation. 注意两点,update和list。在foreach中,可以执行CREATECREATE UNIQUEMERGEDELETE,等更新语法,还可做foreach嵌套。

1、设置路径节点属性

MATCH p =(begin)-[*]->(END )
WHERE begin.name = 'A' AND END .name = 'D'
FOREACH (n IN nodes(p)| SET n.marked = TRUE )

Neo4j笔记(二)Cypher(6)UNWIND和FOREACH相关推荐

  1. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 原文: StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 Connec ...

  2. [MyBatis学习笔记] 二、Mybatis基本操作及相关标签介绍

    [MyBatis学习笔记] 二.Mybatis基本操作及相关标签介绍 一.Mybatis简介 二.简单的CRUD操作 1.构建SqlSessionFactory (1)编辑mybatis-config ...

  3. uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善

    uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善 uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善 cart.vue <template><view> ...

  4. SpringCloud 2020笔记二

    SpringCloud 2020笔记二 Spring Cloud 2020 笔记一 五.GateWay Spring生态系统之上建立的 API 网关服务 基于Spring FrameWork 5.Pr ...

  5. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  6. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  7. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  8. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  9. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  10. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

最新文章

  1. Eclipse导入项目常见问题----服务器版本问题02
  2. Jquery获取select标签的值、文本方式
  3. springboot+springsecurity+mybatis plus注解实现对方法的权限处理
  4. 数据结构----快速排序
  5. python句柄无效_subprocess.Popen 运行windows命令出现“句柄无效”报错的解决方法
  6. webstorm护眼绿柔主题分享(JetBrains都可用)
  7. 常用设计模式——创建型
  8. java子线程切换到主线程_Android子线程切换到UI线程方法总结
  9. MIKE与SMS网格的区别——个人感受
  10. IIC协议简介—学习笔记
  11. 单播、组播(目标广播、多播)、广播、泛洪、洪泛介绍与比较
  12. ul阻燃标准有几个等级_塑料制品中的UL 阻燃等级防火等级划分标准
  13. 一个不用背单词的高效英文学习法
  14. AlphaPose配置最新教程
  15. python-shutil对文件的移动,重命名,和删除,压缩
  16. PS 如何制作 圆角矩形 图片
  17. 使用 logrotate 配置 supervisor 进行日志管理按天备份
  18. C语言 计算斐波那契数列
  19. 99条为人处事经典法则剩下的一条由你自己来感悟
  20. 电脑上不去网?一行命令解决

热门文章

  1. 木木的常用软件点评(1)------系统必备软件篇
  2. daad转换器实验数据_DAAD留德日记作者:20分钟我拿到了德企总部的实习offer
  3. open函数返回-1_python高手养成记05:最详细的python函数教程
  4. hystrix threadpool coresize_SpringCloud 基础教程(八)-Hystrix熔断器(上)
  5. 淘宝和天猫,到底哪个靠谱!你上过天猫的当吗?
  6. 为支持亿级用户,短视频应用应该如何打造技术架构?
  7. js兼容IE下载图片在本地
  8. linux主机名(静态主机名、临时主机名)
  9. 战略制定4大关键要点
  10. java优化for循环