a copy of the actual query + assertions would be advisable here in addition to runtime information (cpu,mem,os,jdk)
On Sun 23. Feb 2020 at 18:57, Steve Vestal <steve.ves...@adventiumlabs.com> wrote: > I'm looking for suggestions on a SPARQL performance issue. My test > model has ~800 sentences, and processing of one select query takes about > 25 minutes. The query is a basic graph pattern with 9 variables and 20 > triples, plus a filter that forces distinct variables to have distinct > solutions using pair-wise not-equals constraints. No option clause or > anything else fancy. > > I am issuing the query against an inference model. Most of the asserted > sentences are in imported models. If I iterate over all the statements > in the OntModel, I get ~1500 almost instantly. I experimented with > several of the reasoners. > > Below is the basic control flow. The thing I found curious is that the > execSelect() method finishes almost instantly. It is the iteration over > the ResultSet that is taking all the time, it seems in the call to > selectResult.hasNext(). The result has 192 rows, 9 columns. The results > are provided in bursts of 8 rows each, with ~1 minute between bursts. > > OntModel ontologyModel = getMyOntModel(); // Tried various > reasoners > String selectQuery = getMySelectQuery(); > QueryExecution selectExec = > QueryExecutionFactory.create(selectQuery, ontologyModel); > ResultSet selectResult = selectExec.execSelect(); > while (selectResult.hasNext()) { // Time seems to be spent in > hasNext > QuerySolution selectSolution = selectResult.next(); > for (String var : getMyVariablesOfInterest() { > RDFNode varValue = selectSolution.get(var); > // process varValue > } > } > > Any suggestions would be appreciated. > > -- --- Marco Neumann KONA