如何在fuseki 2.0.0中增加查询超时

时间:2015-03-30 11:05:48

标签: fuseki apache-jena

我正在运行Fuseki服务器版本 - 2.0.0

我用它的UI管理数据集创建了数据集>添加新数据集。即。我没有使用任何ttl配置文件配置它。

问题是当我运行一个复杂的查询时,它会花费更长的时间给我以下的响应 -

  ##  Query cancelled due to timeout during execution   ##
##  ****          Incomplete results           ****   ##

但是,为了简单而少花时间进行查询,它会给出结果。

我搜索了这个错误,我发现我需要增加查询超时。 但我真的无法找到我必须在哪个配置文件。

我尝试运行/ templates / config-tdb文件但没有成功。

请帮助我了解以下事项:

  1. 由于查询超时或其他原因导致此错误吗?

  2. 如果是查询超时,那么我实际上必须在哪个配置文件中编写此配置?

  3. 如果是因为某些其他原因那么可能是什么,以及如何解决它?

  4. 提前致谢。

2 个答案:

答案 0 :(得分:0)

在Fuseki中,配置文件位于RDF中。

问题是,使用Fuseki 2.0,"活跃"配置可以来自3个不同的地方:

  • 用于服务器范围配置的FUSEKI_BASE / config.ttl
  • FUSEKI_BASE / configuration / [datasetName] .ttl用于数据集特定配置
  • 包含TDB文件的FUSEKI_BASE /系统(RDF数据的数据库)

您的超时配置更可能是在FUSEKI_BASE /系统数据库中,编辑时不方便(我实际上没有办法做到这一点......)。 请注意,在Fuseki 2.0中,从UI(作为您的)创建的数据集的所有配置都存储在FUSEKI_BASE / system中,可能有一些默认值用于超时。 使用Fuseki 2.3,从UI创建的数据集配置将作为ttl文件存储在FUSEKI_BASE / configuration /中,使其易于编辑。

作为一种解决方法,很高兴知道标题可以实现每次查询超时"超时:"或参数& timeout =。

答案 1 :(得分:0)

增加超时的一种方法是更改​​ config.ttl 文件

@prefix :        <#> .
@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] rdf:type fuseki:Server ;
   ja:context [ ja:cxtName "arq:queryTimeout" ;  ja:cxtValue "30000" ] .

cxtValue 以毫秒为单位给出,因此这会将 fuseki 服务器设置为 30 秒的超时。根据您的需要,您可能需要或不需要上面定义的所有前缀。

然后你需要像这样启动服务器:

/jena-fuseki/fuseki-server -v --config=config.ttl