Title: Database Techniques For the Word-Wide Web: A Survey
1Database 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
2Los 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
3Los 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.
4Los 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.
5Agenda
- 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
6Introducció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.
7Tareas 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
8Tareas 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.
9Representació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.
10Representació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.
11Representació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
12Representació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
13Modelando 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.
14Modelando 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.
15Modelando 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.
16Modelando 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
17Modelando 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
18Modelando 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
19Modelando 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.
20Modelando 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.
21El 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 - d1gtd2 los documentos están en diferentes lugares
- d1-gtd2 los documentos están en el mismo lugar
22El lenguaje WebSQL
-
- SELECT d.url, e.url, a.label
- FROM Document d SUCH THAT
- www.mysite.start -gt d,
- Document e SUCH THAT d gt e,
- Anchor a SUCH THAT a.base d.url
- WHERE a.href e.url
- MENTIONS Condicion
23Otros 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.
24Segunda 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.
25Lenguajes 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.htm
l
26Lenguajes 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.
27Lenguajes 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.
28Lenguajes 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
29Lenguajes 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/
30Lenguajes de Segunda Generación WebOQL
- SELECT t.Title, y?.Url
- FROM x in csPapers, y in x?
- WHERE y.Autors Smith
31Lenguajes 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
32Lenguajes 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/
33Lenguajes 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.
34Lenguajes 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
35Lenguajes 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
36Lenguajes 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.
37Lenguajes 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.edu8089/noqafm
a/query.jsp
38Lenguajes 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
39Lenguajes de Segunda Generación StruQL y
WebOQL
- //Crear la raíz
- Create RootPage()
- //Crear una presentación para cada
- //publicación x
- Where Publications(x), x-gt l -gtv
- Create PaperPresentation(x)
- Link PaperPresentation(x)-gtl-gtv
- // Crear una página cada año
- Where lyear
- Create YearPage(v)
- Link
- YearPage(v)-gtYear -gtv
- YearPage(v)-gtPaper-gtPaperpresentation(x),
- //Enlace la página raíz con cada //página de año
- Rootpage()-gtYearpage-gtYearPage(v)
- Select unique
- Urlx.year, LabelYearPage
- 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)
40Lenguajes 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
41Lenguajes 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.
42Lenguajes de Segunda Generación Florid
- Introduce una clase url
- Se modela toda la información de los documentos
web
43Lenguajes 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.
- (Yurl).get lt-
- (X.url).gethref_at_(L)gtgtY,
- substr(database,L).
44Interfaces 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
45Integració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
47Caracterí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
48Caracterí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.
49Arquitectura de los SIIs
No hay comunicación dierecta
No hay comunicación dierecta
50Principales 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
51- Incompletitud de los datos en los fuentes web
- Las fuentes de datos no necesariamente están
completas - En algunos casos se puede hacer valer la
imcompletitud de las sentencias de las fuentes - Diferenciación de las capacidades de
procesamiento de las consultas - Conocer que consultas se deben hacer y cuando se
deben hacer.
52- Optimización de las consultas
- Se enfoca en el problema de seleccionar el mínimo
conjunto de fuentes Web para acceder y la mínima
consulta que se le debe enviar a cada fuente - Motor de ejecución de consultas
- Se ha prestado poca atención a los motores de
ejecución de consultas apropiados para la
integración de datos Web - Los retos en la construcción de estos motores se
basan en la autonomía de las fuentes de datos y
la poca predicibilidad del desempeño de la red.
53- Construcción de wrappers
- Su función es la de extraer datos de un sitio Web
y ponerlos de una forma en la que se puedan ser
manipulados por el SII - Lo difícil de construir estos wrappers está en
las páginas HTML - Los datos embebidos están generados en lenguaje
natural - El lenguaje está orientado a la visualización de
la información, no a la extracción de contenidos
54Recursos
- http//cq-pan.cqu.edu.au/david-jones/Reading/WWW_S
ystems/STRUDEL/ - http//dbis.informatik.uni-freiburg.de/index.php?p
rojectFlorid