Я использую Java-драйвер для подключения к базе данных Neo4j.Я написал ниже код для запроса и получения результата.
StatementResult response = session.run("MATCH (a:File {id:'" + file + "'}) RETURN a.pagerank");
while(response.hasNext())
sumPageRank += response.next().get("a.pagerank").asDouble();
Но это работает слишком медленно.После профилирования я вижу, что первый оператор работает нормально, но метод hasNext()
делает его медленным вопреки моим ожиданиям.Потому что, похоже, получение ответа происходит быстро, а анализ - медленно.Затем я попробовал метод list ():
StatementResult response = session.run("MATCH (a:File {id:'" + file + "'}) RETURN a.pagerank");
List<Record> records = response.list();
for(Record r : records)
sumPageRank += r.get("a.pagerank").asDouble();
Это тоже медленно.Что делает медленным это метод list()
.Итак, я ищу быстрый способ получить ответ на запрос cypher
.