3

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

我已经创建了数据集,它的 UI 管理数据集 > 添加新数据集。IE。我没有使用任何 ttl 配置文件对其进行配置。

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

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

但是对于简单且花费更少时间的查询,它会给出结果。

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

我尝试执行它 run/templates/config-tdb 文件但没有任何成功。

请帮助我了解以下内容:

  1. 这个错误是因为查询超时还是其他原因?

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

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

提前致谢。

4

2 回答 2

1

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

问题在于,对于 Fuseki 2.0,“活动”配置可能来自 3 个不同的地方:

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

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

作为一种解决方法,很高兴知道使用标题“Timeout:”或参数 &timeout= 可以实现每个查询的超时。

于 2016-02-04T13:52:29.427 回答
1

增加超时的一种方法是更改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

于 2021-03-11T17:18:30.237 回答