© 2007 OpenLink Software, All rights reserved OpenLink Virtuoso - SQL & RDF RDF Views of SQL Data...
-
Upload
lauren-corcoran -
Category
Documents
-
view
228 -
download
2
Transcript of © 2007 OpenLink Software, All rights reserved OpenLink Virtuoso - SQL & RDF RDF Views of SQL Data...
© 2007 OpenLink Software, All rights reserved
OpenLink Virtuoso - SQL & RDF
RDF Views of SQL Data
(Exposing SQL Data as RDF)
Orri Erling
Program Manager - OpenLink Virtuoso
mailto:[email protected]
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
What We Hope
Write TheFinal Chapter of the Information Integration
Saga!
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
An Ideal Solution
© 2007 OpenLink Software, All rights reserved
Virtuoso’s
RDF Views of SQL Data
Functionality
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
Northwind Demo DatabaseTables include:
Customer ID
Company Name
Contact Name
Contact
Title
Address City Postal Code
Country Phone Fax
varchar(5) varchar(40) varchar(30) varchar(30) varchar(60) varchar(15) varchar(10)
varchar(15) varchar(24) varchar(24)
ALFKI Alfreds Futterkiste
Maria Anders
Sales Represe-ntative
Obere Str. 57
Berlin 12209 Germany 030 - 0074321
030 - 0076545
ANATR Ana Trujillo Emparedados y helados
Ana Trujillo Owner Avda. de la Constitucion 2222
Mexico D.F.
05021 Mexico (5) 555 -4729
(5) 555 - 3745
ANTON Antonio Moreno Taqueria
Antonio Moreno
Owner Avda. de la Constitucion 2222
Mexico D.F.
05023 Mexico (171) 555 - 7788
(171) 555 - 6759
Demo.demo.OrdersOrder ID Customer
IDEmployee ID
Order
Date
RequiredDate
Shipped Date
Ship Via …
10643 ALFKI 6 1995-09-25 1995-10-23 1995-10-03 1 …
10692 ALFKI 4 1995-11-03 1995-12-01 1995-11-13 2 …
… … … … … … …
Demo.demo.Customers
© 2007 OpenLink Software, All rights reserved
Northwind Demo Database:RDF View Definition Extract
Customer ID
Company Name
Contact Name
Contact
Title
Address City Postal Code
Country Phone Fax
prefix northwind: <http://www.openlinksw.com/schemas/northwind#>
…
create iri class northwind:Customer <http://^{URIQADefaultHost}^/Northwind/Customer/%U#this> (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 .
© 2007 OpenLink Software, All rights reserved
Northwind Demo Database:RDF View Definition Extract
Order ID CustomerID
Employee
ID
OrderDate
RequiredDate
Shipped
Date
ShippedVia
…
prefix northwind: <http://www.openlinksw.com/schemas/northwind#>
…
create iri class northwind:Order <http://^{URIQADefaultHost}^/Northwind/Order/%d#this> (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 ;
© 2007 OpenLink Software, All rights reserved
Northwind Demo Database:Customer Table to RDF Entity Mapping
Customer ID
Company Name
Contact Name
Contact
Title
Address City Postal Code
Country Phone Fax
ALFKI Alfreds Futterkiste
Maria Anders
Sales Represe-ntative
Obere Str. 57
Berlin 12209 Germany 030 - 0074321
030 - 0076545
companyName
contactName
contactTitle
address city
PostalCode
country
phone
fax
AlfredsFutterkiste
MariaAnders
SalesRepresentative
Obere Str. 57
Berlin
12209
Germany
030-0074321
030-0076545
…
Order/10643#this
has_order
Order/10692#this
…
has_order
Customer/ALFKI#this
prefix <http://demo.openlinksw.com/Northwind/> has_customer
has_customer
Order ID
CustomerID
…
10643 ALFKI …
10692 ALFKI …
Orders Table
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
What We Need
Interop of Necessary SPARQL Extensions
Visual Tools for SQL-RDF Mapping
SQL-RDF Mapping Syntax Standardization
Community Consensus on RDF Vocabularies
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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
© 2007 OpenLink Software, All rights reserved
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)
© 2007 OpenLink Software, All rights reserved
Thank You!