540 likes | 641 Views
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
E N D
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
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
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.
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.
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
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.
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’
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.
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.
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.
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
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
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.
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.
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.
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
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
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
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.
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.
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
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”
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.
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.
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
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.
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.
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
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/
Lenguajes de Segunda Generación: WebOQL SELECT [t.Title, y?.Url] FROM x in csPapers, y in x? WHERE y.Autors ~ “Smith”
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
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/
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.
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
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
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.
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
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]
//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
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
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.
Lenguajes de Segunda Generación: Florid • Introduce una clase url • Se modela toda la información de los documentos web
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).
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
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.
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
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
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.
Arquitectura de los SIIs No hay comunicación dierecta No hay comunicación dierecta
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