Claves XML: Una Implementación de Algoritmos de Implicación y Validación

52
Introducci´ on MarcoTe´orico Implicaci´ on Validaci´ on Covers Experimentos Conclusiones Referencias Claves XML: Una Implementaci´on de Algoritmos deImplicaci´onyValidaci´on Emir F. Mu˜ noz Jim´ enez Departamento de Ingenier´ ıa Inform´ atica Universidad de Santiago de Chile Examen de Grado Dr. Mauricio Mar´ ın - Dr. Flavio Ferrarotti Lunes 30 de mayo de 2011 Emir F. Mu˜ noz Jim´ enez — Examen de Grado 1/49

description

Emir Muñoz, Master Thesis 2011

Transcript of Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Page 1: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Claves XML: Una Implementacion de Algoritmos

de Implicacion y Validacion

Emir F. Munoz Jimenez

Departamento de Ingenierıa InformaticaUniversidad de Santiago de Chile

Examen de Grado

Dr. Mauricio Marın - Dr. Flavio Ferrarotti

Lunes 30 de mayo de 2011

Emir F. Munoz Jimenez — Examen de Grado 1/49

Page 2: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML

Las claves son fundamentales para la administracion de basesde datos (independiente del modelo usado )

En la ultima decada, varias nociones de claves han sidopropuestas

La mas popular es la propuesta de Buneman et al.,2002 y 2003basada en un arbol XML

Las claves identifican nodos en arboles XML, en base a losvalores de los nodos descendientes

Su expresividad y propiedades computacionales han sidoanalizadas en la teorıa

Emir F. Munoz Jimenez — Examen de Grado 2/49

Page 3: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

Tanto la industria como la academia han reconocido laimportancia de las claves en la administracion de datos XML

Por otro lado, en la practica, las nociones de expresividad delas claves XML han sido ignoradas

Se espera que las claves XML sean tan utiles como en elmodelo relacional

Ası, las claves tendran gran potencial en areas como: disenode esquemas, optimizacion de consultas, almacenamiento yactualizacion, intercambio de datos e integracion

Emir F. Munoz Jimenez — Examen de Grado 3/49

Page 4: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

Un nodo proyecto es identificado por codp en todo el documento

Emir F. Munoz Jimenez — Examen de Grado 4/49

Page 5: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

Un nodo jefe puede ser identificado por institucion, relativo a unnodo proyecto

Emir F. Munoz Jimenez — Examen de Grado 5/49

Page 6: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

Un nodo jefe puede ser identificado por sus nodos hijos instituciony persona

Emir F. Munoz Jimenez — Examen de Grado 6/49

Page 7: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

Claves definidas

(a). Un nodo proyecto es identificado por codp en todo eldocumento (Clave Absoluta)

(b). Un nodo jefe puede ser identificado por institucion, relativo aun nodo proyecto (Clave Relativa)

(c). Un nodo jefe puede ser identificado por sus nodos hijosinstitucion y persona (Clave Relativa)

Notese que

Hay claves que implican otras claves. Como la clave (b) queimplica la (c). (superclave)

Emir F. Munoz Jimenez — Examen de Grado 7/49

Page 8: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

Claves definidas

(a). Un nodo proyecto es identificado por codp en todo eldocumento (Clave Absoluta)

(b). Un nodo jefe puede ser identificado por institucion, relativo aun nodo proyecto (Clave Relativa)

(c). Un nodo jefe puede ser identificado por sus nodos hijosinstitucion y persona (Clave Relativa)

Notese que

Hay claves que implican otras claves. Como la clave (b) queimplica la (c). (superclave)

Emir F. Munoz Jimenez — Examen de Grado 7/49

Page 9: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

Es importante investigar las claves XML

Las claves XML tienen un gran potencial para areas como:

Diseno de esquemas

Optimizacion y reescritura de consultas

Almacenamiento y actualizacion de datos

Intercambio e integracion de datos

Indexacion

Emir F. Munoz Jimenez — Examen de Grado 8/49

Page 10: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

IntroduccionClaves XML (cont.)

¿Que se ha hecho en el area?

Propuestas de definicion de restricciones en XML[Arenas et al., 2002, Fan, 2005, Fan and Simeon, 2003,Fan and Libkin, 2002, Suciu, 2001, Vianu, 2003]

