В Neo4j нет способа передать результаты шифра, который вернулся непосредственно в начало другого запроса, но есть несколько вещей, которые вы можете сделать.
Повторите предыдущий запрос, заменив RETURN на WITH
Итак, в вашем примере запустите
MATCH (e)<-[r]->(a)
WHERE id(e) IN [9336,9306,9352,5215,9354]
RETURN e,r,a
с последующим
MATCH (e)<-[r]->(a)
WHERE id(e) IN [9336,9306,9352,5215,9354]
WITH e,r,a
CALL algo.pageRank.stream('', '', {iterations:20, dampingFactor:0.85, concurrency:4}) YIELD nodeId, score
RETURN e,r,a, nodeId, score
Это имеет побочный эффект, однако, если результаты предыдущего запроса изменятся (поскольку узлы, где были добавлены / удалены, результаты будут обновлены, чтобы отразить более новые данные. (Может быть хорошим или плохим в зависимости от вашей перспективы)
Сопоставить результаты последнего запроса для начала следующего запроса
Я бы не рекомендовал это. Это будет болезненно реализовать, но это возможно.