How Caching Improves Efficiency and Result Completeness for Querying Linked Data Olaf Hartig http://olafhartig.de/foaf.rdf#olaf @olafhartig 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 w o name n k ?acq query-local ?prj project 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: h t t p : ● Evaluate parts of the query (triple patterns) / / b o b ? on a continuously augmented set of data . n a m ● Look up URIs in intermediate e solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s w o name n k ?acq query-local ?prj project 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: h t t p : ● Evaluate parts of the query (triple patterns) / / b o b ? on a continuously augmented set of data . n a m ● Look up URIs in intermediate e solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s w o name n k ?acq query-local ?prj project 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: h t t p : ● Evaluate parts of the query (triple patterns) / / b o b ? on a continuously augmented set of data . n a m ● Look up URIs in intermediate e solutions and add retrieved data to the query-local dataset Query http://bob.name ?prjName s w o name n k ?acq query-local ?prj project 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: h t t p : ● Evaluate parts of the query (triple patterns) / / b o b ? on a continuously augmented set of data . n a m ● Look up URIs in intermediate e solutions and add retrieved data “Descriptor object” to the query-local dataset Query http://bob.name ?prjName s w o name n k ?acq query-local ?prj project 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 w o name n k ?acq query-local ?prj project 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 knows Query Query http://bob.name http://bob.name http://alice.name ?prjName ?prjName s s w w o o name name n n k k ?acq ?acq query-local ?prj ?prj project project 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 knows Query http://bob.name http://alice.name ?prjName s w o name n k ?acq query-local ?prj project 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 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 w o name n k ?acq query-local ?prj project 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 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 w o name n k ?acq query-local ?prj project 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 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 w o name n k ?acq query-local ?prj project 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 w o name n k ?acq query-local ?prj project 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 w o name n k ?acq query-local ?prj project 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 project http://bob.name ?prjName http://.../AlicesPrj s w o name n k ?acq query-local ?prj project 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 project http://bob.name ?prjName http://.../AlicesPrj s w o name n k ?acq query-local ?prj project 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 w o name n k ?acq query-local ?prj project dataset Olaf Hartig - How Caching Improves Efficiency and Result Completeness for Querying Linked Data 19
Recommend
More recommend