SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Mapping Relational Databases
              to Linked Data
        Barry Norton (presenting)

                   Juan Sequeda
W3C RDB2RDF Standards
• Standards to map relational data to RDF

• A Direct Mapping of Relational Data to RDF
  – Default automatic mapping of relational data to
    RDF


• R2RML: RDB to RDF Mapping Language
  – Customizable language to map relational data to
    RDF

                        RDB2RDF                       2
Direct Mapping

                           automatic
           Direct
  RDB      Mapping




                                       RDF


                 RDB2RDF                     3
Direct Mapping on Table
           Person
 ID (pk)    NAME     AGE

   1         Alice    25

   2         Bob     NULL




                           RDB2RDF   4
Direct Mapping on Table
           Person
 ID (pk)    NAME     AGE

   1         Alice    25

   2         Bob     NULL




                           RDB2RDF   5
Direct Mapping on Table
            Person
  ID (pk)    NAME     AGE

     1        Alice    25

     2        Bob     NULL



<http://www.ex.com/Person/ID=1>
          <http://www.ex.com/Person#NAME>
                                       "Alice" .
                            RDB2RDF                6
DM on Table Join
         Person                           City
 ID                   CID              CID
       NAME    AGE                            TITLE
(pk)                  (fk)             (pk)
 1     Alice    25    100              100    Austin

 2     Bob     NULL   200              200    Madrid




                             RDB2RDF                   7
DM on Table Join
         Person                           City
 ID                   CID              CID
       NAME    AGE                            TITLE
(pk)                  (fk)             (pk)
  1    Alice    25    100              100    Austin

  2    Bob     NULL   200              200    Madrid

<http://www.ex.com/Person/ID=1>
          <http://www.ex.com/Person#CID>
                                                  "100" .




                             RDB2RDF                        8
DM on Table Join
         Person                           City
 ID                   CID              CID
       NAME    AGE                            TITLE
(pk)                  (fk)             (pk)
  1    Alice    25    100              100    Austin

  2    Bob     NULL   200              200    Madrid

<http://www.ex.com/Person/ID=1>
          <http://www.ex.com/Person#CID>
                                                  "100" .
<http://www.ex.com/Person/ID=1>
          <http://www.ex.com/Person#ref-CID>
                   <http://www.ex.com/City/CID=100>.
                             RDB2RDF                        9
DM Summary
• Default and Automatic Mapping
• URIs are automatically generated
  – <table>
  – <table#attribute>
  – <table#ref-attribute>
  – <Table#pkAttr=pkValue>
• RDF represents the same relational schema
  – Table  Class
  – Attribute  Property

                       RDB2RDF                10
R2RML


  RDB              manual
        R2RML




                            RDF


         RDB2RDF                  11
R2RML Mapping
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName "Person" ];

  rr:subjectMap [ rr:template "http://ex/person{ID}";
                 rr:class foaf:Person ];

 rr:predicateObjectMap [
    rr:predicate     foaf:name ;
    rr:objectMap     [ rr:column "NAME" ]
  ]
  .

                                       RDB2RDF          12
‘Cool’ URIs

    <http://www.ex.com/Person/ID=1>
    <http://www.ex.com/Person#NAME>




    <http://www.ex.com/data/person1>
     <http://xmlns.com/foaf/0.1/name>

                    RDB2RDF             13
URI Templates
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
                                                        Subject
@base <http://example.com/base/> .                         URI
<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName "Person" ];

  rr:subjectMap [ rr:template "http://ex/person{ID}";
                 rr:class foaf:Person ];

 rr:predicateObjectMap [
    rr:predicate     foaf:name ;
    rr:objectMap     [ rr:column "NAME" ]
  ]
  .

                                       RDB2RDF               14
Predicates
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName "Person" ];

  rr:subjectMap [ rr:template "http://ex/person{ID}";
                 rr:class foaf:Person ];

 rr:predicateObjectMap [                                Predicate
    rr:predicate     foaf:name ;                              URI
    rr:objectMap     [ rr:column "NAME" ]
  ]
  .

                                       RDB2RDF                15
Object Maps
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName "Person" ];

  rr:subjectMap [ rr:template "http://ex/Person{ID}";
                 rr:class foaf:Person ];

 rr:predicateObjectMap [
    rr:predicate     foaf:name ;                        Object
    rr:objectMap     [ rr:column "NAME" ]
  ]                                                      Value
  .

                                       RDB2RDF             16
Classes
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName "Person" ];

  rr:subjectMap [ rr:template "http://ex/Person{ID}";
                 rr:class foaf:Person];

 rr:predicateObjectMap [
    rr:predicate     foaf:name ;
    rr:objectMap     [ rr:column "NAME" ]
  ]
  .                             <subject         uri> rdf:type foaf:Person
                                       RDB2RDF                         17