Las principales son las claves absolutas y relativas[Buneman et al., 2002, Buneman et al., 2003]

Se estudia el problema de implicacion de claves XML[Buneman et al., 2002, Buneman et al., 2003]Se logra un algoritmo O(n7)

El conjunto de reglas presentadas no era valido[Hartmann and Link, 2009]

Se propone un nuevo algoritmo O(n2), para un fragmento declaves

Es un area de investigacion con gran complejidad teorica

Emir F. Munoz Jimenez — Examen de Grado 9/49

Page 11: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Contribuciones

Disminuir la brecha entre teorıa y practica de las claves XML

Las contribuciones realizadas por este trabajo son:

(i). Una implementacion eficiente para un algoritmo de implicacionde claves XML, propuesto en [Hartmann and Link, 2009]

(ii). El diseno e implementacion de un algoritmo de validacion dedocumentos contra claves XML.

(iii). El diseno e implementacion de un algoritmo para calcularcovers no redundantes.

Emir F. Munoz Jimenez — Examen de Grado 10/49

Page 12: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Objetivo General

El presente trabajo tuvo como objetivo general:

Demostrar empıricamente las capacidades semanticas que entreganlas claves XML, mediante el desarrollo de software para los

problemas de implicacion y validacion, para las claves definidas por[Buneman et al., 2003], y estudiadas en

[Hartmann and Link, 2009].

Emir F. Munoz Jimenez — Examen de Grado 11/49

Page 13: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoModelo de Arbol XML

E denota el conjunto de etiquetas de elementos

A denota el conjunto de nombres de atributos

S el conjunto unitario que denota texto (PCDATA)

Sea L = E ∪ A ∪ {S}, el conjunto de etiquetas

Definicion

Un arbol XML es una 6-tupla T = (V, lab, ele, att, val, r)

Emir F. Munoz Jimenez — Examen de Grado 12/49

Page 14: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoModelo de Arbol XML

E denota el conjunto de etiquetas de elementos

A denota el conjunto de nombres de atributos

S el conjunto unitario que denota texto (PCDATA)

Sea L = E ∪ A ∪ {S}, el conjunto de etiquetas

Definicion

Un arbol XML es una 6-tupla T = (V, lab, ele, att, val, r)

Emir F. Munoz Jimenez — Examen de Grado 12/49

Page 15: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoModelo de Arbol XML (cont.)

Un camino en un arbol XML T es una secuencia finitav0, . . . , vm, tal que (vi−1, vi) es una arista de T para todoi = 1, . . . ,m

El camino p determina una palabra lab(v1), . . . , lab(vm) sobreel alfabeto L

Se llama p a un camino desde v0 hasta vm, y se dice que vmes alcanzable desde v0

Para cada nodo v ∈ V , un nodo w alcanzable desde v esllamado descendiente de v

Emir F. Munoz Jimenez — Examen de Grado 13/49

Page 16: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoIgualdad en Valor

Dos nodos u y v se consideran iguales en valor (u =v v) si:

(a) lab(u) = lab(v),

(b) si u, v son nodos atributo o texto, entonces val(u) = val(v),

(c) si u, v son nodos elemento, entonces:

(i) si att(u) = {a1, . . . , am}, entonces att(v) = {a′1, . . . , a′

m} yexiste una permutacion π sobre {1, . . . ,m} tal que ai =v a

π(i)

para i = 1, . . . ,m, y(ii) si ele(u) = [u1, . . . , uk], entonces ele(v) = [v1, . . . , vk] y

ui =v vi para i = 1, . . . , k.

Determinar isomorfismo entre subarboles

Emir F. Munoz Jimenez — Examen de Grado 14/49

Page 17: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoIgualdad en Valor (cont.)

E

S A

E

A

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

E E

Nodos jefe, correspondientes a Axel con oficina A43 son igualesen valor

Emir F. Munoz Jimenez — Examen de Grado 15/49

Page 18: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoExpresiones de Camino

Se construyen usando las etiquetas de los nodos comoalfabeto, describiendo una secuencia de aristas padre-hijo

Definimos un lenguaje PL a partir de la gramaticaQ→ ℓ | ε | Q.Q | ∗

