Я запускаю процесс, действующий по возвращенному списку, подобному этому
MATCH p=(Item{name:'x'})-[r:RELATED_TO]->(w:item)
where r.relatedness > 0.25
[PERFORM CALCS AND UPDATE w]
Первоначальный MATCH
возвращает только около 100 узлов, но шаг выполнения вычислений - это операция n ^ 2 с достаточно большим n. Каждый шаг [PERFORM...]
может быть выполнен независимо. Все это может занять один день, чтобы бежать.
Я бы хотел разбить это так, чтобы оно фиксировалось после каждого [PERFORM... ]
шага. Таким образом, в случае сбоя, я могу начать с того места, где остановился.
На сервере SQL я мог бы сохранить результаты начального MATCH
в таблице и работать с ним, используя CURSOR
, отмечая завершенные строки по мере того, как я шел
Как я могу сделать что-то аналогичное в Neo4J?