I have a Fuseki server running on localhost with a large enough dataset, about 7 million triples (the loaded file was N3 @ 370mb).
I've been trying to get back as much data in a query as I can but I've been having trouble with timeouts. I'm just running a simple query to get everything with a limit that I've been changing upwards until I get a query that won't work.
SELECT *
FROM <myGraph>
WHERE {
?s ?p ?o
}
LIMIT 200000
The interesting thing about this query is that it works on the provided web server interface localhost:3030
(albeit with a bit of work on firefox's part) but doesn't work when run via the command line
./s-query --service=http://localhost:3030/dataset/query --query=queryFile.rq
The error I get is:
## Query cancelled due to timeout during execution ##
## **** Incomplete results **** ##
and on Fuseki logs (with dates and times replaced):
[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)
Also, I should mention that it's not always 11s. Sometimes it's more, sometimes it's less. But it's (as far as I've seen, always within a second or two of this).
I've tried modifying the s-query file to change http.read_timeout
in response_no_body()
and response_print_body()
. But it doesn't change anything.
I've also tried adding the line ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "30000" ] ;
to config.ttl
as it suggests but, again, it doesn't seem to change anything.
Contents of the "config.ttl" file in /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.
.
Any help would be appreciated.
Fuseki Version: 2.0.0