donde ℓ ∈ L es alguna etiqueta, ε la palabra vacıa, “.” eloperador concatenacion, y “ ∗” el comodın

Por ejemplo, una expresion de camino puede serproyecto.jefe.persona.nombre

Emir F. Munoz Jimenez — Examen de Grado 16/49

Page 19: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoExpresiones de Camino (cont.)

E

S A

EE

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

S

E

EE

S

E

E E

SS

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

nombre

persona

oficina

A43Axel

A

Para los nodos v,w ∈ V , escribimos T |= Q(v,w) si w esalcanzable desde v, siguiendo un camino-Q en T

Si el camino-Q fuese proyecto.jefe.institucion y v el nodo raız

Emir F. Munoz Jimenez — Examen de Grado 17/49

Page 20: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoExpresiones de Camino (cont.)

E

S

EE

E E

S S

E

nombre oficina

persona

406Diego

E

E

E E

E

E

E

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

A A AA A

Para un nodo v ∈ V , sea v[[Q]] el conjunto de nodos en Talcanzables desde v siguiendo un camino-Q

Si el camino-Q fuese proyecto.jefe.institucion y v el nodo raız

Emir F. Munoz Jimenez — Examen de Grado 18/49

Page 21: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoExpresiones de Camino (cont.)

Denotamos PLs al subconjunto de expresiones PL quecontienen todas las palabras sobre el alfabeto L (no contienencomodines)

Q ∈ PL es valida si no posee etiquetas ℓ ∈ A o ℓ = S en unaposicion que no sea la ultima

Para los nodos v y v′ de un arbol XML T , la interseccion envalor de v[[Q]] y v′[[Q]] es dada porv[[Q]] ∩v v

′[[Q]] = {(w,w′) | w ∈ v[[Q]], w′ ∈ v′[[Q]], w =v w′}

Emir F. Munoz Jimenez — Examen de Grado 19/49

Page 22: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoClaves para XML

Definicion (Clave XML)

Una clave XML ϕ en una clase K(PL1, PL2, PL3) de claves XML,es una expresion de la forma (Q, (Q′, {Q1, . . . , Qk})) donde,

Q es una expresion PL1 (Camino Contexto)

Q′ es una expresion PL2 (Camino Objetivo)

Para 1 ≤ i ≤ k, Qi es una expresion PL3 (Caminos Clave)

Tal que Q.Q′.Qi es una expresion valida

Si Q = ε, ϕ es absoluta; en otro caso, ϕ es relativa

Emir F. Munoz Jimenez — Examen de Grado 20/49

Page 23: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoClaves para XML (cont.)

Un arbol XML T satisface una clave (Q, (Q′, {Q1, . . . , Qk}))si y solo si, para todo nodo q ∈ [[Q]] y todo par de nodosq′1, q

′2 ∈ q[[Q′]], tal que existen los nodos xi ∈ q′1[[Qi]],

yi ∈ q′2[[Qi]], con xi =v yi para todo i = 1, . . . , k, se tiene queq′1 = q′2

Se trabajo concretamente con la clase K(PL,PL,PL+s ) de

claves XML mostrada en [Hartmann and Link, 2009]

Esta clase representa un buen balance entre expresividad declaves XML y complejidad de su problema de implicacion

Donde “+” indica que el conjunto de caminos clave es finito yno vacıo

Emir F. Munoz Jimenez — Examen de Grado 21/49

Page 24: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoClaves para XML (cont.)

Formalizacion de claves

En particular, las claves descritas informalmente en la introduccion,pertenecen a esta clase y pueden ser expresadas como:-Clave (a): (ε, (proyecto , {codp}))-Clave (b): (proyecto, (jefe, {institucion}))-Clave (c): (proyecto , (jefe, {institucion , persona}))

Emir F. Munoz Jimenez — Examen de Grado 22/49

Page 25: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Marco TeoricoImplicacion de claves y Axiomatizacion

Decimos que Σ implica ϕ, denotado Σ |= ϕ, si todo arbolXML T que satisface toda σ ∈ Σ tambien satisface ϕ

El problema de implicacion es decidir para algun conjunto declaves Σ ∪ {ϕ} en una clase C, si Σ |= ϕ

