I am a computer science research student who is interested in DBMS with a specific focus on RDF-stores. I’ve recently used Virtuoso (built from GitHub as a columnar triple-store) to run some SPARQL queries against an RDF dump in my local machine. Thanks for providing such a fantastic DBMS. In this regard, I have some questions:
How SPARQL queries are executed using Virtuoso? It means does Virtuoso columnar translate SPARQL to SQL (e.g., similar to this paper’s explanation: http://ceur-ws.org/Vol-301/Paper_5_Erling.pdf) and then run SQL against the underlying relational DBMS or not? (this link is broken: “How Virtuoso uses Relational Technology in its RDF Triple Store and SPARQL implementation” http://vos.openlinksw.com/owiki/wiki/VOS/VOSRDFWP)
Which part of the source code is related to the implementation of the caching techniques? Does Virtuoso cache the query results as well?
Apache Jena contains a way to extract SPARQL syntax called SSE (link: https://jena.apache.org/documentation/notes/sse.html). Did you implement something like SSE for VIrtuoso in C/C++? If yes, which part of the code contains that?
I hope a few words from this community as answers of these questions help me to learn more about the excellency of Virtuoso.
Thanks very much for taking time to read this post.