|| apoc.do.case - APOC 核心文档 - Neo4j 文档

apoc.do.case

详情

语法

apoc.do.case(conditionals [, elseQuery, params ]) :: (value)

描述

对于给定 LIST<ANY> 中的每对条件查询,此过程将运行第一个条件评估为 true 的查询。如果所有条件都不为 true,则将运行 ELSE 查询。

输入参数

名称

类型

描述

conditionals

LIST<ANY>

一个条件列表,其中每个条件都是一对:第一个元素是谓词,第二个是根据该谓词执行的 Cypher 查询。

elseQuery

STRING

一个 Cypher 查询,用于在所有条件评估为 false 时执行。默认值为:``。

params

MAP

一个参数映射,用于执行的 Cypher 查询中。默认值为:{}

返回参数

名称

类型

描述

value

MAP

从评估的 Cypher 查询返回的结果。

使用示例

以下将创建一个 name 属性为 B 的节点,因为它是第一个评估为 true 的条件

CALL apoc.do.case([
  false,
  'CREATE (a:Node{name:"A"}) RETURN a AS node',
  true,
  'CREATE (b:Node{name:"B"}) RETURN b AS node'
  ],
  'CREATE (c:Node{name:"C"}) RETURN c AS node',{})
YIELD value
RETURN value.node AS node;
结果
node

(:Node {name: "B"})

以下将创建一个 name 属性为 C 的节点,根据 elseQuery,因为所有条件都评估为 false

CALL apoc.do.case([
  false,
  'CREATE (a:Node{name:"A"}) RETURN a AS node',
  false,
  'CREATE (b:Node{name:"B"}) RETURN b AS node'
  ],
  'CREATE (c:Node{name:"C"}) RETURN c AS node',{})
YIELD value
RETURN value.node AS node;
结果
node

(:Node {name: "C"})

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