Definimos clausura semantica como: Σ∗ = {ϕ ∈ C | Σ |= ϕ}

Definimos clausura sintactica como: Σ+ℜ = {ϕ | Σ ⊢ℜ ϕ}

Un conjunto de reglas ℜ es valido (completo) siΣ+ℜ ⊆ Σ∗(Σ∗ ⊆ Σ+

ℜ)

A un conjunto valido y completo de reglas se le llamaaxiomatizacion

Emir F. Munoz Jimenez — Examen de Grado 23/49

Page 26: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Implicacion de Claves XMLMini-tree y Witness-graph [Hartmann and Link, 2009]

����������������

����������������

�������������������������

�������������������������

�������������������������

�����������������������������������������

����������������

E

S

E

dbE

E publico

nacional

proyecto

E

S

E proyecto

E

S

E

S

(1)

(3)

E

E

E nacional

publico

(2)

pnombre

pnombre ××

p

p1 p2

p′

rϕ = qϕ

r′ϕ

rϕ1

rϕ2

q′ϕq′ϕ

xϕ1

xϕ1

xϕ2

xϕ2

v′1v′1

v′2v′2

w1

w1

w′

1

w′

1

ano

ano

(a) Mini-tree TΣ,ϕ

db

E

E

E

E E

SS

publico

nacional

proyecto

E

pnombre

××

q′ϕ

ano

(b) Witness-graph GΣ,ϕ

Figure: Herramientas de la implicacion.

ϕ = (ε, (publico. ∗.proyecto, {pnombre.S , ano.S}))

Emir F. Munoz Jimenez — Examen de Grado 24/49

Page 27: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Implicacion de Claves XMLAlgoritmo de Implicacion de claves XML

Algoritmo 1: Σ |= ϕ: Implicacion de claves XML

Entrada: Conjunto finito de claves XML Σ ∪ {ϕ} en K(PL,PL, PL+s )

Salida : Sı, si Σ |= ϕ; No, en otro caso

Construir GΣ,ϕ para Σ y ϕ;1

if qϕ es alcanzable desde q′ϕ en GΣ,ϕ then2

return si;3

else4

return no;5

Emir F. Munoz Jimenez — Examen de Grado 25/49

Page 28: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Implicacion de Claves XML

Teorema ([Hartmann and Link, 2009])

Sea Σ ∪ {ϕ} un conjunto finito de claves en la claseK(PL,PL,PL+

s ). Se tiene que Σ |= ϕ si y solo si, qϕ esalcanzable desde q′ϕ en GΣ,ϕ.

Teorema ([Hartmann and Link, 2009])

Sea Σ ∪ {ϕ} un conjunto finito de claves XML enK(PL,PL,PL+

s ). El problema de implicacion Σ |= ϕ se puededecidir en tiempo O(|ϕ| × (||Σ||+ |ϕ|)).

Emir F. Munoz Jimenez — Examen de Grado 26/49

Page 29: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Implicacion de Claves XMLImplementacion

Definir estructuras de datos para representar un grafo (arbol)

Listas de adyacencia

Definir un algoritmo de alcanzabilidad, en base a unabusqueda en profundidad

Se ejecuta en tiempo lineal, en el numero de aristas de GΣ,ϕ

Se logra una implementacion que puede decidir el problema deimplicacion Σ |= ϕ en tiempo O(|ϕ| × (

∑σi∈Σ

|σi| × |ϕ|))

Emir F. Munoz Jimenez — Examen de Grado 27/49

Page 30: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Implicacion de Claves XMLImplementacion (cont.)

db

E

E

E

E E

SS

publico

nacional

proyecto

E

anhopnombre

××

q′ϕ

(a) Witness-graph GΣ,ϕ

Node 1

Node 2

vertexEleNode 1

edgeEle

nodeEle

(publico)

Node 3 Node 0

vertexEleNode 2

edgeEle edgeEle

nodeEle

(nacional)

Node 4 Node 6 Node 1

vertexEleNode 3

edgeEle edgeEle edgeEle

nodeEle

(proyecto)

(S)

Node 7

(db)vertexEle

edgeEle

nodeEleNode 0

L

.....

(b) Lista de adyacencia

Figure: Representacion mediante listas de adyacencia.

