Как увеличить время ожидания запроса в fuseki 2.0.0

Я использую версию сервера Fuseki - 2.0.0.

Я создал набор данных с его пользовательским интерфейсом для управления наборами данных › добавьте новый набор данных. т.е. я не настраивал его с помощью какого-либо файла конфигурации ttl.

Проблема в том, что когда я запускаю сложный запрос, который займет больше времени, он дает мне следующий ответ:

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

Но для простых и менее трудоемких запросов это дает результат.

Я искал эту ошибку, и все, что я мог найти, мне нужно увеличить время ожидания запроса. Но я серьезно не могу найти, в каком файле конфигурации мне нужно.

Я безуспешно пытался сделать это с помощью файла run/templates/config-tdb.

Пожалуйста, помогите мне понять следующие вещи:

  1. Эта ошибка из-за тайм-аута запроса или по какой-то другой причине?

  2. Если это время ожидания запроса, то в каком файле конфигурации мне действительно нужно записать эту конфигурацию?

  3. Если это из-за какой-то другой причины, то что это может быть, и как приступить к ее решению?

Заранее спасибо.


person Ravi Kumar    schedule 30.03.2015    source источник


Ответы (2)


В Fuseki файлы конфигурации находятся в формате RDF.

Проблема в том, что с Fuseki 2.0 «активная» конфигурация может быть из 3 разных мест:

  • FUSEKI_BASE/config.ttl для конфигураций на уровне сервера
  • FUSEKI_BASE/configuration/[datasetName].ttl для конкретных конфигураций набора данных.
  • FUSEKI_BASE/система, содержащая файлы TDB (база данных для данных RDF)

Более вероятно, что ваша конфигурация тайм-аута находится в базе данных FUSEKI_BASE/system, которую неудобно редактировать (на самом деле у меня нет способа сделать это...). Обратите внимание, что в Fuseki 2.0 все конфигурации для наборов данных, созданных из пользовательского интерфейса (как ваши), хранятся в FUSEKI_BASE/system с, вероятно, некоторым значением по умолчанию для тайм-аута. В Fuseki 2.3 конфигурации для наборов данных, созданных из пользовательского интерфейса, хранятся в виде файлов ttl в FUSEKI_BASE/configuration/, что упрощает их редактирование.

В качестве обходного пути полезно знать, что тайм-аут для каждого запроса возможен с заголовком «Timeout:» или параметром &timeout=.

person daxid    schedule 04.02.2016
comment
Я знаю, что это очень старо, но ни заголовок, ни параметр, похоже, не работают с текущим apache jena fuseki. У кого-нибудь есть ссылки на документы? - person Paul Cuddihy; 27.07.2021

Один из способов увеличить время ожидания — изменить файл 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 задается в миллисекундах, поэтому для сервера фьюзки будет установлено время ожидания 30 секунд. В зависимости от ваших потребностей вам могут понадобиться или не понадобиться все префиксы, определенные выше.

Затем вам нужно запустить сервер следующим образом:

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

person David Batista    schedule 11.03.2021