Я изучаю neo4j для крупномасштабного приложения для оптимизации. По сути, я загрузил график местоположений в базу данных neo4j. Вариант использования — найти кратчайший путь между двумя узлами. Я могу сделать это с помощью neo4jclient, однако мне нужно найти кратчайшие пути между несколькими узлами для каждого запроса, и я хотел использовать параллельную библиотеку задач (c#, .net) для отправки шифровальных запросов в neo4j для разных пар местоположений. «параллельно», а затем сложите все расстояния. Я не вижу «асинхронного» метода в интерфейсе GraphClient в Neo4jClient. Кто-нибудь реализовывал такие параллельные шифровальные запросы в .net или просто неразумно ожидать такого параллелизма с шифрованием?
Как запустить шифрованный запрос асинхронно с neo4jclient
Ответы (2)
Метод async
является частью Execution
точек. Итак, для запроса, в котором вы возвращаете значения, вы заканчиваете:
/**/.ResultsAsync
для запроса без ожидаемого возврата:
/**/.ExecuteWithoutResultsAsync()
person
Charlotte Skardon
schedule
24.09.2015
Большое спасибо Крис!! Я попробую это и обновлю результаты.
- person Danish Garg; 24.09.2015
Вместо
await query.ExecuteWithoutResultsAsync()
query.ExecuteWithoutResults();
вы могли бы использовать
Task.Run(() => query.ExecuteWithoutResultsAsync());
Task.Run(() => query.ExecuteWithoutResults());
потому что в этом случае не имеет значения, тот же контекст или другой. Все, что делает neo4j, — это запускает запрос.
person
Darth Sonic
schedule
07.02.2020