Emir F. Munoz Jimenez — Examen de Grado 28/49

Page 31: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Validacion de documentos contra claves XMLEstrategia

Algoritmos rapidos para la validacion de claves son crucialespara asegurar la consistencia de los datos en el intercambio[Arenas and Libkin, 2008]

La estrategia es traducir el problema de validacion al problemade satisfaccion de claves en un arbol XML

Se busca la primera interseccion en valor no vacıa

En particular, nuestro algoritmo funciona con igualdad envalor no limitada a texto

Proponemos transformar las claves en Σ en expresionesXPath, las que se aplican sobre un arbol XML (DOM)

Util para verificar la optimizacion con covers no-redundantes

Emir F. Munoz Jimenez — Examen de Grado 29/49

Page 32: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Validacion de documentos contra claves XMLAlgoritmo de Validacion de documentos XML

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

La clave (ε, (proyecto , {codp})) es satisfecha por el arbol XML T

Emir F. Munoz Jimenez — Examen de Grado 30/49

Page 33: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Validacion de documentos contra claves XMLAlgoritmo de Validacion de documentos XML (cont.)

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

La clave (ε, ( ∗.persona , {nombre.S , oficina.S })) no es satisfechapor el arbol XML T

Emir F. Munoz Jimenez — Examen de Grado 31/49

Page 34: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Validacion de documentos contra claves XMLAlgoritmo de Validacion de documentos XML (cont.)

E

S A

E

A

E

E E

S S

E

nombre oficina

persona

406Diego

A

E

E

E E

E

E

A AE

E E

S S

persona

oficinanombre

Axel A43

A

E

S

MediaLow

nombre

A

E E

S S

E persona

nombre oficina

Diego 36

E

E E

SS

nombre

persona

oficina

A43Axel

S

E

EE

S

nombre

Phobia

institucion

jefejefe

institucion

Yahoo!

jefe

institucion

jefe

proyectoproyecto

jefe

institucion

db

institucion

USACH

codp

A1

Codelco

B3

codp

UMAG USACH

persona

nombre oficina

68Thaira

La clave (ε, (proyecto . ∗.persona , {nombre.S , oficina.S })) no essatisfecha por el arbol XML T

Emir F. Munoz Jimenez — Examen de Grado 32/49

Page 35: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Validacion de documentos contra claves XMLImplementacion

Usando Java SDK y la biblioteca javax.xml.parsers.*

Se obtiene una estructura utilizando la bibliotecaorg.w3c.dom

Para las consultas XPath se utiliza la bibliotecajavax.xml.xpath.*

DocXML

ClavesXML Lectura

Estructura DOMParserjavax.xml.parsers

XPath Queriesjavax.xml.xpath

Validador Documento

Vector deResultados

Conjunto Σ

Figure: Arquitectura del validador.

Emir F. Munoz Jimenez — Examen de Grado 33/49

Page 36: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesDefiniciones

Definicion (Equivalencia)

Dos conjuntos Σ1 y Σ2 de claves XML son equivalentes , denotadoΣ1 ≡ Σ2, si Σ

∗1 = Σ∗

2 ⇒ ambos son cover del otro.

Definicion (No-redundante)

Un conjunto Σ2 de claves XML es no-redundante si no hay unsubconjunto equivalente. Σ2 es un cover no-redundante para unconjunto Σ1, si Σ2 es no-redundante y cover para Σ1.

Emir F. Munoz Jimenez — Examen de Grado 34/49

Page 37: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesCaracterizacion

¿Podemos utilizar la implicacion de claves?

Σ es no-redundante si no hay una clave ψ en Σ tal queΣ− {ψ} |= ψ

Si Σ1 es redundante, entonces existe una clave ψ que puedeser descartada, obteniendo Σ2 = Σ1 − {ψ}

Si Σ2 es redundante, entonces existe una clave φ que puedeser descartada, obteniendo Σ3 = Σ2 − {φ}

etc. . .

Notese, que Σ∗3 = Σ∗

2 = Σ∗1

Emir F. Munoz Jimenez — Examen de Grado 35/49

Page 38: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesCaracterizacion

¿Podemos utilizar la implicacion de claves?

Σ es no-redundante si no hay una clave ψ en Σ tal queΣ− {ψ} |= ψ

