Union of queries depending on variable in list
+3
−0
I have a big Cypher query that is depending on a variable.
Example:
With REGION = 'Canada'
query
I want to execute this query several times based on different values on a list and return the UNION.
Something like:
regions = ['Canada','Europe']
query_with_Canada UNION query_with_Europe
Is there any way to achieve this in Cypher?
1 answer
+3
−0
Yes, you can achieve this using UNWIND
and CALL
, in the following pattern:
UNWIND ['Canada', 'Europe'] AS region
CALL {
WITH region
query
}
RETURN *
You can replace RETURN *
with any other end-of-query clause, of course, if you want to order or limit your results for example. But don't omit the WITH region
inside the CALL
subquery; without that explicit import, you won't be able to refer to region
(or any outer query variables) inside the subquery.
0 comments