Federated Query Processing for the Semantic Web
Total Page:16
File Type:pdf, Size:1020Kb
Departamento de Inteligencia Artificial Facultad de Informatica´ Federated Query Processing for the Semantic Web A thesis submitted for the degree of PhD Thesis Author: Msc. Carlos Buil-Aranda Advisor: Dr. Oscar Corcho Garc´ıa January 2012 ii Tribunal nombrado por el Sr. Rector Magfco. de la Universidad Politecnica´ de Madrid, el d´ıa...............de.............................de 20.... Presidente : Vocal : Vocal : Vocal : Secretario : Suplente : Suplente : Realizado el acto de defensa y lectura de la Tesis el d´ıa..........de......................de 20...... en la E.T.S.I. /Facultad...................................................... Calificacion´ .................................................................................. EL PRESIDENTE LOS VOCALES EL SECRETARIO iii Abstract The recent years have witnessed a constant growth in the amount of RDF data available on the Web. This growth is largely based on the increasing rate of data publication on the Web by different actors such governments, life science researchers or geographical institutes. RDF data generation is mainly done by converting already existing legacy data resources into RDF (e.g. converting data stored in relational databases into RDF), but also by creating that RDF data directly (e.g. sensors). These RDF data are normally exposed by means of Linked Data-enabled URIs and SPARQL endpoints. Given the sustained growth that we are experiencing in the number of SPARQL endpoints available, the need to be able to send federated SPARQL queries across them has also grown. Tools for accessing sets of RDF data repositories are starting to appear, differing between them on the way in which they allow users to access these data (allowing users to specify directly what RDF data set they want to query, or making this process transparent to them). To overcome this heterogeneity in federated query processing solutions, the W3C SPARQL working group is defining a federation extension for SPARQL 1.1, which allows combining in a single query, graph patterns that can be evaluated in several endpoints. In this PhD thesis, we describe the syntax of that SPARQL extension for providing access to distributed RDF data sets and formalise its semantics. We adapt existing techniques for distributed data access in relational databases in order to deal with SPARQL endpoints, which we have implemented in our federation query evaluation system (SPARQL-DQP). We describe the static optimisation techniques that we implemented in our system and we carry out a series of experiments that show that our optimisations significantly speed up the query evaluation process in presence of large query results and optional operators. Resumen En los ultimos´ anos˜ se ha experimentado un crecimiento constante en los datos modelados en RDF. Este crecimiento esta´ basado en la cada vez mas´ frecuente publicacion´ de datos en la Web. Estos datos son publicados por organizaciones de todo tipo, desde gobiernos (como el gobierno de los EEUU o del Reino Unido, con sus iniciativas data.gov y data.gov.uk respectivamente) a usuarios finales o redes de sensores distribu´ıdas a lo largo del globo. Estos datos son normalmente creados en un formato diferente a RDF pero rapidamente´ traducidos a el,´ y ademas´ son expuestos en la Web mediante SPARQL endpoints y URLs enlazadas. Dado este cont´ınuo crecimiento de datos en RDF que estamos experimentando, empiezan a aparecer herramientas para consultar dichos datos. Sin embargo, estas herramientas di- fieren en la forma de gestionar y presentar a los usuarios estas consultas. Para solucionar esta heterogeneidad de herramientas, el World Wide Web Consortium esta´ definiendo una extension´ al estandar´ de consultas SPARQL para permitir la federacion´ de dichas consultas. Esta extension´ permite combinar, en una sola consulta, patrones SPARQL que pueden ser evaluados en distintos almacenes de datos RDF. En esta tesis doctoral se describe la sintaxis de la extension´ para la federacion´ de consul- tas SPARQL ademas´ de formalizar su semantica.´ Tambien´ hemos analizado los problemas asociados a la distribucion´ de datos en bases de datos relacionales y adaptadas algunas de las soluciones existentes en ese contexto a nuestro problema. Tambien´ describimos como´ accedemos a fuentes de datos en RDF y como´ hemos implementado un sistema de evaluacion´ de consultas para la extension´ de federacion´ de consultas de SPARQL, descri- biendo algunas optimizaciones estaticas´ que fueron identificadas durante el analisis´ formal del lenguaje. Finalmente, hemos llevado a cabo una serie de experimentos que prueban como´ estas optimizaciones disminuyen el tiempo de evaluacion´ de las consultas de forma significativa. vi To my family... ii Acknowledgements Es tiempo para los agradecimientos, y hay muchos que hacer, ya que ha habido mucha gente, que sin su apoyo, esta tesis nunca hubiese finalizado. Primero me gustar´ıa dedicarle esta tesis a mis padres, tanto a mi padre Carlos como a mi madre Concepcion.´ Ellos han estado siempre ah´ı, desde el comienzo, en los malos momentos de mi carrera y en los buenos. Sin ellos, no ser´ıa como soy y no hubiese llegado hasta este punto. As´ı que mi agradecimiento eterno y la dedicacion´ de esta tesis. Tambien´ me gustar´ıa dedicarle esta tesis a mi hermano Miguel y a mi abuela Concepcion,´ por todo el amor que me han dado y me dan. Quiero agradecer a mis amigos el haber estado tambien´ siempre ah´ı, apoyandome,´ con su fe infinita en mi criterio y en mi val´ıa. Sacar adelante una tesis es algo complejo, hay muchas decisiones que tomar, decidir que´ investigar, que´ camino seguir (a pesar de que a priori sabes por donde´ van los tiros), y requiere de much´ısimo esfuerzo ya que es un muy largo proceso. Sin la supervision´ de Oscar,´ con todo lo que me ha ensenado,˜ con todo lo que me ha facilitado las cosas, con sus rapidas´ revisiones y comentarios, con su apoyo, dudo que hubiese acabado esta tesis, y casi en plazo. Por supuesto, en esta tesis han contribuido tambien´ otras muchas personas, Asun, la di- rectora del grupo, Raul,´ Miguel, otro Raul,´ Jose,´ Boris, V´ıctor, etc. No puedo nombrarlos a todos porque se acaban las paginas.´ Ellos son solo unos pocos representantes del OEG que me han ayudado a finalizar esta tesis, as´ı que gracias. Tambien´ agradecer a la gente de iSOCO, en especial a Jose´ Manuel, ya que ah´ı fue donde realmente empezo´ mi trabajo como estudiante de doctorado. Yo no entiendo la investigacion´ sin colaborar con otros investigadores. Sin las estancias que hice, en Edimburgo y Santiago, esta tesis no ser´ıa la misma. En Edimburgo me encontre´ con un grupo de grandes profesionales, de los que aprend´ı mucho, y tengo mucho que agradecerles, en especial a Ally Hume, Bartek Dobrzelecki, Radek Ostrowski, Amy Krause, Elias Theocharopoulus, Tilaye Alemu, Mike Jackson y Mario Antonioletti. Y en Chile, entre otras cosas, me encontre´ con una de las personas mas´ inteligentes y apasionadas con su trabajo que he conocido, Marcelo Arenas, que me facilito´ siempre las cosas, especialmente en este ultimo´ ano,˜ que fue cuando mas´ lo necesite.´ Parte de esta tesis tambien´ es suya. Finalmente, tambien´ quiero agradecer y dedicar esta tesis a Leslie e Iker, mi nueva familia, y mi futuro. Contents List of Figures ix List of Tables xi 1 Introduction 1 1.1 Thesis Structure . 4 1.2 Dissemination Results . 5 2 State of the Art 7 2.1 Representation and Query Languages for the Semantic Web . 7 2.1.1 The Resource Description Framework (RDF) . 7 2.1.2 RDF Schema . 10 2.1.3 OWL . 12 2.1.4 SPARQL . 13 2.1.4.1 Basic Graph Patterns . 15 2.1.4.2 Optional Matches . 15 2.1.4.3 Alternative Matches . 16 2.1.4.4 Query forms . 16 2.1.4.5 The upcoming SPARQL 1.1 . 17 2.2 Setting the context: The Semantic Web and the Web of Linked Data . 19 2.3 Data Integration and Query Federation . 21 2.3.1 Classification of Data Integration Approaches . 22 2.3.1.1 Materialised and Virtualised data integration . 22 2.3.1.2 Procedural and Declarative Data Integration . 23 2.3.2 Query Federation Systems . 23 2.3.2.1 Query Processing in Query Federation Systems . 26 v CONTENTS 2.3.2.2 Query Plan Optimisation in Distributed Query Processing . 28 2.3.2.3 Query Execution Optimisation in Distributed Query Processing . 30 2.3.2.4 Query Federation Architectures . 32 2.3.3 Challenges and Limitations of Traditional Federated Query Processing Technol- ogy ........................................ 34 2.3.4 Adaptive Query Operators . 35 2.3.5 SPARQL optimisations . 36 2.4 Ontology-Based Data Integration . 38 2.4.1 Distributed SPARQL Query Processing Systems . 38 2.4.1.1 Discussion on Query Federation System . 40 2.4.2 RDB2RDF systems . 43 2.5 Conclusions . 44 3 Objectives and contributions 47 3.1 Objectives . 47 3.1.1 Goals and Research Problems . 47 3.2 Contributions to the State of the Art . 49 3.3 Assumptions . 50 3.4 Hypothesis . 50 3.5 Restrictions . 51 4 Problem formalisation 53 4.1 SPARQL Syntax . 53 4.2 SPARQL Semantics . 55 4.3 On Evaluating the SERVICE Operator in SPARQL queries . 58 4.3.1 The notion of boundedness . 58 4.3.2 The notion of service-safeness: Considering sub-patterns and nested SERVICE operators . 62 4.4 Static Optimisations . 63 4.4.1 Optimisation via well-designed patterns . 64 5 Accessing Distributed RDF data stores 67 5.1 Introduction to Web service data access . 67 5.2 Introduction to Distributed Query Processing . 68 5.2.1 OGSA-DAI . 69 vi CONTENTS 5.2.1.1 OGSA-DAI workflows . 71 5.2.1.2 OGSA-DAI Resources . 71 5.2.1.3 OGSA-DAI Web services . 72 5.2.2 OGSA-DQP . 73 5.2.2.1 DQP Resource .