Using DBeaver with Virtuoso’s JDBC Driver

DBeaver is a JDBC-compliant tool that provides generic SQL-access to any DBMS via a JDBC Driver. The generic nature of JDBC support is clearly reflected in this product, so at very first blush you can view and configure your JDBC Driver preferences.

Adding support for our Virtuoso JDBC Driver simply boils down to understanding:

  • JDBC Driver JAR file name — virtjdbc4_2.jar (basic) or virtjdbc4_2ssl.jar
  • JDBC Driver file location — {virtuoso-installation-folder}/lib/
  • JDBC Driver URL pattern — jdbc:virtuoso://{database}/charset=UTF-8/SSL/kpass=/kpath=/ts=

Screenshot depicting a Virtuoso JDBC configuration for DBeaver

Screenshot depicting an actual JDBC connection to our URIBurner Service Instance

Schemas overview from the URIBurner Database

Actual Data from the Customer Table.

A SQL Query enhanced using SPARQL that integrates data from across the LOD Cloud using SPARQL within SQL (i.e., SPASQL)

Here’s a more sophisticated example that use SPARQL-FED to integrate a Federated Query into SQL.

Some features to note about DBeaver:

  1. Query Results Grid includes navigational controls for result-set scrolling
  2. Hyperlinks are understood, so when you click they resolve to whatever they identify, e.g., DBpedia URIs resolve to HTML-based Entity Description Pages (property or data-sheets) by default

What’s the benefit of a Virtuoso JDBC Driver?

A Virtuoso JDBC Driver provides any JDBC-compliant application with the ability to access and merge data from disparate data sources using SQL and/or SPARQL.

Remember, SPARQL includes built-in federation, entity relationship graph traversal, and the use of fine-grained relationship type semantics to produce powerful query solutions that extend all the way to the public Web (i.e., the Web and its LOD Cloud enclave are just additional relational data sources).