R2RML on Joins
<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:tableName"Person" ];

  rr:subjectMap [ rr:template "http://ex/Person{ID}";
                      rr:class foaf:Person ];

 rr:predicateObjectMap [                                      <TriplesMap2>
    rr:predicate foaf:based_near ;                              a rr:TriplesMap;
    rr:objectMap [
                                                                rr:logicalTable
             rr:parentTripleMap <TripleMap2>;
             rr:joinCondition [                                  [ rr:tableName "City" ];
                        rr:child "CID";
                        rr:parent "CID"                         rr:subjectMap
                   ]                                             [ rr:template
             ]                                                       "http://ex/City{CID}";
  ]                                                                rr:class ex:City ];
  .
                                                               rr:predicateObjectMap [
                                                                  rr:predicate dc:title ;
                                                                  rr:objectMap
                                                                   [ rr:column "TITLE" ]
                                                                ].

                                                    RDB2RDF                                   18
Customized Mapping

   SELECT gender, firstname, lastname
   FROM Person WHERE gender = "F"




      ex:Person1 rdf:type ex:Woman .

      ex:Person1 foaf:name "Alice Smith" .

                     RDB2RDF                 19
SQL Queries
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
  a rr:TriplesMap;

  rr:logicalTable [ rr:sqlQuery
          """SELECT concat(firstname, " ", lastname) AS name
          FROM Person WHERE gender = 'F' """];

  rr:subjectMap [ rr:template "http://ex/Person{ID}";
                 rr:class ex:Woman];

 rr:predicateObjectMap [
    rr:predicate     foaf:name ;
    rr:objectMap     [ rr:column "name" ]
  ]
  .                                 RDB2RDF                    20
R2RML
• Manual and Customizable
• Learning Curve
• View relational data as RDF expressed in the
  structure and target vocabulary of the
  mapping author’s choice




                      RDB2RDF                    21
Extract – Transform – Load
(ETL)

                             SPARQL
   RDB
                Dump


                              RDF



                 RDB2RDF              22
Wrapper System


                  SQL              SPARQL
  RDB
                        Mapping
         SQL
        Results
                                      RDF


                                   SPARQL
                         RDB2RDF   Results   23
EUCLID Scenario
Application




                               Analysis &                                     Visualization
                                                           RDFa                 Module
                             Mining Module
Access




                                                                                       SPARQL
                                                                                      Endpoint
                                                                                                           Publishing
LD Dataset




                      Vocabulary                                                                  Integrated
                                            Interlinking          Cleansing
                       Mapping                                                                      Dataset




                                 Physical Wrapper             LD Wrapper      R2R Transf.     LD Wrapper
Data acquisition




                                                                                                               RDF/
                                                                                                               XML
                     Streaming providers     Downloads
                              Musical Content                          Metadata                Other content
                                                                                                                24
W3C RDB2RDF
                                                                              • Task: Integrate data from
                                   SPARQL                                       relational DBMS with
Access




                                  Endpoint                                      Linked Data
                                                    Publishing

                                                                              • Approach: map from
                                  Integrated             R2RML                  relational schema to
                                    Data in              Engine
LD Dataset




                                  Triplestore                                   semantic vocabulary with
                                                                                R2RML
                     Vocabulary
                                          Interlinking            Cleansing   • Publishing: two
                      Mapping
                                                                                alternatives –
                                                                                 – Translate SPARQL into SQL
  Data acquisition




                                                                                   on the fly
                                                                                 – Batch transform data into
                                            Relational
                                              DBMS
                                                                                   RDF, index and provide
                                                                                   SPARQL access in a
                                                                                   triplestore
                                                                  RDB2RDF                              25
MusicBrainz Next Gen Schema
• artist
   As pre-NGS, but
   further attributes
• artist_credit
    Allows joint credit
• release_group
   Cf. ‘album’
   versus:
• release • track    • work
• medium • tracklist • recording
https://wiki.musicbrainz.org/Next_Generation_Schema
                                         RDB2RDF      26
Music Ontology
• MusicArtist
     – ArtistEvent, member_of
• SignalGroup
    ‘Album’ as per Release_Group
• Release
     – ReleaseEvent
•   Record
•   Track
•   Work
•   Composition
http://musicontology.com/
                            RDB2RDF   27
Scale
• MusicBrainz RDF derived via R2RML:


                                                                 300M
                                                                 Triples



                          lb:artist_member a rr:TriplesMap ;
                            rr:logicalTable [rr:sqlQuery
                              """SELECT a1.gid, a2.gid AS band
                                 FROM artist a1
                                   INNER JOIN l_artist_artist ON a1.id =
                          l_artist_artist.entity0
                                   INNER JOIN link ON l_artist_artist.link = link.id
                                   INNER JOIN link_type ON link_type = link_type.id
                                   INNER JOIN artist a2 on l_artist_artist.entity1 = a2.id
                                 WHERE link_type.gid='5be4c609-9afa-4ea0-910b-12ffb71e3821'"""]
                          ;
                            rr:subjectMap [rr:template "http://musicbrainz.org/artist/{gid}#_"]
                          ;
                            rr:predicateObjectMap
                              [rr:predicate mo:member_of ;
                               rr:objectMap [rr:template
                          "http://musicbrainz.org/artist/{band}#_" ;
                                             rr:termType rr:IRI]] .
                                                                                     28
