Skip to Content
Cypher 手册表达式列表运算符

列表与数组运算符

NeuG 支持下表所示的类列表操作。这些操作适用于 LIST 类型值,且在注明的情况下也适用于定长 ARRAY 类型值。

运算符说明示例
IN若某元素存在于给定列表中,则返回 true1 IN [1, 2, 3]
[]按照从零开始的索引,从列表或定长数组中提取一个元素[10, 20, 30][0]
UNWIND将列表或定长数组展开为每行一个元素MATCH (s:Sensor) UNWIND s.readings AS x RETURN x

注意:UNWIND 在展开列表或数组时会保留 NULL 值。若后续使用 collect() 函数,则 NULL 值将被过滤掉。

数组值

ARRAY 是一种固定大小的类列表类型,使用 T[N] 声明。它可以与 UNWIND 结合使用:

CREATE NODE TABLE Sensor(id INT64, readings INT32[3], PRIMARY KEY(id)); CREATE (s:Sensor {id: 1, readings: [3, 1, 2]}); MATCH (s:Sensor) UNWIND s.readings AS reading RETURN reading ORDER BY reading;

结果中每个数组元素占一行:123。固定大小的 ARRAY 属性还支持直接的零基索引,例如 s.readings[2]

Last updated on