是否有线程SPARQL实现?

时间:2013-02-07 01:09:26

标签: rdf sparql

我们正在为每次迭代使用一组SPARQL查询构建迭代算法。这个算法效果很好,但我们遇到了CPU利用率问题。像Fuseki这样的SPARQL引擎并不是真正的多线程;它们允许在多个线程中执行多个同时查询,但每个单独的查询都是单线程的。通过查看一些Fuseki笔记,我得到的印象是Fuseki不是线程安全的,所以这不是一个小问题。

由于我们的算法在SPARQL查询方面本质上是串行的,并且我们一次只对一次运行感兴趣,是否有一些SPARQL引擎可以利用32个内核?

2 个答案:

答案 0 :(得分:1)

是的,BigData是一个开源/商业的例子。

我自己的项目dotNetRDF也大量使用多线程,在我的情况下,我将.Net PLINQ功能用于并行连接,产品,FILTERBIND操作,尽管它们不是'总是能够接受这个。

在Fuseki的注释中(免责声明我也参与了Apache Jena项目),因为AndyS指出Fuseki本身是线程安全的。问题是查询引擎(ARQ)不是为了并行操作而设计的,过去已经讨论了一些关于这个问题的想法,但IMO会涉及相当重要的重写。

答案 1 :(得分:1)

由YarcData开发和销售的Urika引擎是高度多线程的(多达几千个并发线程)并且运行在非常大的内存中。可能不适合业余爱好者的预算。 :)