apoc.do.when
Procedure APOC Core
apoc.do.when(condition, ifQuery, elseQuery:'', params:{}) yield value - based on the conditional, executes writing ifQuery or elseQuery with the given parameters
Signature
apoc.do.when(condition :: BOOLEAN?, ifQuery :: STRING?, elseQuery = :: STRING?, params = {} :: MAP?) :: (value :: MAP?)
Input parameters
Name | Type | Default |
---|---|---|
condition |
BOOLEAN? |
null |
ifQuery |
STRING? |
null |
elseQuery |
STRING? |
|
params |
MAP? |
{} |
Usage Examples
The following will create a node with a name
property of A
, as per the ifQuery, because the predicate is true:
CALL apoc.do.when(true,
'CREATE (a:Node{name:"A"}) RETURN a AS node',
'CREATE (b:Node{name:"B"}) RETURN b AS node',
{}
)
YIELD value
RETURN value.node AS node;
node |
---|
(:Node {name: "A"}) |
The following will create a node with a name
property of B
, as per the elseQuery, because the predicate is false:
CALL apoc.do.when(false,
'CREATE (a:Node{name:"A"}) RETURN a AS node',
'CREATE (b:Node{name:"B"}) RETURN b AS node',
{}
)
YIELD value
RETURN value.node AS node;
node |
---|
(:Node {name: "B"}) |