Есть ли способ повторить запрос Cypher ровно N раз? Либо в веб-интерфейсе, либо в консоли.
Существуют процедуры APOC для выполнения запроса до тех пор, пока он не вернет ноль. Но я не нашел ничего, чтобы запускать запрос несколько раз.
Есть ли способ повторить запрос Cypher ровно N раз? Либо в веб-интерфейсе, либо в консоли.
Существуют процедуры APOC для выполнения запроса до тех пор, пока он не вернет ноль. Но я не нашел ничего, чтобы запускать запрос несколько раз.
Вы можете сделать это с помощью процедуры APOC apoc.periodic.iterate
:
Документы о apoc.periodic.iterate
говорят:
С
apoc.periodic.iterate
вы предоставляете 2 оператора, первый внешний оператор предоставляет поток значений для обработки. Второй, внутренний оператор обрабатывает по одному элементу за раз (...)
В приведенном ниже примере первый оператор возвращает 10 элементов. Таким образом, второй оператор будет выполнен 10 раз, создав 10 :Person
узлов.
CALL apoc.periodic.iterate(
"WITH RANGE(0,9) AS list UNWIND list as element RETURN element",
"CREATE(:Person)", {}
)
Если вы не хотите задействовать APOC в настоящее время, вы можете сделать следующее:
UNWIND range(0,500) as iterations
CREATE(:Person);