У меня сложный запрос, который я пытаюсь сделать с операторами OPTIONAL MATCH
. Это выглядит следующим образом:Neo4j Cypher - объединить столбцы и получить отличные значения от всех
MATCH (p:Person {name:'Victoria'})
OPTIONAL MATCH (p)-[:MANAGES]->(:Office)<-[MERGES_INTO*0..]-(:Office)<-[:WORKS_WITH]-(target1)
OPTIONAL MATCH (p)-[:SUPPORTS]->(:Office)<-[MERGES_INTO*0..]-(:Office)<-[:WORKS_WITH]-(target2)
OPTIONAL MATCH (p)-[:ASSISTS]->(:Person)-[*0..1]->(:Group)<--(target3)
OPTIONAL MATCH (p)-->(:Group)<--(target4)
RETURN DISTINCT target1,target2,target3,target4
То, что я хочу сделать, это получить результаты, как если бы они были одной колонке под названием target
вместо того, чтобы target1
, target2
, target3
и target4
обратно в виде отдельных столбцов.
Есть ли способ собирать/разматывать четыре потенциальных целевых столбца, чтобы возвращать их в виде набора результатов для одного столбца?
Я знаю, что могу получить желаемый результат с помощью UNION
четырех отдельных запросов, которые возвращают значение, называемое target, но мне было интересно, есть ли лучший способ.
Спасибо.
Это именно тот пример, который мне нужен, чтобы получить дескриптор 'collect' и' with'. Огромное спасибо. –