R2RML Class Mapping
• Mapping tables to classes is ‘easy’:

lb:Artist a rr:TriplesMap ;
  rr:logicalTable [rr:tableName "artist"] ;
  rr:subjectMap
    [rr:class mo:MusicArtist ;
     rr:template
          "http://musicbrainz.org/artist/{gid}#_"] ;
  rr:predicateObjectMap
    [rr:predicate mo:musicbrainz_guid ;
     rr:objectMap [rr:column "gid" ;
                   rr:datatype xsd:string]] .

                        RDB2RDF                    29
R2RML Property Mapping
• Mapping columns to properties can be easy:

lb:artist_name a rr:TriplesMap ;
  rr:logicalTable [rr:sqlQuery
    """SELECT artist.gid, artist_name.name
       FROM artist
         INNER JOIN artist_name ON artist.name =
  artist_name.id"""] ;
  rr:subjectMap [rr:template
               "http://musicbrainz.org/artist/{gid}#_"] ;
  rr:predicateObjectMap
    [rr:predicate foaf:name ;
     rr:objectMap [rr:column "name"]] .


                          RDB2RDF                       30
NGS Advanced Relations
• Major entities (Artist, Release Group, Track, etc.) plus
  URL are paired
  (l_artist_artist)
• Each pairing
  of instances
  refers to a Link
• Links have types
  (cf. RDF properties)
  and attributes



http://wiki.musicbrainz.org/Advanced_Relationship
                                          RDB2RDF            31
Advanced Relations Mapping
• Mapping advanced relationships (SQL joins):
lb:artist_member a rr:TriplesMap ;
  rr:logicalTable [rr:sqlQuery
    """SELECT a1.gid, a2.gid AS band
       FROM artist a1
         INNER JOIN l_artist_artist ON a1.id =
   l_artist_artist.entity0
         INNER JOIN link ON l_artist_artist.link = link.id
         INNER JOIN link_type ON link_type = link_type.id
         INNER JOIN artist a2 on l_artist_artist.entity1 = a2.id
       WHERE link_type.gid='5be4c609-9afa-4ea0-910b-
   12ffb71e3821'"""] ;
  rr:subjectMap [rr:template
   "http://musicbrainz.org/artist/{gid}#_"] ;
  rr:predicateObjectMap
    [rr:predicate mo:member_of ;
     rr:objectMap [rr:template
   "http://musicbrainz.org/artist/{band}#_" ;
                   rr:termType rr:IRI]] .


                               RDB2RDF                             32
Advanced Relations Mapping
• Mapping advanced relationships (SQL joins):
lb:artist_dbpedia a rr:TriplesMap ;
  rr:logicalTable [rr:sqlQuery
    """SELECT artist.gid,
              REPLACE(REPLACE(url, 'wikipedia.org/wiki',
                                    'dbpedia.org/resource'),
                       'http://en.',
                       'http://')
                AS url
       FROM artist
         INNER JOIN l_artist_url ON artist.id = l_artist_url.entity0
         INNER JOIN link ON l_artist_url.link = link.id
         INNER JOIN link_type ON link_type = link_type.id
         INNER JOIN url on l_artist_url.entity1 = url.id
       WHERE link_type.gid='29651736-fa6d-48e4-aadc-a557c6add1cb'
       AND url SIMILAR TO
                 'http://(de|el|en|es|ko|pl|pt).wikipedia.org/wiki/%'"""] ;
  rr:subjectMap lb:sm_artist ;
  rr:predicateObjectMap
    [rr:predicate owl:sameAs ;
     rr:objectMap [rr:column "url"; rr:termType rr:IRI]] .


                                   RDB2RDF                                    33
SPARQL Example
• SPARQL versus SQL
ASK {dbp:Paul_McCartney mo:member dbp:The_Beatles}

SELECT …

INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
INNER   JOIN
WHERE   AND … AND … AND … AND …


                                  RDB2RDF            34
For exercises, quiz and further material visit our website:

                     http://www.euclid-project.eu
      eBook                                      Course




Other channels:




       @euclid_project          EUCLID project            EUCLIDproject

                                                                          35

Weitere ähnliche Inhalte

Was ist angesagt?

A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsDr. Neil Brittliff
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)andyseaborne
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Olaf Hartig
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And VisualizationIvan Ermilov
 
Federated SPARQL Query Processing ISWC2015 Tutorial
Federated SPARQL Query Processing ISWC2015 TutorialFederated SPARQL Query Processing ISWC2015 Tutorial
Federated SPARQL Query Processing ISWC2015 TutorialMuhammad Saleem
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebShamod Lacoul
 
RDF Validation Future work and applications
RDF Validation Future work and applicationsRDF Validation Future work and applications
RDF Validation Future work and applicationsJose Emilio Labra Gayo
 
Mon norton tut_queryinglinkeddata02
Mon norton tut_queryinglinkeddata02Mon norton tut_queryinglinkeddata02
Mon norton tut_queryinglinkeddata02eswcsummerschool
 
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationHiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationMuhammad Saleem
 
Efficient source selection for sparql endpoint federation
Efficient source selection for sparql endpoint federationEfficient source selection for sparql endpoint federation
Efficient source selection for sparql endpoint federationMuhammad Saleem
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031kwangsub kim
 
Federated Query Formulation and Processing Through BioFed
Federated Query Formulation and Processing Through BioFedFederated Query Formulation and Processing Through BioFed
Federated Query Formulation and Processing Through BioFedMuhammad Saleem
 
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL Databases
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL DatabasesA Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL Databases
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL DatabasesLuiz Henrique Zambom Santana
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Olaf Hartig
 
GDG Meets U event - Big data & Wikidata - no lies codelab
GDG Meets U event - Big data & Wikidata -  no lies codelabGDG Meets U event - Big data & Wikidata -  no lies codelab
GDG Meets U event - Big data & Wikidata - no lies codelabCAMELIA BOBAN
 
Another RDF Encoding Form
Another RDF Encoding FormAnother RDF Encoding Form
Another RDF Encoding FormJakob .
 
Shrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebShrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebGordon Dunsire
 

Was ist angesagt? (20)

A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And Visualization
 
Federated SPARQL Query Processing ISWC2015 Tutorial
Federated SPARQL Query Processing ISWC2015 TutorialFederated SPARQL Query Processing ISWC2015 Tutorial
Federated SPARQL Query Processing ISWC2015 Tutorial
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic Web
 
RDF Validation Future work and applications
RDF Validation Future work and applicationsRDF Validation Future work and applications
RDF Validation Future work and applications
 
Mon norton tut_queryinglinkeddata02
Mon norton tut_queryinglinkeddata02Mon norton tut_queryinglinkeddata02
Mon norton tut_queryinglinkeddata02
 
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationHiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
 
Efficient source selection for sparql endpoint federation
Efficient source selection for sparql endpoint federationEfficient source selection for sparql endpoint federation
Efficient source selection for sparql endpoint federation
 
XSPARQL Tutorial
XSPARQL TutorialXSPARQL Tutorial
XSPARQL Tutorial
 
RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031RDF Tutorial - SPARQL 20091031
RDF Tutorial - SPARQL 20091031
 
Federated Query Formulation and Processing Through BioFed
Federated Query Formulation and Processing Through BioFedFederated Query Formulation and Processing Through BioFed
Federated Query Formulation and Processing Through BioFed
 
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL Databases
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL DatabasesA Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL Databases
A Workload-Aware Middleware for Storing Massive RDF Graphs into NoSQL Databases
 
4 sw architectures and sparql
4 sw architectures and sparql4 sw architectures and sparql
4 sw architectures and sparql
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
 
GDG Meets U event - Big data & Wikidata - no lies codelab
GDG Meets U event - Big data & Wikidata -  no lies codelabGDG Meets U event - Big data & Wikidata -  no lies codelab
GDG Meets U event - Big data & Wikidata - no lies codelab
 
Efficient RDF Interchange (ERI) Format for RDF Data Streams
Efficient RDF Interchange (ERI) Format for RDF Data StreamsEfficient RDF Interchange (ERI) Format for RDF Data Streams
Efficient RDF Interchange (ERI) Format for RDF Data Streams
 
Another RDF Encoding Form
Another RDF Encoding FormAnother RDF Encoding Form
Another RDF Encoding Form
 
Shrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic WebShrinking the silo boundary: data and schema in the Semantic Web
Shrinking the silo boundary: data and schema in the Semantic Web
 

Andere mochten auch

Big Linked Data - Creating Training Curricula
Big Linked Data - Creating Training CurriculaBig Linked Data - Creating Training Curricula
Big Linked Data - Creating Training CurriculaEUCLID project
 
Querying Linked Data on Android
Querying Linked Data on AndroidQuerying Linked Data on Android
Querying Linked Data on AndroidEUCLID project
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosEUCLID project
 
Linked data: what it means, why it matters. Karen Coyle
Linked data: what it means, why it matters. Karen CoyleLinked data: what it means, why it matters. Karen Coyle
Linked data: what it means, why it matters. Karen CoyleBiblioteca Nacional de España
 
Best Practices for Linked Data Education
Best Practices for Linked Data EducationBest Practices for Linked Data Education
Best Practices for Linked Data EducationEUCLID project
 
Online Learning and Linked Data: An Introduction
Online Learning and Linked Data: An IntroductionOnline Learning and Linked Data: An Introduction
Online Learning and Linked Data: An IntroductionEUCLID project
 
Speech Technology and Big Data
Speech Technology and Big DataSpeech Technology and Big Data
Speech Technology and Big DataEUCLID project
 
Data Science Curriculum for Professionals
Data Science Curriculum for ProfessionalsData Science Curriculum for Professionals
Data Science Curriculum for ProfessionalsEUCLID project
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataEUCLID project
 
Annotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMAnnotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMRaphaël Brugier
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked DataEUCLID project
 
Interaction with Linked Data
Interaction with Linked DataInteraction with Linked Data
Interaction with Linked DataEUCLID project
 

Andere mochten auch (20)

Big Linked Data - Creating Training Curricula
Big Linked Data - Creating Training CurriculaBig Linked Data - Creating Training Curricula
Big Linked Data - Creating Training Curricula
 
Querying Linked Data on Android
Querying Linked Data on AndroidQuerying Linked Data on Android
Querying Linked Data on Android
 
Querying Linked Data
Querying Linked DataQuerying Linked Data
Querying Linked Data
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 
Linked data: what it means, why it matters. Karen Coyle
Linked data: what it means, why it matters. Karen CoyleLinked data: what it means, why it matters. Karen Coyle
Linked data: what it means, why it matters. Karen Coyle
 
Best Practices for Linked Data Education
Best Practices for Linked Data EducationBest Practices for Linked Data Education
Best Practices for Linked Data Education
 
Online Learning and Linked Data: An Introduction
Online Learning and Linked Data: An IntroductionOnline Learning and Linked Data: An Introduction
Online Learning and Linked Data: An Introduction
 
Speech Technology and Big Data
Speech Technology and Big DataSpeech Technology and Big Data
Speech Technology and Big Data
 
Data Science Curriculum for Professionals
Data Science Curriculum for ProfessionalsData Science Curriculum for Professionals
Data Science Curriculum for Professionals
 
Providing Linked Data
Providing Linked DataProviding Linked Data
Providing Linked Data
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked Data
 
Comment manager des geeks - Devoxx 2015
Comment manager des geeks - Devoxx 2015Comment manager des geeks - Devoxx 2015
Comment manager des geeks - Devoxx 2015
 
Annotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMAnnotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVM
 
Database Project
Database ProjectDatabase Project
Database Project
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
 
Interaction with Linked Data
Interaction with Linked DataInteraction with Linked Data
Interaction with Linked Data
 
Solution4(database)
Solution4(database)Solution4(database)
Solution4(database)
 
Solution3(database)
Solution3(database)Solution3(database)
Solution3(database)
 
Solution2(database)
Solution2(database)Solution2(database)
Solution2(database)
 
Solution4 1(database)
Solution4 1(database)Solution4 1(database)
Solution4 1(database)
 

Ähnlich wie Mapping Relational Databases to Linked Data

Parallel RDF generation of heterogeneous Big Data sources
Parallel RDF generation of heterogeneous Big Data sourcesParallel RDF generation of heterogeneous Big Data sources
Parallel RDF generation of heterogeneous Big Data sourcesssuserf3a67c
 
An Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataAn Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataOlaf Hartig
 
Introduction to Graph Databases with Neo4J
Introduction to Graph Databases with Neo4JIntroduction to Graph Databases with Neo4J
Introduction to Graph Databases with Neo4JBrant Boehmann
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
DataFrame: Spark's new abstraction for data science by Reynold Xin of Databricks
DataFrame: Spark's new abstraction for data science by Reynold Xin of DatabricksDataFrame: Spark's new abstraction for data science by Reynold Xin of Databricks
DataFrame: Spark's new abstraction for data science by Reynold Xin of DatabricksData Con LA
 
CouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourCouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourPeter Friese
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2Dimitris Kontokostas
 
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014Amazon Web Services
 
Spark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Streaming Programming Techniques You Should Know with Gerard MaasSpark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Streaming Programming Techniques You Should Know with Gerard MaasSpark Summit
 
SWT Lecture Session 9 - RDB2RDF direct mapping
SWT Lecture Session 9 - RDB2RDF direct mappingSWT Lecture Session 9 - RDB2RDF direct mapping
SWT Lecture Session 9 - RDB2RDF direct mappingMariano Rodriguez-Muro
 
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIs
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIsBig Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIs
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIsMatt Stubbs
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Some Examples in R- [Data Visualization--R graphics]
 Some Examples in R- [Data Visualization--R graphics] Some Examples in R- [Data Visualization--R graphics]
Some Examples in R- [Data Visualization--R graphics]Dr. Volkan OBAN
 
dot15926 Software Presentation
dot15926 Software Presentationdot15926 Software Presentation
dot15926 Software PresentationVictor Agroskin
 
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...andimou
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIsJosef Petrák
 
