14.4. Automated Generation of RDF Views over Relational Data Sources
14.4.1. Introduction
Virtuoso offers from Conductor UI an HTML based Wizard interface for dynamically generating &
publishing RDF based Linked Data from ODBC or JDBC accessible relational data sources. Basically,
a mechanism for building RDF based Linked Data views over relational data sources.
The proliferation of relational databases across enterprises and behind Web sites, makes them a
vital data source for the burgeoning Linked Data Web. Thus, the process of publishing Linked Data from
these sources needs to be as unobtrusive as possible. Naturally, a balance has to be struck between
unobtrusive generation of Linked Data and traditional relational database management system (RDBMS)
virtues such as:
- Scalability
- Security
- Analytical Expressivity of SQL
- Separation of Data Access and Data Storage via ODBC, JDBC, ADO.NET CLIs.
The following steps must be taken to publish RDF-based Linked Data:
- Identifying ODBC or JDBC data sources that host the data you seek to publish
(assuming the data isn't Virtuoso RDBMS hosted -- in which case, skip ahead to step #3).
- Attach/Link TABLEs or VIEWs from the external data sources into Virtuoso via their Data Source Names (DSNs).
- Identify the internal or external TABLEs or VIEWs that hold the data you wish to publish.
- Configure Endpoints and Re-write Rules to disambiguate data object (resource) identity and description through HTTP-based content negotiation.
- Expose the Data Source Ontology and associated Instance Data in Linked Data form through those Endpoints and Re-write Rules.
These steps may be largely automated (the "One-Click" Deployment below), or performed manually ("Using the Conductor's HTML-based Wizard" further down).
14.4.2. One Click Linked Data Generation & Deployment
The following steps provide a one-click guide for publishing ODBC- or JDBC-accessible RDBMS data in RDF Linked Data form, using the "Generate & Publish" Conductor feature.
- Go to http://<cname>:port/conductor
- Log in as user dba (or another user with DBA privileges)
- Follow menu path Database -> RDF Views
- In the form presented, perform the following steps:
- Select the Database Name Qualifier (e.g., "Demo")
that exposes the Tables / Views for this exercise
- Enter the Base URL to which your URL rewrite rules will be bound
(e.g. http://<cname>:8890/Demo)
- Select specific Tables containing the data to be published (e.g. Demo.demo.Shippers and Demo.demo.Suppliers)
- Click the "Generate & Publish" button
- Virtuoso will perform the entire process of ontology generation, instance data generation, and
linked data deployment (re-write rules generation and application).
- Error messages will be presented if the Wizard encounters problems. If there are no error
messages, your RDF view declarations and Linked Data publishing activities will have completed successfully.
- Optionally, you could also perform one of the following tasks:
- Save Data Mappings: when clicked, offers to save the generated Definitions to local file system
- Save Ontology Mappings: when clicked, offers to save the generated Ontology to local file system
- Click on the "Cancel" should you want to return to the initial RDF View Generation form.
14.4.3. Manual Linked Data Generation & Deployment using the Conductor's HTML-based wizard
The following step-by guide will lead you through manually publishing ODBC- or JDBC-accessible RDBMS
data in RDF Linked Data form, using the Conductor's HTML-based wizard:
- Go to http://<cname>:port/conductor
- Log in as user dba (or another user with DBA privileges)
- Follow menu path Database -> RDF Views
- In the form presented, perform the following steps:
- Select the Database Name Qualifier (e.g., "Demo") that exposes the Tables / Views for this
exercise
- Enter the Base URL to which your URL rewrite rules will be bound (e.g. http://<cname>:8890/Demo)
- Select specific Tables containing the data to be published (e.g., Demo.demo.Shippers and Demo.demo.Suppliers)
- Click the "Generate via Wizard" button
- At this point, you are presented with the option to edit your column selection. Select the
"Edit" link, for example, for table Demo.demo.Shippers.
- For images or other binary data in MIME formats to be revealed as anything other than generic "binary objects", you must map large
varbinary types to the appropriate MIME types like image/gif. To do so, select the Edit link for Binding/MIME Type of the relevant table columns.
You can:
- Leave the Binding/MIME Type literal; or
- Set to skip, such that the column will not be used in RDF generation; or
- Select the binary object value in order for the column to be referenced as binary.
- After finishing with your changes click the Save button, or cancel the changes and go back by
clicking the Cancel button.
- Make sure you click the "Next" button.
- At this point, the RDF View Definition form will let you Select Generation Targets options:
- Data Source Ontology Mappings
- Instance Data View Mappings
- VoID statistic
- Make sure you click the "Next" button.
- Based on your selections in the prior form, the RDF View Definition Deployment Options form will be offered:
- Data Source Ontology Rules
- Instance Data Rules
- Select the desired option(s) and click the "Prepare to Execute" button which unveils a generated
Instance Data and/or Ontology form.
- Click the Execute button and Virtuoso will:
- Apply the generated declarations (instance data and ontology) to your Virtuoso instance
- Publish / Deploy declarations that expose the Wizard-generated Rewrite Rules and associated endpoints.
- Optionally, you can also perform one of the following tasks:
- Save Data Mappings: when clicked, offers to save the generated Definitions to local file
system
- Save Ontology Mappings: when clicked, offers to save the generated Ontology to local file
system
- Export as WebDAV resource: exports the selected objects/items as a WebDAV resource:
- Click "Browse"
- Enter a WebDAV resource and click the "Select" button.
Note, the WebDAV resource path value will be shown in the WebDAV location field.
- Then click the "Save Data Mappings" or "Save Ontology Mappings" button, to complete the option task of saving your generated (or edited) view declarations.
- Error messages will be presented if the Wizard encounters problems. If there are no error messages, your RDF view declarations and Linked Data publishing activities will have completed successfully.
- Click on Cancel to return to the initial RDF View Generation form.