dice-group / IGUANA

IGUANA is a benchmark execution framework for RDF triple stores and quad stores
http://iguana-benchmark.eu
GNU Affero General Public License v3.0
24 stars 15 forks source link

Customizing the delimiter line for DelimInstancesQueryHandler not working #242

Closed mchlrch closed 5 months ago

mchlrch commented 6 months ago

IGUANA_VERSION="3.3.3" Ubuntu 22.04.3 LTS openjdk 21.0.1 2023-10-17

http://iguana-benchmark.eu/docs/3.3/usage/queries/#multiple-line-plain-text-queries

Setting the delimiter line as described in the documentation seems not to be working. I get the following WARNs in the log output:

...
2024-02-07 15:12:46,755 [main] INFO [org.aksw.iguana.cc.config.IguanaConfig] - <Executing Task [1/null: lindas-cc-hidden-data, public, Stresstest]>
2024-02-07 15:12:46,866 [main] WARN [org.aksw.iguana.cc.lang.impl.SPARQLLanguageProcessor] - <Query statistics could not be created. Not using SPARQL?>
2024-02-07 15:12:46,876 [main] INFO [org.aksw.iguana.rp.experiment.ExperimentManager] - <Got start flag for experiment task ID 1707315166/1/1>
...
024-02-07 15:12:51,885 [pool-4-thread-1] INFO [org.aksw.iguana.cc.worker.AbstractWorker] - <Worker executed 42.0 queryMixes>
2024-02-07 15:12:51,907 [pool-4-thread-1] WARN [org.aksw.iguana.cc.worker.AbstractWorker] - <Worker[SPARQLWorker : 0]: Socket closed on query (ID sparql0)
SELECT * {?s ?p ?o} LIMIT 10
###
SELECT * {
    ?s ?p ?o
} LIMIT 1
>
2024-02-07 15:12:51,908 [pool-4-thread-1] INFO [org.aksw.iguana.cc.worker.AbstractWorker] - <Stopping Worker[{SPARQLWorker} : {0}].>

Config:

...
# The benchmark task
tasks:
  - className: "Stresstest"
    configuration:
      # 1 minute (time Limit is in ms)
      timeLimit: 5000
      # we are using plain text queries
      queryHandler:
        className: "DelimInstancesQueryHandler"
        delim: "###"
...

Only if I use an empty line (the default), then the DelimInstancesQueryHandler seems to work fine. I don't get warnings that way.

nck-mlcnv commented 6 months ago

Hi, I think the configuration should look like this:

tasks:
  - className: "Stresstest"
    configuration:
      timeLimit: 5000
      queryHandler:
        className: "DelimInstancesQueryHandler"
        # configuration is missing
        configuration:
          delim: "###"

The delim attribute needs to be inside the configuration object. Sorry for the late response, I didn't find the cause of the problem at first either and we're currently rewriting the whole program.