1 / 54

Database Techniques For the Word-Wide Web: A Survey

Database Techniques For the Word-Wide Web: A Survey. Yamile Adriana Jaime Arias Alix E. Rojas Hernández Maestría en Ingeniería de Sistemas Arquitectura de Bases de Datos Universidad Nacional De Colombia. Los Autores:. Daniela Florescu

grant-henry
Download Presentation

Database Techniques For the Word-Wide Web: A Survey

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Database TechniquesFor the Word-Wide Web: A Survey Yamile Adriana Jaime Arias Alix E. Rojas Hernández Maestría en Ingeniería de Sistemas Arquitectura de Bases de Datos Universidad Nacional De Colombia

  2. Los Autores: • Daniela Florescu Consultora Senior de Oracle. PhD en computer Science en 1996 de la Universidad de ParisVI.Investigadora s de ATT Research Center (New Jersey) y National Computer Science Research Institute, Francia. Es una de las editoras del estándar del lenguaje de consultas XML

  3. Los Autores: • Alon Halevy Actualmente trabaja en Google. Profesor de Ciencias de la Computación e ingeniería en la Universidad de Washington hasta el año 2006. Su trabajo principal es construir herramientas que simplifiquen el acceso a los datos en ambientes de datos complejos como data espaces.

  4. Los Autores • Alberto Mendelzon Fue un líder en teoría de bases de datos y en administración de datos. Su trabajo se relaciona con diseño de bases de datos, procesamiento de consultas e integración de datos. Hizo contribuciones fundamentales a los lenguajes de consultas visuales y gráficos, sistemas de bese del conocimiento y procesamiento analítico en línea.

  5. Agenda • Introducción • Generalidades • Representación de Datos para tareas de BD Web • Cómo modelar y consultar la Web • Lenguajes de Primera Generación • Lenguajes de Segunda Generación • Integración De Información

  6. Introducción • Un nuevo contexto: La WWW hace necesario extender las técnicas previas de manejo de datos. • Diferenciar las tareas: Los conceptos de BD han sido usados para diferentes fines. • Áreas relacionadas: Recuperación de información, Inteligencia Artificial e Hipertexto-Hipermedia.

  7. Tareas relacionadas con la WWW 1. Modelado y Consultas en la Web: • Formular consultas para recuperar ciertas páginas en la Web. • Las consultas pueden basarse en el contenido de las páginas o en los links 2. Información, Extracción e Integración • Mirar los sitios Web con mayor detalle, como contenedores de datos estructurados. • Se requiere del uso de ‘wraped’ programas y ‘mediator systems’

  8. Tareas relacionadas con la WWW 3. Constructores y reestructuradores de Sitios Web. • Considerar el proceso de crear sitios Web, requiere: • Métodos de modelado de sitios Web • Reestructuración de datos conforme a una estructura deseada.

  9. Representación de Datos para tareas de BD Web • Modelar los datos en un grafo etiquetado: • Las páginas son los nodos • Los arcos son los enlaces • Se han desarrollado numerosos lenguajes de consulta cuya habilidad central es formular ‘regular path expression’ sobre el grafo.

  10. Representación de Datos para tareas de BD Web • Se modelan datos provenientes de múltiples recursos. • Características del Modelo de Datos Semiestructurado: • Se basa en grafos con dirección y etiquetas. • No hay restricción en el número de arcos desde un nodo ó el tipo de valores de los atributos. • Se puede consultar el esquema por lenguajes que consultan las variables de arcos. • Los datos no son fuertemente tipados.

  11. Representación de Datos para tareas de BD Web • El esquema en el modelo de datos semiestructurado: • No se conoce con anterioridad y puede estar implícito en los datos. • Es relativamente grande y cambia frecuentemente. • Es descriptivo y no prescriptivo, • Describe el estado actual de los datos pero las violaciones al esquema son permitidas. • Otro método es extracción de la estructura de los datos semi-estructurados, especialmente con XML

  12. Representación de Datos para tareas de BD Web • Características adicionales • Presencia de construcciones específicas para la web como: • Relaciones unarias o binarias, • Links dentro del sitio y fuera de él, lo que es importante por la dirección. • Habilidad de modelar los elementos en la BD • Modelar estructuras de datos desordenados • Soportar tipos de colecciones: conjuntos, arreglos

  13. Modelando y Consultando la Web • La Web puede verse como una gran base de datos similar a un grafo • Las consultas van mas allá de: • La recuperación de información que hacen los motores de búsqueda que tienen en cuenta: • La estructura interna de la páginas Web • La estructura de los enlaces que las interconectan.

  14. Modelando y Consultando la Web • Limitaciones de los sistemas de Hipertexto: • Los buscadores de contenido ignoran la estructura de las redes de Hipermedios. • En contraste, las búsquedas estructuradas examinan la estructura del Hipermedio para trabajo en subredes que coincidan con un patrón dado.

  15. Modelando y Consultando la Web • Recuperación de Información Estructurada: • Las primeras herramientas desarrolladas fueron los motores de búsqueda • Recientemente se trata de explotar la estructura de los enlaces en las consultas. • Ejemplos: • Connectivity Server. • Prototipo de Google.

  16. Modelando y Consultando la Web • Paradigmas de consultas relacionadas: • Familias de lenguajes que no se desarrollaron específicamente para la Web. • Lenguajes de consulta de documentos e hipertextos. • Lenguajes de consulta de grafos • Lenguajes de consultas de datos semi-estructurados

  17. Modelando y Consultando la Web • Lenguajes de consulta de documentos e hipertextos: • Relacionan documentos en instancias de BD orientadas a objetos • Así las acciones semánticas se atan con la gramática. • La BD puede ser examinada usando lenguajes de consulta. • Se puede consultar la estructura siguiendo el camino de las variables

  18. Modelando y Consultando la Web • Lenguajes de consulta de grafos: • Lenguajes como G y G+ se basa en las etiquetas de los grafos • Soportan las trayectorias de las expresiones regulares (regular path expressions). • Motivados por la ingeniería de sw y la administración de redes de computadores. • También se han desarrollado lenguajes de consulta para BD OO

  19. Modelando y Consultando la Web • Lenguajes para consultar datos semi-estructurados: • Se usan grafos etiquetados como un modelo de datos flexibles. • En contraste con los lenguajes de consulta de grafos, se enfatiza en consultar el esquema de los datos y de acomodar irregularidades de estos.

  20. Modelando y Consultando la Web • Primera generación de los lenguajes de consulta de la Web: • Combinaba las consultas basadas en contenido de los motores de búsqueda con consultas estructuradas. • Tratan las páginas como objetos atómicos, con dos propiedades: • Contienen o no ciertos patrones de texto • Apuntan a otros objetos.

  21. El lenguaje WebSQL • Propone un modelo (Virtual) de la Web como una BD relacional compuesta por documentos y anclas. • La semántica depende de la especificación de los documentos de interés en el FROM de la consulta • d1=>d2 los documentos están en diferentes lugares • d1->d2 los documentos están en el mismo lugar

  22. El lenguaje WebSQL SELECT d.url, e.url, a.label FROM Document d SUCH THAT www.mysite.start-> *d, Document e SUCH THAT d => e, Anchor a SUCH THAT a.base = d.url WHERE a.href = e.url MENTIONS “Condicion”

  23. Otros Lenguajes • W3QL • Usa otros programas para especificar el contenido de los archivos en lugar de construir las condiciones dentro de la sintaxis del lenguaje • http://www.cs.technion.ac.il/~konop/Images.html • WebLog • Usa reglas deductivas en lugar de sintaxis SQL • WQL • Lenguaje del proyecto WebDB • Soporta una funcionalidad SQL más comprensiva como agrupamiento y agregación • Soporte limitado a las consultas intra-documentos.

  24. Segunda Generación: Lenguajes de Manipulación de datos en la Web • Acceden la estructura de los objetos Web que manipulan. • Modelan la estructura interna de los documentos Web, así como los enlaces que los conectan. • Soportan referencias al modelo de Hiperenlaces. • Crean estructuras complejas como resultado de una consulta. • Enfatizan las características de los datos semi-estructurados.

  25. Lenguajes de Segunda Generación: WebOQL • WebOQL fue desarrollado por la universidad de Toronto para extraer datos de recursos semi-estructurados. • Permite manipular documentos Web o hipertextos como si fueran pequeñas BD. • El modelo de datos esta compuesto por Hypertrees y webs • http://www.cs.toronto.edu/~gus/weboql/moreinfo.html

  26. Lenguajes de Segunda Generación: WebOQL • El Hypertree es un árbol que representa un documento estructurado que contiene hiperlinks. • Los arcos son etiquetados y ordenados con arcos internos y externos, para representar las referencias, generalmente hiperenlaces entre objetos.

  27. Lenguajes de Segunda Generación: WebOQL • Una Página es un hypertree que tienen asociada una URL. • Una Web es una colección de páginas interrelacionadas. • Los arcos externos de cada página son enlaces en la Web. • Pueden tener asociado un esquema.

  28. Lenguajes de Segunda Generación: WebOQL • Navega y consulta webs. • El lenguaje es funcional y las consultas pueden ser realizadas arbitrariamente. • Tiene una semántica formal y puede realizar consultas de complejidad polinomial. • Puede simular todas las operaciones del álgebra relacional

  29. Lenguajes de Segunda Generación: WebOQL • Cuando se tiene el hypertree del documento este se puede consultar con WebOQL. • Permite la integración con otros tipos de recursos como sistema de archivos locales o otros sistemas de BD. • Las consultas se pueden hacer de la forma SELECT FROM WHERE • http://www.cs.toronto.edu/~gus/weboql/demo/

  30. Lenguajes de Segunda Generación: WebOQL SELECT [t.Title, y?.Url] FROM x in csPapers, y in x? WHERE y.Autors ~ “Smith”

  31. Lenguajes de Segunda Generación: WebOQL • Usa una aproximación middleware con un modelo común flexible de datos • Wrappers que colocan los datos específicos en términos del modelo de recursos del modelo común

  32. Lenguajes de Segunda Generación: WebOQL • Creaciones Web • Patrones de Navegación: • Son expresiones regulares sobre un alfabeto de predicados conocidos. • Permiten especificar la estructura de los caminos para encontrar instancias de una variable. • Dentro se sus usos se destacan: • Extraer sub-árboles de árboles con estructura no conocida en detalle o con irregularidades. • También para iterar sobre arboles conectados por arcos externos. • http://www.cs.toronto.edu/~gus/weboql/demo/

  33. Lenguajes de Segunda Generación: StruQL • Lenguaje de consulta de propósito general del Sistema de manejo de sitios Web Strudel. • Desarrollado para aplicaciones específicas. • Basado en el modelo de datos de grafo direccionado etiquetado. • Soporta tipos atómicos como URLs, Postscript, texto, imágenes y archivos HTML • Como resultado produce un grafo con el mismo modelo de datos que el grafo de entrada.

  34. Lenguajes de Segunda Generación: StruQL • Un grafo Strudel es una secuencia de nodos/objetos, en el que cada nodo es complejo o atómico. • Los grafos se guardan en el Strudel Data repository y provee wrappers para recursos como: BD Relacionales, Formatos BibTex, Archivos texto y Documentos XML

  35. Lenguajes de Segunda Generación: StruQL • Data Mediator • Soporta la integración de datos • Provee una forma de ver los datos sin tener en cuenta donde se almacenan. • Llama al data graph, para una consulta sobre el conjunto de datos

  36. Lenguajes de Segunda Generación: StruQL • El procesador de consultas se aplica en un grafo. • El generador de sitio es un template que se asocia con cada objeto del grafo. • Este se interrelaciona con el texto HTML y • Con expresiones específicas Strudel que acceden los atributos del objeto y regresan los valores de los atributos.

  37. Lenguajes de Segunda Generación: StruQL • Sus usos destacados son: • Consultar recursos heterogeneos e integrarlos en un Data Graph • Para consultar el Data Graph • Producir un Site Graph • Demo: http://fma.biostr.washington.edu:8089/noqafma/query.jsp

  38. Lenguajes de Segunda Generación: StruQL • La consulta StruQL es un conjunto de bloques posiblemente desordenados, cada uno con la forma: [where C1,…, Ck] [create N1,…, Nn] [Link L1, …, Lp] [collect G1,…, Gq]

  39. //Crear la raíz Create RootPage() //Crear una presentación para cada //publicación x Where Publications(x), x-> l ->v Create PaperPresentation(x) Link PaperPresentation(x)->l->v {// Crear una página cada año Where l=“year” Create YearPage(v) Link YearPage(v)->”Year” ->v YearPage(v)->”Paper”->Paperpresentation(x), //Enlace la página raíz con cada //página de año Rootpage()->”Yearpage”->YearPage(v) } Select unique [Url:x.year, Label:”YearPage”] as “RootPage”, [label: “Paper”/x] as x.year From x in browse(“bibtex.myfile.bib”) | Select [year: y.url] + y as y.url fromy in “browse(RootPage)” Lenguajes de Segunda Generación: StruQL y WebOQL

  40. Lenguajes de Segunda Generación: Florid • F-LOgic Reasoning In Databases es una implementación del formalismo F-Logic deductivo y OO • Los Cómputos de Forid se realizan a través de reglas deductivas • Provee un fuerte formalismo para manipular datos semi-estructurados en la Web • No soporta la construcción de nuevos sitios Web

  41. Lenguajes de Segunda Generación: Florid • Florid es implementado en C++, es un sistema configurable y flexible. • La interfaz de usuario envía los mensajes a los componentes del sistema. • El Manejador de objetos maneja el almacenamiento de datos.

  42. Lenguajes de Segunda Generación: Florid • Introduce una clase url • Se modela toda la información de los documentos web

  43. Lenguajes de Segunda Generación: Florid • Recupera todos los documentos desde el URL www.cs.toronto.edu relacionados directa o indirectamente cuyas wtiquetas contengan la cadana “database” (“www.cs.toronto.edu”: url).get. (Y:url).get <- (X.url).get[href@(L)=>>{Y}], substr(“database”,L).

  44. Interfaces Interactivas de Consulta • Los lenguajes son complejos para usarlo directamente. • Se usan principalmente como herramientas de software por lo que se usan otras herramientas. • Sistemas que soportan consultas y combinan características multimedia

  45. Integración De Información • La tarea de un sistema de integración de información (SII) es responder a consultas que puedan requerir extracción y combinación de múltiples fuentes web. • Fuentes Web son: La combinación del contenido de los sitios Web más los wrappers asociados a estos sitios.

  46. Los problemas al construir un SII son similares a los que se encuentra al desarrollar sistemas de bases de datos heterogéneas • La integración de datos en la Web debe lidiar con: • Grandes y crecientes número de fuentes web • Pocos metadatos acerca de las características de la fuente • Grado creciente de fuentes autonómas

  47. Características de los SIIs • Basan su construcción en bodegas de datos • En el enfoque de bodegaje se cargan múltiples fuentes web en bodegas y se aplican las consultas a estos datos almacenados. • La bodega debe ser actualizada cada vez que los datos cambien • Su principal ventaja es que se garantiza el desempeño adecuado en tiempo de diseño

  48. Características de los SIIs Web • Se basan en un enfoque virtual • Los datos permanecen en sus respectivas fuentes web • Las consultas se descomponen dentro del sistema de integración en tiempo de ejecución • Son muy útiles cuando se construyen sistemas de fuentes muy grandes, frecuentemente cambiantes y hay poco control de las fuentes.

  49. Arquitectura de los SIIs No hay comunicación dierecta No hay comunicación dierecta

  50. Principales Aspectos En La Construcción De Los SIIs • Especificación de un esquema de mediación y reformulación. • Esquema: Colecciones y nombres de atributos usados para formulas consultas • Para evaluar una consulta, el sistema la traduce en el esquema de la fuente de datos • Para hacer lo anterior, el sistema requiere una descripción de la fuente

More Related