Stardog.js limit issue for search queries


(Krishna Potluri) #1

Stardog.js limit and offset, when turned on are not giving the results for certain lucene searches. Same query when run in studio, i get results and when i remove the limit from javascript, i get results. Is this a bug?

SELECT DISTINCT ?matches ?subject ?property ?parent ?taxonomy ?preferredLabel WHERE {
{SELECT ?matches ?preferredLabel
?score ?parent ?subject ?property
{ (?matches ?score) stardog:property:textMatch 'text*' .
?subject ?property ?matches.
?subject rdf:type ?parent . }}
?parent ont:coveredByConcept ?taxonomy .
?taxonomy rdfs:prefLabel ?preferredLabel }
group by ?matches ?subject ?property ?parent ?taxonomy ?preferredLabel


(stephen) #2

My guess is that you are missing the accept parameter of query.execute. The method signature is actually (conn, database, query, accept, params), though it's very easy to skip over accept and go straight to params.

If you set the limit via query.execute(conn, 'myDb', myQuery, undefined, {limit: myLimit}) (passing undefined for accept), do you see results?


(Krishna Potluri) #3

return query.execute(conn, dbName, sparql,
'application/sparql-results+json', {
limit: args.limit,
offset: args.offset
}
).then(({ body }) => {

        return body.results.bindings;
          
        }).catch((err) => {
            return Promise.reject(err);
         });
    }

(Krishna Potluri) #4

Query is const other than the search field.


(stephen) #5

Would you be able to provide a minimal dataset for this query that can reproduce this issue?