Virtuoso Relational To RDF Mapping

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Virtuoso Relational To RDF Mapping - Presentation Transcript

    1. Mapping Relational Databases to RDF with OpenLink Virtuoso © 2008 OpenLink Software, All rights reserved. Orri Erling - Lead Developer, Virtuoso Team
    2. Who Wants to Map?
      • Semantic Web Scalers
        • Expose whatever there is as RDF, the next guy will unify terms, make search and apps
      • Data Warehouse Keepers
        • Data is spread out, has implicit semantics, complex schemas, heterogeneous sources, ambiguous terms but we must make it join and aggregate cleanly
      © 2008 OpenLink Software, All rights reserved.
    3. Present State
      • SPARQL to SQL exists but still, complex integrations are data warehouses
      • We'd really like to map, but...
      • Can it be otherwise?
      © 2008 OpenLink Software, All rights reserved.
    4. Why RDF Data Warehouse?
      • Pros
        • Even query performance across all data
        • Possibility of forward-chaining inference
        • Some SPARQL features may be better supported, e.g. Unspecified predicates
      • Cons
        • Keeping data up-to-date
        • Complex set up, needs dedicated servers: you don't build them on a whim
      © 2008 OpenLink Software, All rights reserved.
    5. Why Map?
      • No copying, no timeliness issues
      • RDBMS outperforms RDF for analytics workloads
      • Agile reconfiguration without reloading data
      © 2008 OpenLink Software, All rights reserved.
    6. Virtuoso
      • Mapping of SPARQL to SQL against any existing schema - whether stored in Virtuoso or elsewhere
      • Physical quad store
      • Federated/local RDBMS
      © 2008 OpenLink Software, All rights reserved.
    7. For Mapping to Deliver...
      • Tackle any SQL analytics workload in SPARQL without extra cost
      • Deal with arbitrary SQL schema
      • Produce single SQL statements, optimizable by target RDBMS
      • Have intelligence for cases where one RDF entity can come from many relational sources
      © 2008 OpenLink Software, All rights reserved.
    8. The Cases of Integration
      • Bring similar but heterogeneous schemas into a unified ontology - Union View
      • Translate FKs of one schema to PKs in another - Distributed Join
      • Hide differences in normalization - Views for hiding joins
      • - Unit/Terminology conversions
      © 2008 OpenLink Software, All rights reserved.
    9. Defining a Mapping
      • Define URI formats and their subclass relations
      • Define which key-column-value combinations make a triple
      • Arbitrary SQL is allowed for mapping values and filtering
      • A single RDF node can be a composite of many columns, e.g. multipart key
      © 2008 OpenLink Software, All rights reserved. Use SPARQL/SQL to:
    10. The TPC-H Case
      • The 22 queries as extended SPARQL
      • Each generates a single SQL statement, executable by Virtuoso, Oracle, Others
      • Next make several TPC-H databases on different servers and run the queries against the union
      © 2008 OpenLink Software, All rights reserved. http://demo.openlinksw.com/tpc-h/
    11. Where Problems Begin
      • In OpenLink Data Spaces, 6 Collaborative apps all mapped to SIOC:
      • Trivially becomes a union of everything, 1000+ lines of SQL
      • Intelligently (once per app) becomes a Union of :
      © 2008 OpenLink Software, All rights reserved. select * from <ods> where {?s ?p ?o . ?s has_comment ?c . ?c has_author <xxx> } select post.* from post, comment, user where c_post = p_id and c_author = u_id and u_name = f ('xxx')
    12. What One Must Know
      • Mapping for integration is not trivial
      • Be careful when mapping multiple tables/columns to one class/property
      • Make URI schemes which encode type and source, so that senseless joins are not attempted if types not specified in query
      • Understand what the mapping logic can and cannot optimize
      • Understand what SQL can and cannot optimize
      • View resulting SQL for sanity check
      © 2008 OpenLink Software, All rights reserved.
    13. SQL Extensions
      • Mapping must work against any RDBMS/Schema, as is
      • But there is Virtuoso SQL between the mapping and target RDBMS(s)
      • Location and latency - conscious distributed cost model
      • Breakup for making a wide result set into a row per property
      • Inverse functions
      © 2008 OpenLink Software, All rights reserved.
    14. Use Cases
      • OpenLink Data Spaces - Blog, Wiki, News, Social Network, Feed Aggregation, Tag Clouds, Bookmarks etc.
      • OpenLink's own MIS - “total information awareness”: URI for any CRM Object, Account, Product, Support Case, Email etc..
      • Musicbrainz
      • phpBB, Drupal, MediaWiki, WordPress, Bugzilla, and others.
      © 2008 OpenLink Software, All rights reserved.
    15. OpenLink Software © 2008 OpenLink Software, All rights reserved. Thank You! http://virtuoso.openlinksw.com

    + rumitorumito, 2 years ago

    custom

    1133 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1133
      • 1133 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories