List comprehension 是 Cypher 的一种语法结构,它能够从已有列表中按照一定规则生成新的列表。
RETURN [x IN range(0,10) WHERE x % 2 = 0 | x^3 ] AS result
上述语句的意思是对列表先过滤,再映射,结果为
[0.0,8.0,64.0,216.0,512.0,1000.0]
同样,Pattern comprehension也是Cypher的语法结构,能够从模式匹配中生成新的列表。
以下图为例:
图里有基努里维斯参演的各种电影,我们想获得黑客帝国系列的上映年份,如何能够用最精简的Cypher语句查询呢?
MATCH (a:Person {name: 'Keanu Reeves'})
RETURN [(a)-->(b:Movie) WHERE b.title CONTAINS 'Matrix' | b.released] AS years
上述语句就能得到years如下:
[2021,2003,2003,1999]
这种 comprehension 语法在 python 脚本中也很常见,简洁且强大。
网友评论