apoc.case
Procedure
apoc.case(conditionals LIST<ANY>, elseQuery STRING, params MAP)
- for each pair of conditional and read-only queries in the given LIST<ANY>
, this procedure will run the first query for which the conditional is evaluated to true.
If none of the conditionals are true, the ELSE
query will run instead.
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Signature
apoc.case(conditionals :: LIST<ANY>, elseQuery = :: STRING, params = {} :: MAP) :: (value :: MAP)
Usage examples
CALL apoc.case([
false, 'RETURN "firstFalse" as b',
false, 'RETURN "secondFalse" as b',
true, 'RETURN "firstTrue" as b'
]);
value |
---|
{b: "firstTrue"} |
CALL apoc.case([
false, 'RETURN "firstFalse" as b',
false, 'RETURN "secondFalse" as b',
false, 'RETURN "thirdFalse" as b'
],
'RETURN "elseBranch" as b'
);
value |
---|
{b: "elseBranch"} |