Does the SparQL service have a cache?

I was wondering whether the SparQL query service for DBpedia/Wikidata has a cache? So for example, if I query something repeatedly, will it use the previous result to return a result faster?

SPARQL caching is not so simple as the question is how to materialize or cache certain things. DBpedia/Virtuoso creates indexes over the quads, which are quite fast for certain patterns, plus there is a memory cache. I had the feeling that some queries are also persisted, if they are queried often for faster access.
@pkleef do you have a link.

Wikidata builds on Blazegraph, I assume that this has only marginal caching, see http://www.semantic-web-journal.net/content/evaluation-metadata-representations-rdf-stores-0 for details.

The Virtuoso hosted DBpedia instance makes use of a proxy server which caches queries results and subject to cache invalidation will return result from the proxy cache for repeat queries, without the need to even contact Virtuoso.

Virtuoso itself has Query Plan Caching to reuse query compilation plans for the same query thereby reducing the query execution time.

Virtuoso also uses memory caching for hosting the database working set in memory after first execution, eliminating the need to read from disk for repeat query execution, providing best performance when the database is “warm” ie database working set is cached in memory.

1 Like