Я хотел бы уменьшить список в строку, чтобы придерживаться определенного выходного формата, который требует наличия канала ('|') между элементами.Я делаю это следующим образом:
WITH ["three", "two", "one"] AS a RETURN reduce(acc=head(a), s in tail(a) | acc + "|" + s)
Моя проблема возникает из-за того, что массив имеет неправильный порядок: вы видите, что он «считает» нисходящий, а я хотел бы иметьпо возрастанию (в моей производственной среде массив, конечно, является промежуточным результатом запроса графа).
Поэтому я подумал, что просто сделаю
WITH ["three", "two", "one"] AS a RETURN reduce(acc=head(a), s in REVERSE(tail(a)) | acc + "|" + s)
К сожалению, reverse
, кажется, возвращает коллекцию некоторого универсального типа (any
), который не принимается оператором конкатенации строк:
Type mismatch: expected Float, Integer, String or List<String> but was Any (line 1, column 98 (offset: 97))
"WITH ["three", "two", "one"] AS a RETURN reduce(acc=head(a), s in reverse(tail(a)) | acc + "|" + s)"
^
Таким образом, я хотел бы преобразовать 's' встрока через toString
.Эта функция, однако, будет принимать только целые, плавающие или логические значения, а не any
.
Что я могу сделать?Я бы также принял решение без конвертации.Я просто хочу иметь возможность свести перевернутые коллекции строк в одну строку.
Спасибо!