We notice for SCSD queries that CostFed performs better than ideal source selection:
Possible explanations:
[x] We measure execution time by executing arq binary. In doing this, we took the JVM warming up into account. Since we only use Jena as a workaround to execute SPARQL 1.1 on Virtuoso, we should host a Jena server, then warm it up once with all instances, then measure the execution time from benchmark script.
[ ] The BGPs in SERVICE were sent to Virtuoso, while the handling of the results is assured by Jena. If true, we should move the entire query into SERVICE
Note that launching arq with --repeat=N,M option causes Virtuoso to use its cache. The first solution lowers the probability of Virtuoso using its cache by deferring the prioritization of queries to Snakemake, which is random.
Preliminary tests for solution 1 with q09 show an average of 47 ms, which is promising.
We notice for SCSD queries that CostFed performs better than ideal source selection:![image](https://user-images.githubusercontent.com/19567683/231588319-502ac29d-bf1d-4c1a-85db-e8f3b97ade0a.png)
Possible explanations:
[x] We measure execution time by executing
arq
binary. In doing this, we took the JVM warming up into account. Since we only use Jena as a workaround to execute SPARQL 1.1 on Virtuoso, we should host a Jena server, then warm it up once with all instances, then measure the execution time from benchmark script.[ ] The BGPs in
SERVICE
were sent to Virtuoso, while the handling of the results is assured by Jena. If true, we should move the entire query intoSERVICE