Si Σ1 es redundante, entonces existe una clave ψ que puedeser descartada, obteniendo Σ2 = Σ1 − {ψ}

Si Σ2 es redundante, entonces existe una clave φ que puedeser descartada, obteniendo Σ3 = Σ2 − {φ}

etc. . .

Notese, que Σ∗3 = Σ∗

2 = Σ∗1

Emir F. Munoz Jimenez — Examen de Grado 35/49

Page 39: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesAlgoritmo calculo de Covers no-redundantes

Algoritmo 2: Calculo de covers no-redundantes

Entrada: Conjunto finito Σ de claves XML en K(PL,PL, PL+s )

Salida : Un cover no-redundante para Σ

Θ = Σ;1

foreach clave ψ ∈ Σ do2

if Θ− {ψ} |= ψ then3

Θ = Θ− {ψ};4

return Θ;5

Emir F. Munoz Jimenez — Examen de Grado 36/49

Page 40: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesTeorema definido

A partir de lo anterior, obtenemos el siguiente resultado:

Teorema

Un conjunto cover no-redundante para Σ puede ser calculado entiempo O(|Σ| × (max{|ψ| : ψ ∈ Σ})2)

Emir F. Munoz Jimenez — Examen de Grado 37/49

Page 41: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conjuntos Cover no-redundantesImplementacion

Implicación deClaves XML

Covers no redundantes

Claves XML

1

Keys.in salida.out

result.out

2

3

4 5

6

7

Repetir tantas veces como el

número de claves

Llamada

a System

Figure: Flujo del calculo de covers no-redundantes.

Emir F. Munoz Jimenez — Examen de Grado 38/49

Page 42: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Resultados ExperimentalesExperimentos de Implicacion

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 20 40 60 80 100

abs-absabs-relrel-absrel-rel

mix-absmix-rel

Tiempo[m

s]

Tamano conjunto Σ

(a) Casos de implicacion de claves

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 20 40 60 80 100

mix-relwildcard

Tiempo[m

s]

Tamano conjunto Σ

(b) Efecto de los comodines

Figure: Performance de la implicacion de claves XML.

Emir F. Munoz Jimenez — Examen de Grado 39/49

Page 43: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Resultados ExperimentalesExperimentos de Cover no-redundantes

0

20

40

60

80

100

120

0 20 40 60 80 100 120 140

Implicacion

Tiempo[m

s]

Tamano conjunto Σ

Figure: Performance del calculo de covers no-redundante.

Emir F. Munoz Jimenez — Examen de Grado 40/49

Page 44: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Resultados ExperimentalesValidacion contra Covers no-redundantes

0

10000

20000

30000

40000

50000

60000

Doc1 Doc2 Doc3 Doc4 Doc5 Doc6

Tie

mpo [

ms]

Documentos XML

Validacion CompletaValidation Cover set

Figure: Performance de la validacion de documentos.

Documentos XML

321gone

Yahoo

DBLP

Nasa

SIGMODRecord

Mondial

Emir F. Munoz Jimenez — Examen de Grado 41/49

Page 45: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conclusiones y Trabajos Futuros I

Este trabajo tuvo como objetivo principal demostrar queexisten clases expresivas, no solo tratables en la teorıa, sinotambien en la practica

Estudiamos un fragmento significativo de claves XML

Su algoritmo de implicacion cuadratico en teorıa, es rapido yescala bien en la implementacion

Estudiamos las consecuencias de decidir eficientemente laimplicacion de claves en la gestion de bases de datos XML

Implementamos y evaluamos el algoritmo de implicacion declaves en K(PL,PL,PL+

s )

Disenamos, implementamos y evaluamos un algoritmo paravalidacion de documentos, que respete la igualdad valordefinida por [Buneman et al., 2002, Buneman et al., 2003]

Emir F. Munoz Jimenez — Examen de Grado 42/49

Page 46: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Conclusiones y Trabajos Futuros II

Disenamos, implementamos y evaluamos un metodo deoptimizacion del proceso de validacion de documentos XML,en base a conjuntos cover no redundantes

Este metodo puede reducir significativamente el numero declaves, traduciendose en una enorme reduccion en el tiempode validacion

