Neo4j Работа со многими объектами в наборе результатов

Я возвращаю несколько сущностей в запросе Cypher, где некоторые являются единичными, а некоторые могут иметь много. Например, если бы я RETURN name, dob, address, name вернул бы один объект, dob вернет один объект, и addresses мог вернуть несколько объектов.

Как мне перебрать результирующий набор, чтобы получить правильные данные и собрать их в массив, который имеет смысл? Например:

$array = array(
name = 'name',
dob = 'd/o/b',
addresses = array(
array(
'myData'
),
array(
'myData'
)
)
)

Так далеко, когда я foreach($result as $row) строка содержит дубликаты для name а также dob для каждого отдельного address,

Это мой запрос Cypher:

MATCH  (creator:CreatingUser)-[:creator]-(event:Event), (occurrence:EventSpaceTimeOccurrence)-[:occurrence]-(event)
WHERE  creator.id = '1234'
RETURN event, creator, occurrence

0

Решение

Использовать distinct ключевое слово:

MATCH  (creator:CreatingUser)-[:creator]-(event:Event), (occurrence:EventSpaceTimeOccurrence)-[:occurrence]-(event)
WHERE  creator.id = '1234'
RETURN DISTINCT event, creator, occurrence
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]