Cypher Query, объединяющий результаты, которые можно упорядочить как единое целое

У меня есть запрос Cypher, который объединяет два набора результатов, которые я хотел бы затем заказать как объединенный результат.

Пример того, что я пытаюсь сделать, находится здесь: http://console.neo4j.org/r/j2sotz

Что дает ошибку:

Cached(nf of type Collection) expected to be of type Map but it is of type Collection - maybe aggregation removed it?

Есть ли способ собрать несколько результатов в один результат, который можно разбивать на страницы, упорядочивать и т. д.?

Есть много сообщений об объединении результатов, но я не могу найти ни одного, позволяющего рассматривать их как карту.

Спасибо за любую помощь.


person Glenn Goodrich    schedule 07.03.2013    source источник


Ответы (1)


Вы можете собрать в один результат, как это:

Start n=node(1)match n-[r]->m 
with m.name? as outf, n 
match n<-[r]-m 
with m.name? as inf, outf 
return collect(outf) + collect(inf) as f 

Союзы описаны здесь: https://github.com/neo4j/neo4j/issues/125 (сейчас недоступен). Я не видел ничего о конкретной сортировке коллекции.

person Luanne    schedule 07.03.2013
comment
Да, я знаю, что могу это сделать, но я не могу заказать результат (в данном случае f) - person Glenn Goodrich; 07.03.2013
comment
Не могли бы вы предоставить отзыв о сортировке этой проблемы со ссылкой здесь? Это хороший вклад. - person Peter Neubauer; 08.03.2013
comment
Вы можете отсортировать их в 1.9.M05 с помощью with m.name? as inf, outf order by inf asc, outf desc return collect(outf) + collect(inf) as f - person Michael Hunger; 10.03.2013
comment
Майкл, это их объединит? Или то сортирует инфу, то аутф? - person Glenn Goodrich; 12.03.2013