Presentation Transcript
OpenLink Virtuoso - SQL & RDF: OpenLink Virtuoso - SQL & RDF RDF Views of SQL Data
(Exposing SQL Data as RDF)
Orri Erling
Program Manager - OpenLink Virtuoso
mailto:oerling@openlinksw.com
Virtuoso Universal Server: Virtuoso Universal Server Native SQL & XML DBMS
Federated / Hybrid Data Server (Virtual Database Engine)
Web Services Platform
SQL to RDF Mapping
Native RDF Quad Store (with SPARQL support)
In-built RDF Middleware (“Sponger”)
RDF Linked Data Deployment Platform
Situation Analysis: Situation Analysis Data Drives Everything
Data Heterogeneity is a fact of life
There is no Information without Data
The Era of Information Overload is Neigh
Information Processing drives Corporate & Individual Agility
What We Hope: What We Hope Write The
Final Chapter of the Information Integration Saga!
Yes, if...: Yes, if... SPARQL to Match SQL for BI Queries
Tools and Training for the Information Architect
Successful Migration of Domain Specific XML Vocabularies to RDF
An Ideal Solution: An Ideal Solution
Slide7: Virtuoso’s
RDF Views of SQL Data
Functionality
What are RDF Views?: What are RDF Views? Expose pre-existing relational data as virtual RDF graphs
Available for querying through SPARQL or SPASQL (SPARQL embedded in SQL)
No physical regeneration of relational data
Virtuoso RDF Views Implementation: Virtuoso RDF Views Implementation Quad Patterns Translate Relational Data to G, S, P, O
Map Local or Heterogeneous Remote Data To RDF
Map XML/Text/Web Services to RDF via Table Valued Functions
Sophisticated Query Transformations and Optimization
Virtuoso SPARQL and SQL Extensions: Virtuoso SPARQL and SQL Extensions Aggregates, Grouping, Full Text for SPARQL
SQL "Breakup" for Mapping Wide Rows to n-Triples
Freely Intermingle SQL and SPARQL
Northwind Demo Database: Northwind Demo Database Tables include: Demo.demo.Orders Demo.demo.Customers
Northwind Demo Database:RDF View Definition Extract: Northwind Demo Database: RDF View Definition Extract prefix northwind:
…
create iri class northwind:Customer (in customer_id varchar not null)
…
alter quad storage virtrdf:DefaultQuadStorage
…
from Demo.demo.Customers as customers
from Demo.demo.Orders as orders … {
Demo.demo.Customers Northwind RDF View Definition create virtrdf:NorthwindDemo as graph iri (“http://^{URIQADefaultHost}^/Northwind”) {
…
northwind:Customer(customers.CustomerID) a foaf:Organization as virtrdf:Customer-CustomerID ;
northwind:companyName customers.CompanyName as … ;
…
northwind:fax customers.Fax as virtrdf:Customer-fax . …
} } northwind:Customer(orders.CustomerID) northwind:has_order northwind:Order(orders.OrderID) as virtrdf:Order-has_order .
Northwind Demo Database:RDF View Definition Extract: Northwind Demo Database: RDF View Definition Extract prefix northwind:
…
create iri class northwind:Order (in order_id integer not null) .
…
alter quad storage virtrdf:DefaultQuadStorage
…
from Demo.demo.Customers as customers
from Demo.demo.Orders as orders … {
Demo.demo.Orders Northwind RDF View Definition create virtrdf:NorthwindDemo as graph iri (“http://^{URIQADefaultHost}^/Northwind”) {
…
northwind:Order (orders.OrderID) a northwind:Order as virtrdf:Order-Order ;
northwind:orderDate orders.OrderDate as virtrdf:Order-order_date ;
northwind:requiredDate orders.RequiredDate as virtrdf:Order-required_date ;
…
…
} } northwind:has_customer northwind:Customer (orders.CustomerID) as virtrdf:Order-order_has_customer
northwind:has_employee northwind:Employee (orders.EmployeeID) as virtrdf:Order-order_has_employee ;
Northwind Demo Database:Customer Table to RDF Entity Mapping: Northwind Demo Database: Customer Table to RDF Entity Mapping Orders Table
Facilitate Information at Your Finger Tips: Facilitate Information at Your Finger Tips Provide a Conceptual View of Logical Data
Make the Conceptual Views concrete focal points of Data Access
Identify Data Entities using URIs (Data Links) e.g http://demo.openlinksw.com/Northwind/Customer/ALFKI#this
Identify Associations / Relationships with other Entities using URIs e.g http://www.openlinksw.com/schemas/northwind#has_order
SQL-RDF Mapping Experiences: SQL-RDF Mapping Experiences Mapping is Non-Trivial
Problems Start When Many Tables Map to the Same Thing
Choice of URI Scheme Can Greatly Affect Optimization Possibilities
What We Need: What We Need Interop of Necessary SPARQL Extensions
Visual Tools for SQL-RDF Mapping
SQL-RDF Mapping Syntax Standardization
Community Consensus on RDF Vocabularies
It is NOT about RDF vs. XML vs. SQL: It is NOT about RDF vs. XML vs. SQL Web Services are for Transactions and App. Integration
RDF is for Disparate Data Meshing, Discovery, and Drill Down/Analysis
SQL is Forever
SQL-RDF Integration Value: SQL-RDF Integration Value Enterprise: Alleviation of heterogeneous data integration challenges
Public: A Whole Economy of Discoverable Linked Data and Data Mesh-ups
Now: Full Text For All - Next: Analysis For All
OpenLink Futures: OpenLink Futures Commercial Deployment of SQL to RDF Mapping
Towards Web-scale with Clustered RDBMS/Triple Store
OpenLink Data Spaces (ODS) for Bootstrapping SemWeb Presence
Additional Information: Additional Information http://virtuoso.openlinksw.com (general site)
http://virtuoso.openlinksw.com/wiki/main/ (Open Source Edition Site)
http://virtuoso.openlinksw.com/Whitepapers/index.htm (OpenLink Data Spaces)
Slide22: Thank You!