如何对多个RDF文件执行SPARQL查询?

如何对多个RDF文件执行SPARQL查询?,rdf,jena,semantic-web,sesame,Rdf,Jena,Semantic Web,Sesame,我有44个.ttl文件,总内存117 GB。我对实时执行所有.ttl文件的SPARQL查询的有效方法感到好奇。我尝试将它们结合起来,但是在apachejena以及组合中加载模型需要很多时间。那么,最有效的方法应该是什么呢 将它们加载一次到三重存储中,如Jena的TDB。您可以根据需要将其放入一个大图或单独命名的图中 这节省了执行查询时的所有数据解析时间。我没有使用Jena;但如果我用芝麻,我会这么做 如果要成为企业应用程序,请避免依赖DBpedia端点。公开可用的SPARQL端点有时会停止维护。

我有44个
.ttl
文件,总内存117 GB。我对实时执行所有
.ttl
文件的SPARQL查询的有效方法感到好奇。我尝试将它们结合起来,但是在
apachejena
以及组合中加载模型需要很多时间。那么,最有效的方法应该是什么呢

将它们加载一次到三重存储中,如Jena的TDB。您可以根据需要将其放入一个大图或单独命名的图中


这节省了执行查询时的所有数据解析时间。

我没有使用Jena;但如果我用芝麻,我会这么做

  • 如果要成为企业应用程序,请避免依赖DBpedia端点。公开可用的SPARQL端点有时会停止维护。发生这种情况时,您将无法执行查询
  • 您可以将.ttl文件加载到triplestore,也可以使用SPARQL 1.1 with SERVICE子句的INSERT或INSERT DATA功能直接从DBpedia将数据上载到triplestore
  • 如果可能,将所有数据存储在单个图形中。运行联邦查询的计算成本更高,而且由于数据集很大,这可能会有点问题
  • 要区分源,可以为每个数据集定义“上下文”(图形名称)。Sesame称之为上下文,Jena可能有类似的东西
  • 在查询时,尽量避免计算量大的查询(例如运行包含大量结果的查询,然后应用过滤器)。通常,尝试想象结果的图形模式是什么样子,并尝试在查询中复制它

  • 它们是DBpedia文件,应该使用DBpedia端点吗?哪个效率更高?