如何使用 neo4jclient 运行 异步密码查询
How to run cypher query asynchronously with neo4jclient
我正在探索用于大规模优化应用程序的 neo4j。基本上,我已经将位置图上传到 neo4j DB。用例是找到两个节点之间的最短路径。我可以使用 neo4jclient 来做到这一点,但是,我必须为每个请求找到几个节点之间的最短路径,并且我希望使用任务并行库(c#,.net)将密码查询发送到 neo4j 以获取不同的位置对"in-parallel"然后把所有的距离加起来。我在 Neo4jClient 的 GraphClient 接口中没有看到 "async" 方法。有没有人在 .net 中实现过这种并行密码查询,或者期望这种与密码的并行性是不合理的?
async
方法是Execution
要点的一部分。因此,对于您要 returning 值的查询,您以以下结尾:
/**/.ResultsAsync
对于没有预期 return 的查询:
/**/.ExecuteWithoutResultsAsync()
而不是
await query.ExecuteWithoutResultsAsync()
query.ExecuteWithoutResults();
你可以使用
Task.Run(() => query.ExecuteWithoutResultsAsync());
Task.Run(() => query.ExecuteWithoutResults());
因为在这种情况下,上下文相同或不同并不重要。 neo4j 所做的只是 运行 查询。
我正在探索用于大规模优化应用程序的 neo4j。基本上,我已经将位置图上传到 neo4j DB。用例是找到两个节点之间的最短路径。我可以使用 neo4jclient 来做到这一点,但是,我必须为每个请求找到几个节点之间的最短路径,并且我希望使用任务并行库(c#,.net)将密码查询发送到 neo4j 以获取不同的位置对"in-parallel"然后把所有的距离加起来。我在 Neo4jClient 的 GraphClient 接口中没有看到 "async" 方法。有没有人在 .net 中实现过这种并行密码查询,或者期望这种与密码的并行性是不合理的?
async
方法是Execution
要点的一部分。因此,对于您要 returning 值的查询,您以以下结尾:
/**/.ResultsAsync
对于没有预期 return 的查询:
/**/.ExecuteWithoutResultsAsync()
而不是
await query.ExecuteWithoutResultsAsync()
query.ExecuteWithoutResults();
你可以使用
Task.Run(() => query.ExecuteWithoutResultsAsync());
Task.Run(() => query.ExecuteWithoutResults());
因为在这种情况下,上下文相同或不同并不重要。 neo4j 所做的只是 运行 查询。