As mentioned in email, there are various problems with the Virtuoso ODBC drivers leading to deadlocks. Some have been resolved, some are outstanding. Working closely with Openlink developers to get this resolved.
In the meanwhile, the osurf package has been made which uses the sparql_protocol part of SuRF to communicate with the store over HTTP to its endpoint. This implementation is somewhat virtuoso specific in the way that blank nodes are handled at the moment, but works.
Tests had to be changed as in some cases they relied on internal implementation details of ordf (essentially assuming an RDFLib store) and the transaction api has been improved:
is now possible and this creates a dummy transaction object if the primary store doesn't support it -- as is the case with SPARQL/HTTP