El tiempo de calculo de un cover es una fraccion del tiempode validacion contra una sola clave

El algoritmo para calcular covers no depende del fragmentoaquı estudiado

Planeamos extender nuestros estudios para otros fragmentosexpresivos de claves XML; y estudiar el uso de estructurascompactas para reducir el espacio de memoria

Emir F. Munoz Jimenez — Examen de Grado 43/49

Page 47: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Agradecimientos

A la Universidad de Santiago de Chile

A la Fundacion San Marcelino Champagnat

Al laboratorio Yahoo! Research Latin America

A mis profesores guıas Flavio Ferrarotti y Mauricio Marın

A todos mis amigos y companeros

Emir F. Munoz Jimenez — Examen de Grado 44/49

Page 48: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Referencias I

Arenas, M., Fan, W., and Libkin, L. (2002).

What’s Hard about XML Schema Constraints?In Proceedings of the 13th International Conference on Database and Expert Systems Applications, DEXA’02, pages 269–278, London, UK, UK. Springer-Verlag.

Arenas, M. and Libkin, L. (2008).

XML data exchange: Consistency and query answering.J. ACM, 55:7:1–7:72.

Buneman, P., Davidson, S. B., Fan, W., Hara, C. S., and Tan, W. C. (2002).

Keys for XML.Computer Networks, 39(5):473–487.

Buneman, P., Davidson, S. B., Fan, W., Hara, C. S., and Tan, W. C. (2003).

Reasoning about keys for XML.Inf. Syst., 28(8):1037–1063.

Fan, W. (2005).

XML Constraints: Specification, Analysis, and Applications.In DEXA Workshops, pages 805–809. IEEE Computer Society.

Fan, W. and Libkin, L. (2002).

On XML integrity constraints in the presence of DTDs.J. ACM, 49(3):368–406.

Fan, W. and Simeon, J. (2003).

Integrity constraints for XML.J. Comput. Syst. Sci., 66(1):254–291.

Emir F. Munoz Jimenez — Examen de Grado 45/49

Page 49: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Referencias II

Hartmann, S. and Link, S. (2009).

Efficient Reasoning about a Robust XML Key Fragment.ACM Trans. Database Syst., 34(2).

Suciu, D. (2001).

On database theory and XML.SIGMOD Rec., 30(3):39–45.

Vianu, V. (2003).

A Web odyssey: from codd to XML.volume 32, pages 68–77.

Emir F. Munoz Jimenez — Examen de Grado 46/49

Page 50: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Introduccion Marco Teorico Implicacion Validacion Covers Experimentos Conclusiones Referencias

Consultas

GRACIAS POR SU ATENCION

Emir F. Munoz [email protected]

Emir F. Munoz Jimenez — Examen de Grado 47/49

Page 51: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

Regla subnodos

E E

a

V1

E

b

V2

E

c

V3

E

b

V4

E

c

V5

E

d

V6

E

e

V7

root

Se tiene que T satisface la clave absolutaσ = (ε, (a. ∗.b.c. ∗.d, {e})), pero no satisface la clave absolutaϕ = (ε, (a. ∗.b, {c. ∗.d.e}))

Ya que v2, v4 ∈ [[a. ∗.b]], v2 6= v4 yv2[[c.

∗.d.e]] ∩v v4[[c.∗.d.e]] = {(v7, v7)}

Esto es, ϕ no es implicada por σ

Sin embargo, ϕ puede ser inferida a partir de σ usando laregla subnodos definida en [Buneman et al., 2003]

Emir F. Munoz Jimenez — Examen de Grado 48/49

Page 52: Claves XML: Una Implementación de Algoritmos de Implicación y Validación

XML MiningTrabajos Futuros

Nuestra implementacion del algoritmo de implicacion, puedeser utilizada en el contexto de mining de claves XML

No considerando las claves trivialmente satisfechas

Si una clave ϕ es extraıda desde un conjunto de claves Σ

Y se tiene que un conjunto D de documentos, satisface todaslas claves en el conjunto Σ

Si Σ |= ϕ, entonces ϕ es satisfecha por todos los di ∈ D

Sin necesidad de validar cada documento contra la clave ϕdescubierta

Emir F. Munoz Jimenez — Examen de Grado 49/49