|| apoc.coll.elements - APOC核心文档 - Neo4j 文档

apoc.coll.elements

详情

语法

apoc.coll.elements(coll [, limit, offset ]) :: (_1-_10, _1s-_10s, _1i-_10i, _1f-_10f, _1b-_10b, _1l-_10l, _1m-_10m, _1n-_10n, _1r-_10r, _1p-_10p, elements)

描述

LIST<ANY> 解构为指示其特定类型的标识符。

输入参数

名称

类型

描述

coll

LIST<ANY>

要解构的值列表。

limit

INTEGER

从给定列表中解构的最大元素数量。默认值:-1

offset

INTEGER

开始解构的偏移量。默认值:0

返回参数

名称

类型

描述

_1-_10

ANY

从第一个到第十个项的值。

_1s-_10s

STRING

从第一个到第十个项的值,如果它是字符串值。

_1i-_10i

INTEGER

从第一个到第十个项的值,如果它是整数值。

_1f-_10f

FLOAT

从第一个到第十个项的值,如果它是浮点值。

_1b-_10b

BOOLEAN

从第一个到第十个项的值,如果它是布尔值。

_1l-_10l

LIST<ANY>

从第一个到第十个项的值,如果它是列表值。

_1m-_10m

MAP

从第一个到第十个项的值,如果它是映射值。

_1n-_10n

NODE

从第一个到第十个项的值,如果它是节点值。

_1r-_10r

RELATIONSHIP

从第一个到第十个项的值,如果它是关系值。

_1p-_10p

PATH

从第一个到第十个项的值,如果它是路径值。

elements

INTEGER

解构元素的数量。

使用示例

以下示例演示了如何使用 APOC 和 Cypher 将包含三个值的列表解构为标识符并确定它们的类型。

apoc.coll.elements
CALL apoc.coll.elements([9, true, "Neo4j"])
YIELD _1, _1s, _1i, _1b, _1l, _1m, _1n, _1r, _1p,
      _2, _2s, _2i, _2b, _2l, _2m, _2n, _2r, _2p,
      _3, _3s, _3i, _3b, _3l, _3m, _3n, _3r, _3p
RETURN _1, _1s, _1i, _1b, _1l, _1m, _1n, _1r, _1p,
       _2, _2s, _2i, _2b, _2l, _2m, _2n, _2r, _2p,
       _3, _3s, _3i, _3b, _3l, _3m, _3n, _3r, _3p;
使用 Cypher 的 CASE 和类型谓词表达式
UNWIND [9, true, "Neo4j"] AS value
RETURN
value,
CASE WHEN value IS :: STRING THEN value ELSE null END AS _s,
CASE WHEN value IS :: INTEGER THEN value ELSE null END AS _i,
CASE WHEN value IS :: BOOLEAN THEN value ELSE null END AS _b,
CASE WHEN value IS :: ANY LIST THEN value ELSE null END AS _l,
CASE WHEN value IS :: MAP THEN value ELSE null END AS _m,
CASE WHEN value IS :: NODE THEN value ELSE null END AS _n,
CASE WHEN value IS :: RELATIONSHIP THEN value ELSE null END AS _r,
CASE WHEN value IS :: PATH THEN value ELSE null END AS _p

下面的输出在 apoc.coll.elements 中会显示在一个表格中,但为了可读性,已将其格式化为多个表格。

结果
_1 _1s _1i _1b _1l _1m _1n _1r _1p

9

NULL

9

NULL

NULL

NULL

NULL

NULL

NULL

结果
_2 _2s _2i _2b _2l _2m _2n _2r _2p

TRUE

NULL

NULL

TRUE

NULL

NULL

NULL

NULL

NULL

结果
_3 _3s _3i _3b _3l _3m _3n _3r _3p

"Neo4j"

"Neo4j"

NULL

NULL

NULL

NULL

NULL

NULL

NULL

© . This site is unofficial and not affiliated with Neo4j, Inc.