You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I run the following query with the standard @comunica/query-sparql config, then 1104 results and only the link https://w3id.org/dpv#Purpose is fetched.
import{QueryEngine}from"@comunica/query-sparql";constfetchFn=globalThis.fetch;// @ts-ignoreglobalThis.fetch=(...args)=>{console.log(args[0]);returnfetchFn(...args);}asyncfunctionrun(){constengine=newQueryEngine();constres=awaitengine.queryQuads('CONSTRUCT { ?s ?p ?o } WHERE { ?s a <https://w3id.org/dpv#Purpose> ; ?p ?o . }',{sources: ['https://w3id.org/dpv#Purpose'],lenient: true});leti=0;res.on('data',(quad)=>{console.log(i+=1);});}run();
On the other hand when @comunica/query-sparql-link-traversal is used, the links are indefinitely fetched whilst no results are emitted. Note that this is not an issue if the query contains only a single triple in the BGP pattern such as CONSTRUCT WHERE { ?s a <https://w3id.org/dpv#Purpose> . }
I would hazard a guess that the problem is associated with the inner join performing some kind of nested loop which requires the inner stream to terminate before it can iterate over outer stream. As a result I would suggest ensuring the some kind of symmetric hash join is always used in link traversal scenarios.
The text was updated successfully, but these errors were encountered:
Issue type:
Description:
If I run the following query with the standard
@comunica/query-sparql
config, then 1104 results and only the link https://w3id.org/dpv#Purpose is fetched.On the other hand when
@comunica/query-sparql-link-traversal
is used, the links are indefinitely fetched whilst no results are emitted. Note that this is not an issue if the query contains only a single triple in the BGP pattern such asCONSTRUCT WHERE { ?s a <https://w3id.org/dpv#Purpose> . }
I would hazard a guess that the problem is associated with the inner join performing some kind of nested loop which requires the inner stream to terminate before it can iterate over outer stream. As a result I would suggest ensuring the some kind of symmetric hash join is always used in link traversal scenarios.
The text was updated successfully, but these errors were encountered: