SlideShare a Scribd company logo
1 of 60
Download to read offline
How Caching Improves
Efficiency and Result Completeness
      for Querying Linked Data
                                          Olaf Hartig
                          http://olafhartig.de/foaf.rdf#olaf

    Database and Information Systems Research Group
                       Humboldt-Universität zu Berlin
Can we query the Web of Data
 as of it were a single,
 giant database?


                   SELECT DISTINCT ?i ?label
                   WHERE {

                    ?prof rdf:type <http://res ... data/dbprofs#DBProfessor> ;
                         foaf:topic_interest ?i .




                   }
                    OPTIONAL {


                    }
                      ?i rdfs:label ?label
                      FILTER( LANG(?label)="en" || LANG(?label)="")


                   ORDER BY ?label
                                                                       ?




 Our approach: Link Traversal Based Query Execution
                                                 [ISWC'09]
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   2
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset




                                                                                   query-local
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   3
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   4
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:




                                                                                             htt
                                                                                                 p:/ ?
     ●   Evaluate parts of the query (triple patterns)




                                                                                                    /bo
         on a continuously augmented set of data




                                                                                                       b.n
                                                                                                          am
         Look up URIs in intermediate




                                                                                                            e
     ●

         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                  5
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:




                                                                                             htt
                                                                                                 p:/ ?
     ●   Evaluate parts of the query (triple patterns)




                                                                                                    /bo
         on a continuously augmented set of data




                                                                                                       b.n
                                                                                                          am
         Look up URIs in intermediate




                                                                                                            e
     ●

         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                  6
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:




                                                                                             htt
                                                                                                 p:/ ?
     ●   Evaluate parts of the query (triple patterns)




                                                                                                    /bo
         on a continuously augmented set of data




                                                                                                       b.n
                                                                                                          am
         Look up URIs in intermediate




                                                                                                            e
     ●

         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                  7
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:




                                                                                             htt
                                                                                                 p:/ ?
     ●   Evaluate parts of the query (triple patterns)




                                                                                                    /bo
         on a continuously augmented set of data




                                                                                                       b.n
                                                                                                          am
         Look up URIs in intermediate




                                                                                                            e
     ●

         solutions and add retrieved data
                  “Descriptor object”
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                  8
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   9
Main Idea
 ●   Intertwine query evaluation with traversal of data links
 ●   We alternate between:
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset
                                                                http://bob.name
                                         Query                                 kno
                                                                                  ws
         http://bob.name
                                                                                           http://alice.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                 10
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                        ?acq
 ●   We alternate between:
                                                                                                  http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset
                                                                http://bob.name
                                         Query                                 kno
                                                                                  ws
         http://bob.name
                                                                                           http://alice.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                        11
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                                    ?acq
 ●   We alternate between:
                                                                                                         http://alice.name
     ●   Evaluate parts of the query (triple patterns)




                                                                                                             ? me
         on a continuously augmented set of data




                                                                                                                a
                                                                                                             e.n
                                                                                                       a lic
                                                                                                   ://
     ●   Look up URIs in intermediate




                                                                                                     p
                                                                                                 htt
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                               12
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                                    ?acq
 ●   We alternate between:
                                                                                                         http://alice.name
     ●   Evaluate parts of the query (triple patterns)




                                                                                                             ? me
         on a continuously augmented set of data




                                                                                                                a
                                                                                                             e.n
                                                                                                       a lic
                                                                                                   ://
     ●   Look up URIs in intermediate




                                                                                                     p
                                                                                                 htt
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                               13
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                                    ?acq
 ●   We alternate between:
                                                                                                         http://alice.name
     ●   Evaluate parts of the query (triple patterns)




                                                                                                             ? me
         on a continuously augmented set of data




                                                                                                                a
                                                                                                             e.n
                                                                                                       a lic
                                                                                                   ://
     ●   Look up URIs in intermediate




                                                                                                     p
                                                                                                 htt
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                               14
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                       ?acq
 ●   We alternate between:
                                                                                                 http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                       15
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                       ?acq
 ●   We alternate between:
                                                                                                 http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                       16
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                              ?acq
 ●   We alternate between:
                                                                                                       http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate
         solutions and add retrieved data
         to the query-local dataset
                                                                       http://alice.name
                                         Query                                      pr o
         http://bob.name                                                                   jec
                                                                                                 t
                                    ?prjName                                                         http://.../AlicesPrj
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                              17
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                              ?acq
 ●   We alternate between:
                                                                                                       http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate                                               ?acq                       ?prj
                                                                            http://alice.name          http://.../AlicesPrj
         solutions and add retrieved data
         to the query-local dataset
                                                                       http://alice.name
                                         Query                                      pr o
         http://bob.name                                                                   jec
                                                                                                 t
                                    ?prjName                                                         http://.../AlicesPrj
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                                18
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                        ?acq
 ●   We alternate between:
                                                                                                 http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate                                               ?acq                ?prj
                                                                            http://alice.name    http://.../AlicesPrj
         solutions and add retrieved data
         to the query-local dataset

                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          19
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                               ?acq
 ●   We alternate between:
                                                                                                        http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate                                               ?acq                       ?prj
                                                                            http://alice.name           http://.../AlicesPrj
         solutions and add retrieved data
         to the query-local dataset                                                              ?prj           ?prjName
                                                                                     http://.../AlicesPrj       “…“
                                         Query
         http://bob.name
                                    ?prjName
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                                 20
Main Idea
 ●   Intertwine query evaluation with traversal of data links
                                                                                                               ?acq
 ●   We alternate between:
                                                                                                        http://alice.name
     ●   Evaluate parts of the query (triple patterns)
         on a continuously augmented set of data
     ●   Look up URIs in intermediate                                               ?acq                       ?prj
                                                                            http://alice.name           http://.../AlicesPrj
         solutions and add retrieved data
         to the query-local dataset                                                              ?prj           ?prjName
                                                                                     http://.../AlicesPrj       “…“
                                         Query                     ?acq                          ?prj           ?prjName
         http://bob.name
                                    ?prjName               http://alice.name         http://.../AlicesPrj       “…“
            s
           ow




                                          me
         kn




                                       na




     ?acq                                                                          query-local
                project           ?prj
                                                                                    dataset
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                                 21
Characteristics
 ●   Link traversal based query execution:
     ●   Evaluation on a continuously augmented dataset
     ●   Discovery of potentially relevant data during execution
     ●   Discovery driven by intermediate solutions

 ●   Main advantage:
     ●   No need to know all data sources in advance

 ●   Limitations:
     ●   Query has to contain a URI as a starting point
     ●
         Ignores data that is not reachable* by the query execution
                                                                       *
                                                                           formal definition in the paper
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data         22
The Issue
 Query
                 ?acq interest
                                             ?i
              s
            ow




                                         label
          kn




    http://bob.name
                                      ?iLabel

                                                                                       query-local
                                                                                        dataset




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data       23
The Issue
 Query
                 ?acq interest
                                             ?i
              s
            ow




                                         label
          kn




    http://bob.name
                                      ?iLabel

                                            htt                                        query-local
                                                p:   //b
                                                         ob                             dataset
                                                       ? .nam
                                                             e




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data       24
The Issue
 Query
                 ?acq interest                                        http://bob.name
                                             ?i
                                                                                    kno
              s
            ow


                                                                                       w    s



                                         label
          kn




                                                                                                 http://alice.name
    http://bob.name
                                      ?iLabel

                                                                                       query-local
                                                                                        dataset




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                       25
The Issue
 Query
                 ?acq interest                                        http://bob.name
                                             ?i
                                                                                    kno
              s
            ow


                                                                                       w    s



                                         label
          kn




                                                                                                  http://alice.name
    http://bob.name
                                      ?iLabel

                                                                                       query-local
                                                                                        dataset



                                                  ?acq                      ?i                   ?iLabel




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                        26
The Issue
 Query
                 ?acq interest
                                             ?i
              s
            ow




                                         label
          kn




    http://bob.name
                                      ?iLabel

                                                                                       query-local
                                                                                        dataset


                                         Query
       http://bob.name
                                    ?prjName
           s
        ow




                                          me
      kn




                                       na




   ?acq                                                                            query-local
               project            ?prj
                                                                                    dataset

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data       27
Reusing the Query-Local Dataset
 Query
                 ?acq interest
                                             ?i
              s
            ow




                                         label
          kn




    http://bob.name
                                      ?iLabel

                                                                                       query-local
                                                                                        dataset


                                         Query
       http://bob.name
                                    ?prjName
           s
        ow




                                          me
      kn




                                       na




   ?acq                                                                            query-local
               project            ?prj
                                                                                    dataset

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data       28
Reusing the Query-Local Dataset
 Query
                 ?acq interest
                                             ?i
              s
            ow




                                         label
          kn




    http://bob.name
                                      ?iLabel


                                                                                                 http://alice.name

                                                                                               o ws
                                         Query                                               kn
       http://bob.name
                                                                        http://bob.name
                                    ?prjName
           s
        ow




                                          me
      kn




                                       na




   ?acq                                                                            query-local
               project            ?prj
                                                                                    dataset

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                       29
Reusing the Query-Local Dataset
 Query
                 ?acq interest
                                             ?i                                                           ?acq
              s
            ow



                                                                                                    http://alice.name




                                         label
          kn




    http://bob.name
                                      ?iLabel


                                                                                                 http://alice.name

                                                                                               o ws
                                         Query                                               kn
       http://bob.name
                                                                        http://bob.name
                                    ?prjName
           s
        ow




                                          me
      kn




                                       na




   ?acq                                                                            query-local
               project            ?prj
                                                                                    dataset

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          30
Hypothesis




        Re-using the query-local dataset (a.k.a. data caching)
                            may benefit
             query performance + result completeness




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   31
Contributions
 ●   Systematic analysis of the impact of data caching
     ●
         Theoretical foundation*
     ●
         Conceptual analysis*
     ●   Empirical evaluation of the potential impact
                                                                                                 *
                                                                                                 see paper




 ●   Out of scope: Caching strategies (replacement, invalidation)


Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data               32
Experiment – Scenario



                                                                         ●   Information about the
                                                                             distributed social
                                                                             network of FOAF
                                                                             profiles
                                                                             ●   5 types of queries
                                                                         ●   Experiment Setup:
                                                                             ●   23 persons
                                                                             ●   Sequential use
                                                                             ➔   115 queries
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data        33
Experiment – Complete Sequence
  no reuse       given 0     0,2 0,4 0,6 0,8         1     ●   no reuse experiment:
                 order
ContactInfoPhillipe                                            ●   No data caching
   (Query No. 36)
                                                           ●   given order experiment
UnsetPropsPhillipe                                             ●   Reuse of the query-local
   (Query No. 37)                                                  dataset for the complete
                                                                   sequence of all 115 queries
2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)                                         ●   Hit rate:
  IncomingPhillipe                                             look-ups answered from cache
    (Query No. 40)                                                   all look-up requests
                         0   0,2 0,4 0,6 0,8         1
                                    hit rate

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   34
Experiment – Complete Sequence
  no reuse       given 0     0,2 0,4 0,6 0,8         1     ●   no reuse experiment:
                 order
ContactInfoPhillipe                                            ●   No data caching
   (Query No. 36)
                                                           ●   given order experiment
UnsetPropsPhillipe                                             ●   Reuse of the query-local
   (Query No. 37)                                                  dataset for the complete
                                                                   sequence of all 115 queries
2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)                                         ●   Hit rate:
  IncomingPhillipe                                             look-ups answered from cache
    (Query No. 40)                                                   all look-up requests
                         0   0,2 0,4 0,6 0,8         1
                                    hit rate

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   35
Experiment – Complete Sequence
  no reuse       given 0     0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                 order
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          36
Experiment – Complete Sequence
  no reuse       given 0     0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                 order
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          37
Summary
 ●   Contributions:
     ●   Theoretical foundation
     ●   Conceptual analysis
     ●   Empirical evaluation
 ●   Main findings:
     ●   Additional results possible (for semantically similar queries)
     ●   Impact on performance may be positive but also negative
 ●   Future work:
     ●   Analysis of caching strategies in our context
     ●   Main issue: invalidation


Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   38
Backup Slides




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   39
Contributions
 ●   Theoretical foundation (extension of the original definition)
     ●   Reachability by a Dseed-initialized execution of a BGP query b
     ●   Dseed-dependent solution for a BGP query b
     ●   Reachability R(B) for a serial execution of B = b1 , … , bn
     ➔   Each solution for bcur is also R(B)-dependent solution for bcur
 ●   Conceptual analysis of the impact of data caching
     ●   Performance factor: p( bcur , B ) = c( bcur , [ ] ) – c( bcur , B )
     ●   Serendipity factor: s( bcur , B ) = b( bcur , B ) – b( bcur , [ ] )
 ●   Empirical verification of the potential impact

 ●   Out of scope: Caching strategies (replacement, invalidation)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   40
Query Template Contact
 SELECT * WHERE {             <PERSON> foaf:knows ?p .

                             OPTIONAL      {   ?p   foaf:name ?name }
                             OPTIONAL      {   ?p   foaf:firstName ?firstName }
                             OPTIONAL      {   ?p   foaf:givenName ?givenName }
                             OPTIONAL      {   ?p   foaf:givenname ?givenname }
                             OPTIONAL      {   ?p   foaf:familyName ?familyName }
                             OPTIONAL      {   ?p   foaf:family_name ?family_name }
                             OPTIONAL      {   ?p   foaf:lastName ?lastName }
                             OPTIONAL      {   ?p   foaf:surname ?surname }

                             OPTIONAL { ?p foaf:birthday ?birthday }

                             OPTIONAL { ?p foaf:img ?img }

                             OPTIONAL      {   ?p   foaf:phone ?phone }
                             OPTIONAL      {   ?p   foaf:aimChatID ?aimChatID }
                             OPTIONAL      {   ?p   foaf:icqChatID ?icqChatID }
                             OPTIONAL      {   ?p   foaf:jabberID ?jabberID }
                             OPTIONAL      {   ?p   foaf:msnChatID ?msnChatID }
                             OPTIONAL      {   ?p   foaf:skypeID ?skypeID }
                             OPTIONAL      {   ?p   foaf:yahooChatID ?yahooChatID }
 }

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   41
Query Template UnsetProps
 SELECT DISTINCT ?result ?resultLabel WHERE
 {
    ?result rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
    ?result rdfs:domain foaf:Person .

       OPTIONAL { <PERSON> ?result ?var0 }
       FILTER ( !bound(?var0) )

       <PERSON> foaf:knows ?var2 .
       ?var2 ?result ?var3 .
       ?result rdfs:label ?resultLabel .
       ?result vs:term_status ?var1 .
 }
 ORDER BY ?var1




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   42
Query Template Incoming
 SELECT DISTINCT ?result WHERE
 {
   ?result foaf:knows <PERSON> .

       OPTIONAL
       {
         ?result foaf:knows ?var1 .
         FILTER ( <PERSON> = ?var1 )
         <PERSON> foaf:knows ?result .
       }
       FILTER ( !bound(?var1) )
 }


Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   43
Query Template 2ndDegree1
 SELECT DISTINCT ?result WHERE
 {
    <PERSON> foaf:knows ?p1 .
    <PERSON> foaf:knows ?p2 .
    FILTER ( ?p1 != ?p2 )

       ?p1 foaf:knows ?result .
       FILTER ( <PERSON> != ?result )
       ?p2 foaf:knows ?result .

       OPTIONAL {
          <PERSON> ?knows ?result .
          FILTER ( ?knows = foaf:knows )
       }
       FILTER ( !bound(?knows) )
 }
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   44
Query Template 2ndDegree2
 SELECT DISTINCT ?result WHERE
 {
    <PERSON> foaf:knows ?p1 .
    <PERSON> foaf:knows ?p2 .
    FILTER ( ?p1 != ?p2 )

       ?result foaf:knows ?p1 .
       FILTER ( <PERSON> != ?result )
       ?result foaf:knows ?p2 .

       OPTIONAL {
          <PERSON> ?knows ?result .
          FILTER ( ?knows = foaf:knows )
       }
       FILTER ( !bound(?knows) )
 }
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   45
Experiment – Single Query
  no reuse       upper 0     0,2 0,4 0,6 0,8         1     ●   no reuse experiment:
                 bound
ContactInfoPhillipe                                            ●   No data caching
   (Query No. 36)
                                                           ●   upper bound experiment
UnsetPropsPhillipe                                             ●   Reuse of query-local dataset
   (Query No. 37)                                                  for 3 executions of each query
2ndDegree1Phillipe                                             ●   Third execution measured
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)                                         ●   Hit rate:
  IncomingPhillipe                                             look-ups answered from cache
    (Query No. 40)                                                   all look-up requests
                         0   0,2 0,4 0,6 0,8         1
                                    hit rate

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data      46
Experiment – Single Query
  no reuse       upper 0     0,2 0,4 0,6 0,8         1     ●   no reuse experiment:
                 bound
ContactInfoPhillipe                                            ●   No data caching
   (Query No. 36)
                                                           ●   upper bound experiment
UnsetPropsPhillipe                                             ●   Reuse of query-local dataset
   (Query No. 37)                                                  for 3 executions of each query
2ndDegree1Phillipe                                             ●   Third execution measured
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)                                         ●   Hit rate:
  IncomingPhillipe                                             look-ups answered from cache
    (Query No. 40)                                                   all look-up requests
                         0   0,2 0,4 0,6 0,8         1
                                    hit rate

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data      47
Experiment – Single Query
  no reuse       upper 0     0,2 0,4 0,6 0,8         1       0   5 10 15 20 25 30                0   20   40   60   80
                 bound
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1       0   5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          48
Experiment – Single Query
  no reuse       upper 0     0,2 0,4 0,6 0,8         1       0   5 10 15 20 25 30                0   20   40   60   80
                 bound
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1       0   5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          49
Experiment – Single Query
         Experiment              Avg.1 number of                       Average1                    Avg.1 query
                                 Query Results                         Hit Rate                  Execution Time

                                            (std.dev.)                       (std.dev.)                (std.dev.)
                                          4.983                            0.576                    30.036 s
          no reuse
                                                  (11.658)                         (0.182)               (46.708)
                                          5.070                            0.996                    1.943 s
     upper bound
                                                  (11.813)                         (0.017)               (11.375)
                                                                       1
                                                                           Averaged over all 115 queries
 ●   In the ideal case for Bupper= [ bcur , bcur ] :
     ●   pupper( bcur , Bupper ) = c( bcur , [ ] ) – c( bcur , Bupper ) = c( bcur , [ ] )
     ●   supper( bcur , Bupper ) = b( bcur , Bupper ) – b( bcur , [ ] ) = 0

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                      50
Experiment – Single Query
         Experiment              Avg.1 number of                       Average1                    Avg.1 query
                                 Query Results                         Hit Rate                  Execution Time

                                            (std.dev.)                       (std.dev.)                (std.dev.)
                                          4.983                            0.576                    30.036 s
          no reuse
                                                  (11.658)                         (0.182)               (46.708)
                                          5.070                            0.996                    1.943 s
     upper bound
                                                  (11.813)                         (0.017)               (11.375)
                                                                       1
                                                                           Averaged over all 115 queries

 ●   Summary (measurement errors aside):
     ●   Same number of query results
     ●   Significant improvements in query performance

Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                      51
Experiment – Complete Sequence
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1     ●
                                                            0
                                                                given15 20 25 experiment:
                                                                 5 10
                                                                      order 30 0 20 40                         60   80
                 bound       order
ContactInfoPhillipe                                             ●   Reuse of the query-local
   (Query No. 36)                                                   dataset for the complete
                                                                    sequence of all 115 queries
UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0       5 10 15 20 25 30             0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          52
Experiment – Complete Sequence
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1     ●
                                                            0
                                                                given15 20 25 experiment:
                                                                 5 10
                                                                      order 30 0 20 40                         60   80
                 bound       order
ContactInfoPhillipe                                             ●   Reuse of the query-local
   (Query No. 36)                                                   dataset for the complete
                                                                    sequence of all 115 queries
UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0       5 10 15 20 25 30             0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          53
Experiment – Complete Sequence
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1      0    5 10 15 20 25 30                0   20   40   60   80
                 bound       order
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          54
Experiment – Complete Sequence
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1      0    5 10 15 20 25 30                0   20   40   60   80
                 bound       order
ContactInfoPhillipe
   (Query No. 36)

UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          55
Experiment – Complete Sequence
                                                           Bgiven order= [ q1 , … , q38 ]
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1      0    5 10 15 20 25 30                0   20   40   60   80
                 bound       order   s( q , Bgiven order ) = b( q39 , Bgiven order ) – b( q39 , [ ] )
                                         39

ContactInfoPhillipe                                               =9–1
   (Query No. 36)
                                                                  =8
UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          56
Experiment – Complete Sequence
                                            Bgiven order= [ q1 , … , q38 ]
  no reuse       upper 0     given0,4 0,6 0,8
                             0,2                     1      0    5 10 15 20 25 30                0   20   40   60   80
                     p'( q , B
                 bound       order given order
                             39
                                                ) = c'( q39 , [ ] ) – c'( q39 , Bgiven order )
ContactInfoPhillipe                                        = 31.48 s – 68.64 s
   (Query No. 36)
                                                                    = – 37.16 s
UnsetPropsPhillipe
   (Query No. 37)

2ndDegree1Phillipe
    (Query No. 38)

2ndDegree2Phillipe
    (Query No. 39)

  IncomingPhillipe
    (Query No. 40)
                         0   0,2 0,4 0,6 0,8         1      0    5 10 15 20 25 30                0   20   40   60   80
                                    hit rate               number of query results               query execution time
                                                                                                     (in seconds)
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                          57
Experiment – Complete Sequence
         Experiment              Avg.1 number of                       Average1                    Avg.1 query
                                 Query Results                         Hit Rate                  Execution Time

                                            (std.dev.)                       (std.dev.)                (std.dev.)
                                          4.983                            0.576                    30.036 s
          no reuse
                                                  (11.658)                         (0.182)               (46.708)
                                          5.070                            0.996                    1.943 s
     upper bound
                                                  (11.813)                         (0.017)               (11.375)
                                          6.878                            0.932                    39.845 s
         given order
                                                 (12.158)                          (0.139)              (145.898)
                                                                       1
                                                                           Averaged over all 115 queries
 ●   Summary:
     ●   Data cache may provide for additional query results
     ●   Impact on performance may be positive but also negative
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                      58
Experiment – Complete Sequence
      Experiment                 Avg.1 number of                       Average1                    Avg.1 query
                                 Query Results                         Hit Rate                  Execution Time

                                            (std.dev.)                      (std.dev.)                 (std.dev.)
                                          4.983                           0.576                     30.036 s
        no reuse
                                                  (11.658)                         (0.182)               (46.708)
                                          5.070                           0.996                     1.943 s
     upper bound
                                                  (11.813)                         (0.017)               (11.375)
                                          6.878                           0.932                     39.845 s
      given order
                                                 (12.158)                          (0.139)              (145.898)
                                          6.652                           0.954                     36.994 s
     random orders
                                                  (11.966)                         (0.036)              (118.700)

 ●   Executing the query sequence in a random order results in
     measurements similar to the given order.
Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data                      59
These slides have been created by
                                      Olaf Hartig

                                              http://olafhartig.de


                     This work is licensed under a
       Creative Commons Attribution-Share Alike 3.0 License
           (http://creativecommons.org/licenses/by-sa/3.0/)




Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data   60

More Related Content

What's hot

Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...
Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...
Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...Thanh Tran
 
Topical clustering of search results
Topical clustering of search resultsTopical clustering of search results
Topical clustering of search resultsSunny Kr
 
Topic detecton by clustering and text mining
Topic detecton by clustering and text miningTopic detecton by clustering and text mining
Topic detecton by clustering and text miningIRJET Journal
 
Query Distributed RDF Graphs: The Effects of Partitioning Paper
Query Distributed RDF Graphs: The Effects of Partitioning PaperQuery Distributed RDF Graphs: The Effects of Partitioning Paper
Query Distributed RDF Graphs: The Effects of Partitioning PaperDBOnto
 
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...idescitation
 
ICDE 2015 - LDV: Light-weight Database Virtualization
ICDE 2015 - LDV: Light-weight Database VirtualizationICDE 2015 - LDV: Light-weight Database Virtualization
ICDE 2015 - LDV: Light-weight Database VirtualizationBoris Glavic
 
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATA
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATAEFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATA
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATAcsandit
 
Automated building of taxonomies for search engines
Automated building of taxonomies for search enginesAutomated building of taxonomies for search engines
Automated building of taxonomies for search enginesBoris Galitsky
 
Matching and merging anonymous terms from web sources
Matching and merging anonymous terms from web sourcesMatching and merging anonymous terms from web sources
Matching and merging anonymous terms from web sourcesIJwest
 
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACH
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACHTEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACH
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACHIJDKP
 
Probablistic information retrieval
Probablistic information retrievalProbablistic information retrieval
Probablistic information retrievalNisha Arankandath
 

What's hot (17)

Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...
Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...
Usability of Keyword-driven Schema-agnostic Search - A Comparative Study of K...
 
An automated template selection framework for keyword query over linked data
An automated template selection framework for keyword query over linked dataAn automated template selection framework for keyword query over linked data
An automated template selection framework for keyword query over linked data
 
Ir
IrIr
Ir
 
Topical clustering of search results
Topical clustering of search resultsTopical clustering of search results
Topical clustering of search results
 
Topic detecton by clustering and text mining
Topic detecton by clustering and text miningTopic detecton by clustering and text mining
Topic detecton by clustering and text mining
 
Query Distributed RDF Graphs: The Effects of Partitioning Paper
Query Distributed RDF Graphs: The Effects of Partitioning PaperQuery Distributed RDF Graphs: The Effects of Partitioning Paper
Query Distributed RDF Graphs: The Effects of Partitioning Paper
 
Z04506138145
Z04506138145Z04506138145
Z04506138145
 
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...
Distributed Algorithm for Frequent Pattern Mining using HadoopMap Reduce Fram...
 
ICDE 2015 - LDV: Light-weight Database Virtualization
ICDE 2015 - LDV: Light-weight Database VirtualizationICDE 2015 - LDV: Light-weight Database Virtualization
ICDE 2015 - LDV: Light-weight Database Virtualization
 
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATA
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATAEFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATA
EFFICIENTLY PROCESSING OF TOP-K TYPICALITY QUERY FOR STRUCTURED DATA
 
Automated building of taxonomies for search engines
Automated building of taxonomies for search enginesAutomated building of taxonomies for search engines
Automated building of taxonomies for search engines
 
Matching and merging anonymous terms from web sources
Matching and merging anonymous terms from web sourcesMatching and merging anonymous terms from web sources
Matching and merging anonymous terms from web sources
 
BoTLRet: A Template-based Linked Data Information Retrieval
 BoTLRet: A Template-based Linked Data Information Retrieval BoTLRet: A Template-based Linked Data Information Retrieval
BoTLRet: A Template-based Linked Data Information Retrieval
 
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACH
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACHTEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACH
TEXT CLUSTERING USING INCREMENTAL FREQUENT PATTERN MINING APPROACH
 
Probablistic information retrieval
Probablistic information retrievalProbablistic information retrieval
Probablistic information retrieval
 
Sub1579
Sub1579Sub1579
Sub1579
 
H1076875
H1076875H1076875
H1076875
 

Similar to How Caching Improves Efficiency and Result Completeness for Querying Linked Data

Fedbench - A Benchmark Suite for Federated Semantic Data Processing
Fedbench - A Benchmark Suite for Federated Semantic Data ProcessingFedbench - A Benchmark Suite for Federated Semantic Data Processing
Fedbench - A Benchmark Suite for Federated Semantic Data ProcessingPeter Haase
 
Seaform Slides in VLDB 2010 PhD Workshop
Seaform Slides in VLDB 2010 PhD WorkshopSeaform Slides in VLDB 2010 PhD Workshop
Seaform Slides in VLDB 2010 PhD WorkshopHao Wu
 
LODOP - Multi-Query Optimization for Linked Data Profiling Queries
LODOP - Multi-Query Optimization for Linked Data Profiling QueriesLODOP - Multi-Query Optimization for Linked Data Profiling Queries
LODOP - Multi-Query Optimization for Linked Data Profiling QueriesAnja Jentzsch
 
Machine Language and Pattern Analysis IEEE 2015 Projects
Machine Language and Pattern Analysis IEEE 2015 ProjectsMachine Language and Pattern Analysis IEEE 2015 Projects
Machine Language and Pattern Analysis IEEE 2015 ProjectsVijay Karan
 
Executing Provenance-Enabled Queries over Web Data
Executing Provenance-Enabled Queries over Web DataExecuting Provenance-Enabled Queries over Web Data
Executing Provenance-Enabled Queries over Web DataeXascale Infolab
 
Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)Dmitry Grapov
 
Using ca e rwin modeling to asure data 09162010
Using ca e rwin modeling to asure data 09162010Using ca e rwin modeling to asure data 09162010
Using ca e rwin modeling to asure data 09162010ERwin Modeling
 
Machine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineMachine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineSalford Systems
 
Panda Provenance
Panda ProvenancePanda Provenance
Panda ProvenanceVlad Vega
 
Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Koichi Shirahata
 
25.ranking on data manifold with sink points
25.ranking on data manifold with sink points25.ranking on data manifold with sink points
25.ranking on data manifold with sink pointsVenkatesh Neerukonda
 
Sharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsSharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsGaignard Alban
 
Web Access Log Management
Web Access Log ManagementWeb Access Log Management
Web Access Log ManagementJay Patel
 
Efficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesEfficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesRui Vieira
 
Keyword Query Routing
Keyword Query RoutingKeyword Query Routing
Keyword Query RoutingSWAMI06
 
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...Thanh Tran
 
Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Jean Brenda
 
M phil-computer-science-machine-language-and-pattern-analysis-projects
M phil-computer-science-machine-language-and-pattern-analysis-projectsM phil-computer-science-machine-language-and-pattern-analysis-projects
M phil-computer-science-machine-language-and-pattern-analysis-projectsVijay Karan
 

Similar to How Caching Improves Efficiency and Result Completeness for Querying Linked Data (20)

Fedbench - A Benchmark Suite for Federated Semantic Data Processing
Fedbench - A Benchmark Suite for Federated Semantic Data ProcessingFedbench - A Benchmark Suite for Federated Semantic Data Processing
Fedbench - A Benchmark Suite for Federated Semantic Data Processing
 
Distributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query ProcessingDistributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query Processing
 
Seaform Slides in VLDB 2010 PhD Workshop
Seaform Slides in VLDB 2010 PhD WorkshopSeaform Slides in VLDB 2010 PhD Workshop
Seaform Slides in VLDB 2010 PhD Workshop
 
UNIT V.pdf
UNIT V.pdfUNIT V.pdf
UNIT V.pdf
 
LODOP - Multi-Query Optimization for Linked Data Profiling Queries
LODOP - Multi-Query Optimization for Linked Data Profiling QueriesLODOP - Multi-Query Optimization for Linked Data Profiling Queries
LODOP - Multi-Query Optimization for Linked Data Profiling Queries
 
Machine Language and Pattern Analysis IEEE 2015 Projects
Machine Language and Pattern Analysis IEEE 2015 ProjectsMachine Language and Pattern Analysis IEEE 2015 Projects
Machine Language and Pattern Analysis IEEE 2015 Projects
 
Executing Provenance-Enabled Queries over Web Data
Executing Provenance-Enabled Queries over Web DataExecuting Provenance-Enabled Queries over Web Data
Executing Provenance-Enabled Queries over Web Data
 
Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)
 
Using ca e rwin modeling to asure data 09162010
Using ca e rwin modeling to asure data 09162010Using ca e rwin modeling to asure data 09162010
Using ca e rwin modeling to asure data 09162010
 
Machine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineMachine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search Engine
 
Panda Provenance
Panda ProvenancePanda Provenance
Panda Provenance
 
Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...Performance Analysis of MapReduce Implementations on High Performance Homolog...
Performance Analysis of MapReduce Implementations on High Performance Homolog...
 
25.ranking on data manifold with sink points
25.ranking on data manifold with sink points25.ranking on data manifold with sink points
25.ranking on data manifold with sink points
 
Sharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsSharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reports
 
Web Access Log Management
Web Access Log ManagementWeb Access Log Management
Web Access Log Management
 
Efficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesEfficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databases
 
Keyword Query Routing
Keyword Query RoutingKeyword Query Routing
Keyword Query Routing
 
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...
Top-k Exploration of Query Candidates for Efficient Keyword Search on Graph-S...
 
Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval
 
M phil-computer-science-machine-language-and-pattern-analysis-projects
M phil-computer-science-machine-language-and-pattern-analysis-projectsM phil-computer-science-machine-language-and-pattern-analysis-projects
M phil-computer-science-machine-language-and-pattern-analysis-projects
 

More from Olaf Hartig

LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataOlaf Hartig
 
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebOlaf Hartig
 
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationRethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationOlaf Hartig
 
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Olaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Olaf Hartig
 
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
 
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
 
An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryOlaf Hartig
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)Olaf Hartig
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Olaf Hartig
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataOlaf Hartig
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Olaf Hartig
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Olaf Hartig
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Olaf Hartig
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Olaf Hartig
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the WebOlaf Hartig
 

More from Olaf Hartig (20)

LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked Data
 
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
 
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationRethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
 
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
 
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
 
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
 
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
 
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 (...
 
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 (...
 
An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and Query
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked Data
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the Web
 

Recently uploaded

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

How Caching Improves Efficiency and Result Completeness for Querying Linked Data

  • 1. How Caching Improves Efficiency and Result Completeness for Querying Linked Data Olaf Hartig http://olafhartig.de/foaf.rdf#olaf Database and Information Systems Research Group Humboldt-Universität zu Berlin
  • 2. Can we query the Web of Data as of it were a single, giant database? SELECT DISTINCT ?i ?label WHERE { ?prof rdf:type <http://res ... data/dbprofs#DBProfessor> ; foaf:topic_interest ?i . } OPTIONAL { } ?i rdfs:label ?label FILTER( LANG(?label)="en" || LANG(?label)="") ORDER BY ?label ? Our approach: Link Traversal Based Query Execution [ISWC'09] Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 2
  • 3. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset query-local dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 3
  • 4. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 4
  • 5. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: htt p:/ ? ● Evaluate parts of the query (triple patterns) /bo on a continuously augmented set of data b.n am Look up URIs in intermediate e ● solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 5
  • 6. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: htt p:/ ? ● Evaluate parts of the query (triple patterns) /bo on a continuously augmented set of data b.n am Look up URIs in intermediate e ● solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 6
  • 7. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: htt p:/ ? ● Evaluate parts of the query (triple patterns) /bo on a continuously augmented set of data b.n am Look up URIs in intermediate e ● solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 7
  • 8. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: htt p:/ ? ● Evaluate parts of the query (triple patterns) /bo on a continuously augmented set of data b.n am Look up URIs in intermediate e ● solutions and add retrieved data “Descriptor object” to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 8
  • 9. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 9
  • 10. Main Idea ● Intertwine query evaluation with traversal of data links ● We alternate between: ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset http://bob.name Query kno ws http://bob.name http://alice.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 10
  • 11. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset http://bob.name Query kno ws http://bob.name http://alice.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 11
  • 12. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) ? me on a continuously augmented set of data a e.n a lic :// ● Look up URIs in intermediate p htt solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 12
  • 13. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) ? me on a continuously augmented set of data a e.n a lic :// ● Look up URIs in intermediate p htt solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 13
  • 14. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) ? me on a continuously augmented set of data a e.n a lic :// ● Look up URIs in intermediate p htt solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 14
  • 15. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 15
  • 16. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 16
  • 17. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate solutions and add retrieved data to the query-local dataset http://alice.name Query pr o http://bob.name jec t ?prjName http://.../AlicesPrj s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 17
  • 18. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate ?acq ?prj http://alice.name http://.../AlicesPrj solutions and add retrieved data to the query-local dataset http://alice.name Query pr o http://bob.name jec t ?prjName http://.../AlicesPrj s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 18
  • 19. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate ?acq ?prj http://alice.name http://.../AlicesPrj solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 19
  • 20. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate ?acq ?prj http://alice.name http://.../AlicesPrj solutions and add retrieved data to the query-local dataset ?prj ?prjName http://.../AlicesPrj “…“ Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 20
  • 21. Main Idea ● Intertwine query evaluation with traversal of data links ?acq ● We alternate between: http://alice.name ● Evaluate parts of the query (triple patterns) on a continuously augmented set of data ● Look up URIs in intermediate ?acq ?prj http://alice.name http://.../AlicesPrj solutions and add retrieved data to the query-local dataset ?prj ?prjName http://.../AlicesPrj “…“ Query ?acq ?prj ?prjName http://bob.name ?prjName http://alice.name http://.../AlicesPrj “…“ s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 21
  • 22. Characteristics ● Link traversal based query execution: ● Evaluation on a continuously augmented dataset ● Discovery of potentially relevant data during execution ● Discovery driven by intermediate solutions ● Main advantage: ● No need to know all data sources in advance ● Limitations: ● Query has to contain a URI as a starting point ● Ignores data that is not reachable* by the query execution * formal definition in the paper Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 22
  • 23. The Issue Query ?acq interest ?i s ow label kn http://bob.name ?iLabel query-local dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 23
  • 24. The Issue Query ?acq interest ?i s ow label kn http://bob.name ?iLabel htt query-local p: //b ob dataset ? .nam e Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 24
  • 25. The Issue Query ?acq interest http://bob.name ?i kno s ow w s label kn http://alice.name http://bob.name ?iLabel query-local dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 25
  • 26. The Issue Query ?acq interest http://bob.name ?i kno s ow w s label kn http://alice.name http://bob.name ?iLabel query-local dataset ?acq ?i ?iLabel Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 26
  • 27. The Issue Query ?acq interest ?i s ow label kn http://bob.name ?iLabel query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 27
  • 28. Reusing the Query-Local Dataset Query ?acq interest ?i s ow label kn http://bob.name ?iLabel query-local dataset Query http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 28
  • 29. Reusing the Query-Local Dataset Query ?acq interest ?i s ow label kn http://bob.name ?iLabel http://alice.name o ws Query kn http://bob.name http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 29
  • 30. Reusing the Query-Local Dataset Query ?acq interest ?i ?acq s ow http://alice.name label kn http://bob.name ?iLabel http://alice.name o ws Query kn http://bob.name http://bob.name ?prjName s ow me kn na ?acq query-local project ?prj dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 30
  • 31. Hypothesis Re-using the query-local dataset (a.k.a. data caching) may benefit query performance + result completeness Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 31
  • 32. Contributions ● Systematic analysis of the impact of data caching ● Theoretical foundation* ● Conceptual analysis* ● Empirical evaluation of the potential impact * see paper ● Out of scope: Caching strategies (replacement, invalidation) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 32
  • 33. Experiment – Scenario ● Information about the distributed social network of FOAF profiles ● 5 types of queries ● Experiment Setup: ● 23 persons ● Sequential use ➔ 115 queries Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 33
  • 34. Experiment – Complete Sequence no reuse given 0 0,2 0,4 0,6 0,8 1 ● no reuse experiment: order ContactInfoPhillipe ● No data caching (Query No. 36) ● given order experiment UnsetPropsPhillipe ● Reuse of the query-local (Query No. 37) dataset for the complete sequence of all 115 queries 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) ● Hit rate: IncomingPhillipe look-ups answered from cache (Query No. 40) all look-up requests 0 0,2 0,4 0,6 0,8 1 hit rate Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 34
  • 35. Experiment – Complete Sequence no reuse given 0 0,2 0,4 0,6 0,8 1 ● no reuse experiment: order ContactInfoPhillipe ● No data caching (Query No. 36) ● given order experiment UnsetPropsPhillipe ● Reuse of the query-local (Query No. 37) dataset for the complete sequence of all 115 queries 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) ● Hit rate: IncomingPhillipe look-ups answered from cache (Query No. 40) all look-up requests 0 0,2 0,4 0,6 0,8 1 hit rate Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 35
  • 36. Experiment – Complete Sequence no reuse given 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 order ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 36
  • 37. Experiment – Complete Sequence no reuse given 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 order ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 37
  • 38. Summary ● Contributions: ● Theoretical foundation ● Conceptual analysis ● Empirical evaluation ● Main findings: ● Additional results possible (for semantically similar queries) ● Impact on performance may be positive but also negative ● Future work: ● Analysis of caching strategies in our context ● Main issue: invalidation Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 38
  • 39. Backup Slides Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 39
  • 40. Contributions ● Theoretical foundation (extension of the original definition) ● Reachability by a Dseed-initialized execution of a BGP query b ● Dseed-dependent solution for a BGP query b ● Reachability R(B) for a serial execution of B = b1 , … , bn ➔ Each solution for bcur is also R(B)-dependent solution for bcur ● Conceptual analysis of the impact of data caching ● Performance factor: p( bcur , B ) = c( bcur , [ ] ) – c( bcur , B ) ● Serendipity factor: s( bcur , B ) = b( bcur , B ) – b( bcur , [ ] ) ● Empirical verification of the potential impact ● Out of scope: Caching strategies (replacement, invalidation) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 40
  • 41. Query Template Contact SELECT * WHERE { <PERSON> foaf:knows ?p . OPTIONAL { ?p foaf:name ?name } OPTIONAL { ?p foaf:firstName ?firstName } OPTIONAL { ?p foaf:givenName ?givenName } OPTIONAL { ?p foaf:givenname ?givenname } OPTIONAL { ?p foaf:familyName ?familyName } OPTIONAL { ?p foaf:family_name ?family_name } OPTIONAL { ?p foaf:lastName ?lastName } OPTIONAL { ?p foaf:surname ?surname } OPTIONAL { ?p foaf:birthday ?birthday } OPTIONAL { ?p foaf:img ?img } OPTIONAL { ?p foaf:phone ?phone } OPTIONAL { ?p foaf:aimChatID ?aimChatID } OPTIONAL { ?p foaf:icqChatID ?icqChatID } OPTIONAL { ?p foaf:jabberID ?jabberID } OPTIONAL { ?p foaf:msnChatID ?msnChatID } OPTIONAL { ?p foaf:skypeID ?skypeID } OPTIONAL { ?p foaf:yahooChatID ?yahooChatID } } Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 41
  • 42. Query Template UnsetProps SELECT DISTINCT ?result ?resultLabel WHERE { ?result rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> . ?result rdfs:domain foaf:Person . OPTIONAL { <PERSON> ?result ?var0 } FILTER ( !bound(?var0) ) <PERSON> foaf:knows ?var2 . ?var2 ?result ?var3 . ?result rdfs:label ?resultLabel . ?result vs:term_status ?var1 . } ORDER BY ?var1 Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 42
  • 43. Query Template Incoming SELECT DISTINCT ?result WHERE { ?result foaf:knows <PERSON> . OPTIONAL { ?result foaf:knows ?var1 . FILTER ( <PERSON> = ?var1 ) <PERSON> foaf:knows ?result . } FILTER ( !bound(?var1) ) } Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 43
  • 44. Query Template 2ndDegree1 SELECT DISTINCT ?result WHERE { <PERSON> foaf:knows ?p1 . <PERSON> foaf:knows ?p2 . FILTER ( ?p1 != ?p2 ) ?p1 foaf:knows ?result . FILTER ( <PERSON> != ?result ) ?p2 foaf:knows ?result . OPTIONAL { <PERSON> ?knows ?result . FILTER ( ?knows = foaf:knows ) } FILTER ( !bound(?knows) ) } Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 44
  • 45. Query Template 2ndDegree2 SELECT DISTINCT ?result WHERE { <PERSON> foaf:knows ?p1 . <PERSON> foaf:knows ?p2 . FILTER ( ?p1 != ?p2 ) ?result foaf:knows ?p1 . FILTER ( <PERSON> != ?result ) ?result foaf:knows ?p2 . OPTIONAL { <PERSON> ?knows ?result . FILTER ( ?knows = foaf:knows ) } FILTER ( !bound(?knows) ) } Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 45
  • 46. Experiment – Single Query no reuse upper 0 0,2 0,4 0,6 0,8 1 ● no reuse experiment: bound ContactInfoPhillipe ● No data caching (Query No. 36) ● upper bound experiment UnsetPropsPhillipe ● Reuse of query-local dataset (Query No. 37) for 3 executions of each query 2ndDegree1Phillipe ● Third execution measured (Query No. 38) 2ndDegree2Phillipe (Query No. 39) ● Hit rate: IncomingPhillipe look-ups answered from cache (Query No. 40) all look-up requests 0 0,2 0,4 0,6 0,8 1 hit rate Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 46
  • 47. Experiment – Single Query no reuse upper 0 0,2 0,4 0,6 0,8 1 ● no reuse experiment: bound ContactInfoPhillipe ● No data caching (Query No. 36) ● upper bound experiment UnsetPropsPhillipe ● Reuse of query-local dataset (Query No. 37) for 3 executions of each query 2ndDegree1Phillipe ● Third execution measured (Query No. 38) 2ndDegree2Phillipe (Query No. 39) ● Hit rate: IncomingPhillipe look-ups answered from cache (Query No. 40) all look-up requests 0 0,2 0,4 0,6 0,8 1 hit rate Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 47
  • 48. Experiment – Single Query no reuse upper 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 bound ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 48
  • 49. Experiment – Single Query no reuse upper 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 bound ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 49
  • 50. Experiment – Single Query Experiment Avg.1 number of Average1 Avg.1 query Query Results Hit Rate Execution Time (std.dev.) (std.dev.) (std.dev.) 4.983 0.576 30.036 s no reuse (11.658) (0.182) (46.708) 5.070 0.996 1.943 s upper bound (11.813) (0.017) (11.375) 1 Averaged over all 115 queries ● In the ideal case for Bupper= [ bcur , bcur ] : ● pupper( bcur , Bupper ) = c( bcur , [ ] ) – c( bcur , Bupper ) = c( bcur , [ ] ) ● supper( bcur , Bupper ) = b( bcur , Bupper ) – b( bcur , [ ] ) = 0 Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 50
  • 51. Experiment – Single Query Experiment Avg.1 number of Average1 Avg.1 query Query Results Hit Rate Execution Time (std.dev.) (std.dev.) (std.dev.) 4.983 0.576 30.036 s no reuse (11.658) (0.182) (46.708) 5.070 0.996 1.943 s upper bound (11.813) (0.017) (11.375) 1 Averaged over all 115 queries ● Summary (measurement errors aside): ● Same number of query results ● Significant improvements in query performance Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 51
  • 52. Experiment – Complete Sequence no reuse upper 0 given0,4 0,6 0,8 0,2 1 ● 0 given15 20 25 experiment: 5 10 order 30 0 20 40 60 80 bound order ContactInfoPhillipe ● Reuse of the query-local (Query No. 36) dataset for the complete sequence of all 115 queries UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 52
  • 53. Experiment – Complete Sequence no reuse upper 0 given0,4 0,6 0,8 0,2 1 ● 0 given15 20 25 experiment: 5 10 order 30 0 20 40 60 80 bound order ContactInfoPhillipe ● Reuse of the query-local (Query No. 36) dataset for the complete sequence of all 115 queries UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 53
  • 54. Experiment – Complete Sequence no reuse upper 0 given0,4 0,6 0,8 0,2 1 0 5 10 15 20 25 30 0 20 40 60 80 bound order ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 54
  • 55. Experiment – Complete Sequence no reuse upper 0 given0,4 0,6 0,8 0,2 1 0 5 10 15 20 25 30 0 20 40 60 80 bound order ContactInfoPhillipe (Query No. 36) UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 55
  • 56. Experiment – Complete Sequence Bgiven order= [ q1 , … , q38 ] no reuse upper 0 given0,4 0,6 0,8 0,2 1 0 5 10 15 20 25 30 0 20 40 60 80 bound order s( q , Bgiven order ) = b( q39 , Bgiven order ) – b( q39 , [ ] ) 39 ContactInfoPhillipe =9–1 (Query No. 36) =8 UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 56
  • 57. Experiment – Complete Sequence Bgiven order= [ q1 , … , q38 ] no reuse upper 0 given0,4 0,6 0,8 0,2 1 0 5 10 15 20 25 30 0 20 40 60 80 p'( q , B bound order given order 39 ) = c'( q39 , [ ] ) – c'( q39 , Bgiven order ) ContactInfoPhillipe = 31.48 s – 68.64 s (Query No. 36) = – 37.16 s UnsetPropsPhillipe (Query No. 37) 2ndDegree1Phillipe (Query No. 38) 2ndDegree2Phillipe (Query No. 39) IncomingPhillipe (Query No. 40) 0 0,2 0,4 0,6 0,8 1 0 5 10 15 20 25 30 0 20 40 60 80 hit rate number of query results query execution time (in seconds) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 57
  • 58. Experiment – Complete Sequence Experiment Avg.1 number of Average1 Avg.1 query Query Results Hit Rate Execution Time (std.dev.) (std.dev.) (std.dev.) 4.983 0.576 30.036 s no reuse (11.658) (0.182) (46.708) 5.070 0.996 1.943 s upper bound (11.813) (0.017) (11.375) 6.878 0.932 39.845 s given order (12.158) (0.139) (145.898) 1 Averaged over all 115 queries ● Summary: ● Data cache may provide for additional query results ● Impact on performance may be positive but also negative Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 58
  • 59. Experiment – Complete Sequence Experiment Avg.1 number of Average1 Avg.1 query Query Results Hit Rate Execution Time (std.dev.) (std.dev.) (std.dev.) 4.983 0.576 30.036 s no reuse (11.658) (0.182) (46.708) 5.070 0.996 1.943 s upper bound (11.813) (0.017) (11.375) 6.878 0.932 39.845 s given order (12.158) (0.139) (145.898) 6.652 0.954 36.994 s random orders (11.966) (0.036) (118.700) ● Executing the query sequence in a random order results in measurements similar to the given order. Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 59
  • 60. These slides have been created by Olaf Hartig http://olafhartig.de This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/) Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 60