Fuseki s-запрос Запрос отменен

У меня есть сервер Fuseki, работающий на локальном хосте с достаточно большим набором данных, около 7 миллионов троек (загруженный файл был N3 @ 370mb).

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

SELECT *
FROM <myGraph>
WHERE {
    ?s ?p ?o
}
LIMIT 200000

Интересно, что этот запрос работает на предоставленном интерфейсе веб-сервера. localhost:3030 (хотя и с небольшой работой со стороны Firefox), но не работает при запуске через командную строку

./s-query --service=http://localhost:3030/dataset/query --query=queryFile.rq

Я получаю ошибку:

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

и на логах Fuseki (с заменой даты и времени):

[date time] Fuseki     INFO  [5] exec/select
[date time] Fuseki     INFO  [5] Query Cancelled - results truncated (but 200 already sent)
[date time] Fuseki     INFO  [5] 200 OK (11.370 s)

Кроме того, я должен отметить, что это не всегда 11-е. Иногда больше, иногда меньше. Но это (насколько я видел, всегда в течение секунды или двух из этого).

Я попытался изменить файл s-запроса, чтобы изменить http.read_timeout в response_no_body() а также response_print_body(), Но это ничего не меняет.

Я также попытался добавить строку ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "30000" ] ; в config.ttl как это предполагает, но, опять же, это, кажется, ничего не меняет.

Содержимое файла "config.ttl" в /run/

# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0

## Fuseki Server configuration file.

@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 ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] rdf:type fuseki:Server ;

# Example::
# Server-wide query timeout.   
# 
# Timeout - server-wide default: milliseconds.
# Format 1: "1000" -- 1 second timeout
# Format 2: "10000,60000" -- 10s timeout to first result, 
#                            then 60s timeout for the rest of query.
#
# See javadoc for ARQ.queryTimeout for details.
# This can also be set on a per dataset basis in the dataset assembler.
#
# ja:context [ ja:cxtName "arq:queryTimeout" ;  ja:cxtValue "30000" ] ;

# Add any custom classes you want to load.
# Must have a "public static void init()" method.
# ja:loadClass "your.code.Class" ;   

# End triples.
.

Любая помощь будет оценена.

Fuseki Версия: 2.0.0

0 ответов

Другие вопросы по тегам