I will here summarize the developments since the last Virtuoso 5 Open Source release.

On the RDF side, the bitmap intersection join has been improved quite a bit so that it is now almost always more than 2x more efficient than the equivalent nested loop join.

XML trees in the object position in RDF quads were in some cases incorrectly indexed, leading to failure to retrieve quads.  This is fixed and should problems occur in existing databases, they can be corrected by simply dropping and re-creating an index.

Also the cost model has been further tuned.  We have run the TPC-H queries with larger databases and have profiled it extensively.  There are improvements to locking, especially for concurrency of transactions with large shared lock sets, as is the case in the TPC-H queries.  The rules stipulate that these have to be run with repeatable read.  There are also optimizations for decimal floating point.

A sampling of TPC-H queries translated into SPARQL comes with the new demo database.  These show a live sample of the TPC-H schema translated into linked data, complete with SPARQL translations of the original queries.  Some work is still ongoing there but the relational to RDF mapping is mature enough for real business intelligence applications now.

On the closed source side, we have some adjustments to the virtual database.  When using Virtuoso as a front end to Oracle, using the TPC-H queries as a metric, the virtual database overhead is minimal.  Previously, we had some overhead because some queries were rewritten in a way that Oracle would not optimize as well as the original TPC-H text.  Specifically, turning an IN sub-query predicate into an equivalent EXISTS did not sit well with Oracle.