Spark by Adform Research, Paulius
Spark by Adform Research, PauliusSpark by Adform Research, Paulius
Spark by Adform Research, PauliusVasil Remeniuk
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Languageandimou
 

Ähnlich wie Mapping Relational Databases to Linked Data (20)

Parallel RDF generation of heterogeneous Big Data sources
Parallel RDF generation of heterogeneous Big Data sourcesParallel RDF generation of heterogeneous Big Data sources
Parallel RDF generation of heterogeneous Big Data sources
 
An Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataAn Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of Data
 
Introduction to Graph Databases with Neo4J
Introduction to Graph Databases with Neo4JIntroduction to Graph Databases with Neo4J
Introduction to Graph Databases with Neo4J
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1
 
DataFrame: Spark's new abstraction for data science by Reynold Xin of Databricks
DataFrame: Spark's new abstraction for data science by Reynold Xin of DatabricksDataFrame: Spark's new abstraction for data science by Reynold Xin of Databricks
DataFrame: Spark's new abstraction for data science by Reynold Xin of Databricks
 
CouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourCouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 Hour
 
Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
 
Spark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Streaming Programming Techniques You Should Know with Gerard MaasSpark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Streaming Programming Techniques You Should Know with Gerard Maas
 
SWT Lecture Session 9 - RDB2RDF direct mapping
SWT Lecture Session 9 - RDB2RDF direct mappingSWT Lecture Session 9 - RDB2RDF direct mapping
SWT Lecture Session 9 - RDB2RDF direct mapping
 
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIs
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIsBig Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIs
Big Data LDN 2017: Processing Fast Data With Apache Spark: the Tale of Two APIs
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Some Examples in R- [Data Visualization--R graphics]
 Some Examples in R- [Data Visualization--R graphics] Some Examples in R- [Data Visualization--R graphics]
Some Examples in R- [Data Visualization--R graphics]
 
dot15926 Software Presentation
dot15926 Software Presentationdot15926 Software Presentation
dot15926 Software Presentation
 
HyperGraphQL
HyperGraphQLHyperGraphQL
HyperGraphQL
 
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...
Machine-Interpretable Dataset and Service Descriptions for Heterogeneous Data...
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
 
Spark by Adform Research, Paulius
Spark by Adform Research, PauliusSpark by Adform Research, Paulius
Spark by Adform Research, Paulius
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Language
 

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Mapping Relational Databases to Linked Data

  • 1. Mapping Relational Databases to Linked Data Barry Norton (presenting) Juan Sequeda
  • 2. W3C RDB2RDF Standards • Standards to map relational data to RDF • A Direct Mapping of Relational Data to RDF – Default automatic mapping of relational data to RDF • R2RML: RDB to RDF Mapping Language – Customizable language to map relational data to RDF RDB2RDF 2
  • 3. Direct Mapping automatic Direct RDB Mapping RDF RDB2RDF 3
  • 4. Direct Mapping on Table Person ID (pk) NAME AGE 1 Alice 25 2 Bob NULL RDB2RDF 4
  • 5. Direct Mapping on Table Person ID (pk) NAME AGE 1 Alice 25 2 Bob NULL RDB2RDF 5
  • 6. Direct Mapping on Table Person ID (pk) NAME AGE 1 Alice 25 2 Bob NULL <http://www.ex.com/Person/ID=1> <http://www.ex.com/Person#NAME> "Alice" . RDB2RDF 6
  • 7. DM on Table Join Person City ID CID CID NAME AGE TITLE (pk) (fk) (pk) 1 Alice 25 100 100 Austin 2 Bob NULL 200 200 Madrid RDB2RDF 7
  • 8. DM on Table Join Person City ID CID CID NAME AGE TITLE (pk) (fk) (pk) 1 Alice 25 100 100 Austin 2 Bob NULL 200 200 Madrid <http://www.ex.com/Person/ID=1> <http://www.ex.com/Person#CID> "100" . RDB2RDF 8
  • 9. DM on Table Join Person City ID CID CID NAME AGE TITLE (pk) (fk) (pk) 1 Alice 25 100 100 Austin 2 Bob NULL 200 200 Madrid <http://www.ex.com/Person/ID=1> <http://www.ex.com/Person#CID> "100" . <http://www.ex.com/Person/ID=1> <http://www.ex.com/Person#ref-CID> <http://www.ex.com/City/CID=100>. RDB2RDF 9
  • 10. DM Summary • Default and Automatic Mapping • URIs are automatically generated – <table> – <table#attribute> – <table#ref-attribute> – <Table#pkAttr=pkValue> • RDF represents the same relational schema – Table  Class – Attribute  Property RDB2RDF 10
  • 11. R2RML RDB manual R2RML RDF RDB2RDF 11
  • 12. R2RML Mapping @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @base <http://example.com/base/> . <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName "Person" ]; rr:subjectMap [ rr:template "http://ex/person{ID}"; rr:class foaf:Person ]; rr:predicateObjectMap [ rr:predicate foaf:name ; rr:objectMap [ rr:column "NAME" ] ] . RDB2RDF 12
  • 13. ‘Cool’ URIs <http://www.ex.com/Person/ID=1> <http://www.ex.com/Person#NAME> <http://www.ex.com/data/person1> <http://xmlns.com/foaf/0.1/name> RDB2RDF 13
  • 14. URI Templates @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . Subject @base <http://example.com/base/> . URI <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName "Person" ]; rr:subjectMap [ rr:template "http://ex/person{ID}"; rr:class foaf:Person ]; rr:predicateObjectMap [ rr:predicate foaf:name ; rr:objectMap [ rr:column "NAME" ] ] . RDB2RDF 14
  • 15. Predicates @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @base <http://example.com/base/> . <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName "Person" ]; rr:subjectMap [ rr:template "http://ex/person{ID}"; rr:class foaf:Person ]; rr:predicateObjectMap [ Predicate rr:predicate foaf:name ; URI rr:objectMap [ rr:column "NAME" ] ] . RDB2RDF 15
  • 16. Object Maps @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @base <http://example.com/base/> . <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName "Person" ]; rr:subjectMap [ rr:template "http://ex/Person{ID}"; rr:class foaf:Person ]; rr:predicateObjectMap [ rr:predicate foaf:name ; Object rr:objectMap [ rr:column "NAME" ] ] Value . RDB2RDF 16
  • 17. Classes @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @base <http://example.com/base/> . <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName "Person" ]; rr:subjectMap [ rr:template "http://ex/Person{ID}"; rr:class foaf:Person]; rr:predicateObjectMap [ rr:predicate foaf:name ; rr:objectMap [ rr:column "NAME" ] ] . <subject uri> rdf:type foaf:Person RDB2RDF 17
  • 18. R2RML on Joins <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:tableName"Person" ]; rr:subjectMap [ rr:template "http://ex/Person{ID}"; rr:class foaf:Person ]; rr:predicateObjectMap [ <TriplesMap2> rr:predicate foaf:based_near ; a rr:TriplesMap; rr:objectMap [ rr:logicalTable rr:parentTripleMap <TripleMap2>; rr:joinCondition [ [ rr:tableName "City" ]; rr:child "CID"; rr:parent "CID" rr:subjectMap ] [ rr:template ] "http://ex/City{CID}"; ] rr:class ex:City ]; . rr:predicateObjectMap [ rr:predicate dc:title ; rr:objectMap [ rr:column "TITLE" ] ]. RDB2RDF 18
  • 19. Customized Mapping SELECT gender, firstname, lastname FROM Person WHERE gender = "F" ex:Person1 rdf:type ex:Woman . ex:Person1 foaf:name "Alice Smith" . RDB2RDF 19
  • 20. SQL Queries @prefix rr: <http://www.w3.org/ns/r2rml#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @base <http://example.com/base/> . <TriplesMap1> a rr:TriplesMap; rr:logicalTable [ rr:sqlQuery """SELECT concat(firstname, " ", lastname) AS name FROM Person WHERE gender = 'F' """]; rr:subjectMap [ rr:template "http://ex/Person{ID}"; rr:class ex:Woman]; rr:predicateObjectMap [ rr:predicate foaf:name ; rr:objectMap [ rr:column "name" ] ] . RDB2RDF 20
  • 21. R2RML • Manual and Customizable • Learning Curve • View relational data as RDF expressed in the structure and target vocabulary of the mapping author’s choice RDB2RDF 21
  • 22. Extract – Transform – Load (ETL) SPARQL RDB Dump RDF RDB2RDF 22
  • 23. Wrapper System SQL SPARQL RDB Mapping SQL Results RDF SPARQL RDB2RDF Results 23
  • 24. EUCLID Scenario Application Analysis & Visualization RDFa Module Mining Module Access SPARQL Endpoint Publishing LD Dataset Vocabulary Integrated Interlinking Cleansing Mapping Dataset Physical Wrapper LD Wrapper R2R Transf. LD Wrapper Data acquisition RDF/ XML Streaming providers Downloads Musical Content Metadata Other content 24
  • 25. W3C RDB2RDF • Task: Integrate data from SPARQL relational DBMS with Access Endpoint Linked Data Publishing • Approach: map from Integrated R2RML relational schema to Data in Engine LD Dataset Triplestore semantic vocabulary with R2RML Vocabulary Interlinking Cleansing • Publishing: two Mapping alternatives – – Translate SPARQL into SQL Data acquisition on the fly – Batch transform data into Relational DBMS RDF, index and provide SPARQL access in a triplestore RDB2RDF 25
  • 26. MusicBrainz Next Gen Schema • artist As pre-NGS, but further attributes • artist_credit Allows joint credit • release_group Cf. ‘album’ versus: • release • track • work • medium • tracklist • recording https://wiki.musicbrainz.org/Next_Generation_Schema RDB2RDF 26
  • 27. Music Ontology • MusicArtist – ArtistEvent, member_of • SignalGroup ‘Album’ as per Release_Group • Release – ReleaseEvent • Record • Track • Work • Composition http://musicontology.com/ RDB2RDF 27
  • 28. Scale • MusicBrainz RDF derived via R2RML: 300M Triples lb:artist_member a rr:TriplesMap ; rr:logicalTable [rr:sqlQuery """SELECT a1.gid, a2.gid AS band FROM artist a1 INNER JOIN l_artist_artist ON a1.id = l_artist_artist.entity0 INNER JOIN link ON l_artist_artist.link = link.id INNER JOIN link_type ON link_type = link_type.id INNER JOIN artist a2 on l_artist_artist.entity1 = a2.id WHERE link_type.gid='5be4c609-9afa-4ea0-910b-12ffb71e3821'"""] ; rr:subjectMap [rr:template "http://musicbrainz.org/artist/{gid}#_"] ; rr:predicateObjectMap [rr:predicate mo:member_of ; rr:objectMap [rr:template "http://musicbrainz.org/artist/{band}#_" ; rr:termType rr:IRI]] . 28
  • 29. R2RML Class Mapping • Mapping tables to classes is ‘easy’: lb:Artist a rr:TriplesMap ; rr:logicalTable [rr:tableName "artist"] ; rr:subjectMap [rr:class mo:MusicArtist ; rr:template "http://musicbrainz.org/artist/{gid}#_"] ; rr:predicateObjectMap [rr:predicate mo:musicbrainz_guid ; rr:objectMap [rr:column "gid" ; rr:datatype xsd:string]] . RDB2RDF 29
  • 30. R2RML Property Mapping • Mapping columns to properties can be easy: lb:artist_name a rr:TriplesMap ; rr:logicalTable [rr:sqlQuery """SELECT artist.gid, artist_name.name FROM artist INNER JOIN artist_name ON artist.name = artist_name.id"""] ; rr:subjectMap [rr:template "http://musicbrainz.org/artist/{gid}#_"] ; rr:predicateObjectMap [rr:predicate foaf:name ; rr:objectMap [rr:column "name"]] . RDB2RDF 30
  • 31. NGS Advanced Relations • Major entities (Artist, Release Group, Track, etc.) plus URL are paired (l_artist_artist) • Each pairing of instances refers to a Link • Links have types (cf. RDF properties) and attributes http://wiki.musicbrainz.org/Advanced_Relationship RDB2RDF 31
  • 32. Advanced Relations Mapping • Mapping advanced relationships (SQL joins): lb:artist_member a rr:TriplesMap ; rr:logicalTable [rr:sqlQuery """SELECT a1.gid, a2.gid AS band FROM artist a1 INNER JOIN l_artist_artist ON a1.id = l_artist_artist.entity0 INNER JOIN link ON l_artist_artist.link = link.id INNER JOIN link_type ON link_type = link_type.id INNER JOIN artist a2 on l_artist_artist.entity1 = a2.id WHERE link_type.gid='5be4c609-9afa-4ea0-910b- 12ffb71e3821'"""] ; rr:subjectMap [rr:template "http://musicbrainz.org/artist/{gid}#_"] ; rr:predicateObjectMap [rr:predicate mo:member_of ; rr:objectMap [rr:template "http://musicbrainz.org/artist/{band}#_" ; rr:termType rr:IRI]] . RDB2RDF 32
  • 33. Advanced Relations Mapping • Mapping advanced relationships (SQL joins): lb:artist_dbpedia a rr:TriplesMap ; rr:logicalTable [rr:sqlQuery """SELECT artist.gid, REPLACE(REPLACE(url, 'wikipedia.org/wiki', 'dbpedia.org/resource'), 'http://en.', 'http://') AS url FROM artist INNER JOIN l_artist_url ON artist.id = l_artist_url.entity0 INNER JOIN link ON l_artist_url.link = link.id INNER JOIN link_type ON link_type = link_type.id INNER JOIN url on l_artist_url.entity1 = url.id WHERE link_type.gid='29651736-fa6d-48e4-aadc-a557c6add1cb' AND url SIMILAR TO 'http://(de|el|en|es|ko|pl|pt).wikipedia.org/wiki/%'"""] ; rr:subjectMap lb:sm_artist ; rr:predicateObjectMap [rr:predicate owl:sameAs ; rr:objectMap [rr:column "url"; rr:termType rr:IRI]] . RDB2RDF 33
  • 34. SPARQL Example • SPARQL versus SQL ASK {dbp:Paul_McCartney mo:member dbp:The_Beatles} SELECT … INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN INNER JOIN WHERE AND … AND … AND … AND … RDB2RDF 34
  • 35. For exercises, quiz and further material visit our website: http://www.euclid-project.eu eBook Course Other channels: @euclid_project EUCLID project EUCLIDproject 35