为什么我的SPARQL端点太慢了?

时间:2013-10-30 16:01:44

标签: performance rdf sparql dbpedia

我使用D2R服务器对我的数据库进行Rdfize,该数据库大约有130万条记录。在转换过程中一切都很顺利,但SPARQL终点的速度非常慢,大部分时间最终都会出现500个未知错误。我正在寻找可以加快查询执行过程的任何解决方案。我有一个例子,请查看dbpedia snorql,当我查询它时会在几秒钟内给出结果。但是当我尝试在我的端点中运行相同类型的查询时,它会产生很晚的结果,并且大部分时间都没有错误(Java堆类型或500未知)。 DBpedia snorql http://dbpedia.org/snorql。 试试这个查询

  

SELECT count(*)WHERE {?s?p?o}

我的snorql http://cbakerlab.unbsj.ca:8080/liapibackup/snorql/

任何建议/建议都将受到高度赞赏。 P.s我的服务器有大约42 GB RAM,所以内存应该不是问题。 感谢

1 个答案:

答案 0 :(得分:2)

原因是您使用的是D2R。如果执行与每个可能的三元组匹配的查询,则表示必须解析所有映射。这会导致很多SQL(或您正在使用的任何关系数据库)查询。

有两种可能的解决方案:

仅执行特定查询并使用限制:

SELECT ?s ?p ?o WHERE {
  ?s ?p ?o
} LIMIT 10

SELECT ?s WHERE {
  ?s a uysie:DocumentFigures
} LIMIT 100

或者使用d2r rdf-dump工具并将结果放入rdf存储

相关问题