Using a Semantic Web of Linked Data to Enhance ODBC, JDBC, ADO.NET, & OLE DB Data Sources
ODBC (Open Database Connectivity), JDBC (Java Database Connectivity), ADO.NET (ActiveX Data Objects for .NET), and OLE DB (Object Linking & Embedding for Databases) are key data access standards used by compliant applications to connect to a wide variety of Data Sources (primarily SQL–compliant RDBMS hosted data).
These standards are critical to legacy and contemporary tools for:
- Business Intelligence
- Data Analytics
- Report Writing
- Application Development
- SOA Service Development
- Web Service Development
Unfortunately, these standards also have several inherent challenges:
- Federated Data Access — connecting to disparately located data across similar or different data sources over a network
- Heterogeneous Data Access — performing query operations over disparately shaped data, whether on a single machine or across a network
- Data Access Security — controlling access to data based on a cocktail of user profiles
RDF and Linked Data
RDF is an abstract language for expressing observation (data) using subject, predicate, object sentences/statements. These sentences are written to documents using a variety (rather than single) of notations.
RDF-based Linked Data boils down to the act of making data representation web-like (or “webby”) by adhering to the following principles:
- Identify Entities (Things) using Hyperlinks (HTTP URIs)
- Describe Entities using Subject, Predicate, Object sentences — remembering that sentence subject and predicate are entities that MUST (and objects are entities that MAY) be identified using Hyperlinks
Solving the Problem
Rather than “rip and replace” your existing systems built atop ODBC, JDBC, ADO.NET, or OLE DB, you can simply add a layer of data virtualization middleware to your setup that enables injection of Linked Data into the query results delivered via any of these data access standards.
The rest of this post covers use of Virtuoso (our hybrid and multi-model RDBMS and Data Virtualization platform) to solve this problem.
It is important to note that Virtuoso also includes support for all of the data access protocols outlined above.
Solving the Problem: A How-To Guide
- Download and install Virtuoso. Installers are available for Windows, Mac OS X, Linux, Solaris, and other Unix variants.
- Attach your existing data sources to Virtuoso via ODBC. You can optionally make use of our ODBC Bridges to local or remote ODBC or JDBC data sources at this stage.
- Generate Linked Data Views targeting the tables associated with the attached data sources.
- Connect your existing applications to Virtuoso via its client drivers (ODBC, JDBC, ADO.NET, and/or OLE DB).
- Execute SQL queries as usual, with SPARQL queries hooked in via the FROM clause. Alternatively, for direct access to Linked Data Views, you can simply prepend your SPARQL queries with the “SPARQL” keyword.
Example
Hyperlink-based Names (WebIDs) and Literal Names (Labels) from a dataset constructed using a SPARQL Query
SELECT PersonInstance.webid ,
PersonInstance.name
FROM
(
SPARQL
SELECT DISTINCT *
WHERE
{ ?webid a foaf:Person ;
foaf:name ?name .
FILTER ( isIRI(?webid) )
FILTER ( ?name != '' )
FILTER (! CONTAINS(STR(?webid),"uriburner") )
}
) AS PersonInstanceWHERE name like 'B%'
Screenshot of Query Editor & Results
Screenshots of C++ ODBC Application Demo
Note: platform-specific versions of this sample ODBC application are bundled with all OpenLink Software ODBC Drivers for Windows, Mac OS X, Linux, and other UNIX-like OS.
Why is this important?
As you can see, hyperlinks are now part of the SQL Query results returned to the ODBC-compliant application. The net effect, you can simply click on a hyperlink that piques your interest en route to additional insights, just as you do when exploring the public Web.
Turning literal (string-based) Primary Keys into live, clickable hyperlinks adds an unrivaled drill-down capability to all your existing tools! Basically, every ODBC, JDBC, ADO.NET, or OLE DB compliant application immediately doubles as a Linked Data Browser, i.e., they now truly deliver relevant information to your fingertips!
Links
- Live SQL and SPARQL Query Editor — includes a sample query (note: when challenged for username and password, use “vdb” for both)
- Live SPARQL Query Results Page — modifiable by simply changing URI parameter values
- Live SPARQL Query Editor Page — use or modify query as you see fit
- How Linked Data has changed Data Access & Connectivity
Related
- Virtuoso Home Page
- OpenLink Data Access Drivers Home Page
- FREE Evaluation Licenses for Data Access Drivers & Virtuoso
- Importing Linked Data into Microsoft Excel via a SPARQL Query
- Importing Linked Data into a Google Spreadsheet via a SPARQL Query — Slideshare Presentation
- How Tableau Leverages Linked Data via Virtuoso’s ODBC Driver — Slideshare Presentation
- How Microsoft Access Leverages Linked Data via Virtuoso’s ODBC Driver — Slideshare Presentation
- How Tibco Spotfire Leverages Linked Data via Virtuoso’s ODBC Driver — Presentation
- How SAP Crystal Reports Leverages Linked Data via Virtuoso’s ODBC Driver — Presentation
- How Filemaker PRO Leverages Linked Data via Virtuoso’s ODBC Driver — Presentation
- Virtuoso ODBC Driver Configuration & Usage on Windows — Slideshare Presentation
- Virtuoso ODBC Driver Configuration & Usage on Mac OS X — Slideshare Presentation