Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Claves XML: Una Implementación de Algoritmos de Implicación y Validación
1. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Claves XML: Una Implementaci´on de Algoritmos
de Implicaci´on y Validaci´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
2. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML
Las claves son fundamentales para la administraci´on de bases
de datos (independiente del modelo usado )
En la ´ultima d´ecada, varias nociones de claves han sido
propuestas
La m´as popular es la propuesta de Buneman et al.,2002 y 2003
basada en un ´arbol XML
Las claves identifican nodos en ´arboles XML, en base a los
valores de los nodos descendientes
Su expresividad y propiedades computacionales han sido
analizadas en la teor´ıa
Emir F. Mu˜noz Jim´enez — Examen de Grado 2/49
3. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML (cont.)
Tanto la industria como la academia han reconocido la
importancia de las claves en la administraci´on de datos XML
Por otro lado, en la pr´actica, las nociones de expresividad de
las claves XML han sido ignoradas
Se espera que las claves XML sean tan ´utiles como en el
modelo relacional
As´ı, las claves tendr´an gran potencial en ´areas como: dise˜no
de esquemas, optimizaci´on de consultas, almacenamiento y
actualizaci´on, intercambio de datos e integraci´on
Emir F. Mu˜noz Jim´enez — Examen de Grado 3/49
4. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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. Mu˜noz Jim´enez — Examen de Grado 4/49
5. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 un
nodo proyecto
Emir F. Mu˜noz Jim´enez — Examen de Grado 5/49
6. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 institucion
y persona
Emir F. Mu˜noz Jim´enez — Examen de Grado 6/49
7. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML (cont.)
Claves definidas
(a). Un nodo proyecto es identificado por codp en todo el
documento (Clave Absoluta)
(b). Un nodo jefe puede ser identificado por institucion, relativo a
un nodo proyecto (Clave Relativa)
(c). Un nodo jefe puede ser identificado por sus nodos hijos
institucion y persona (Clave Relativa)
N´otese que
Hay claves que implican otras claves. Como la clave (b) que
implica la (c). (superclave)
Emir F. Mu˜noz Jim´enez — Examen de Grado 7/49
8. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML (cont.)
Claves definidas
(a). Un nodo proyecto es identificado por codp en todo el
documento (Clave Absoluta)
(b). Un nodo jefe puede ser identificado por institucion, relativo a
un nodo proyecto (Clave Relativa)
(c). Un nodo jefe puede ser identificado por sus nodos hijos
institucion y persona (Clave Relativa)
N´otese que
Hay claves que implican otras claves. Como la clave (b) que
implica la (c). (superclave)
Emir F. Mu˜noz Jim´enez — Examen de Grado 7/49
9. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML (cont.)
Es importante investigar las claves XML
Las claves XML tienen un gran potencial para ´areas como:
Dise˜no de esquemas
Optimizaci´on y reescritura de consultas
Almacenamiento y actualizaci´on de datos
Intercambio e integraci´on de datos
Indexaci´on
Emir F. Mu˜noz Jim´enez — Examen de Grado 8/49
10. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Introducci´on
Claves XML (cont.)
¿Qu´e se ha hecho en el ´area?
Propuestas de definici´on de restricciones en XML
[Arenas et al., 2002, Fan, 2005, Fan and Sim´eon, 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 implicaci´on de claves XML
[Buneman et al., 2002, Buneman et al., 2003]
Se logra un algoritmo O(n7
)
El conjunto de reglas presentadas no era v´alido
[Hartmann and Link, 2009]
Se propone un nuevo algoritmo O(n2), para un fragmento de
claves
Es un ´area de investigaci´on con gran complejidad te´orica
Emir F. Mu˜noz Jim´enez — Examen de Grado 9/49
11. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Contribuciones
Disminuir la brecha entre teor´ıa y pr´actica de las claves XML
Las contribuciones realizadas por este trabajo son:
(i). Una implementaci´on eficiente para un algoritmo de implicaci´on
de claves XML, propuesto en [Hartmann and Link, 2009]
(ii). El dise˜no e implementaci´on de un algoritmo de validaci´on de
documentos contra claves XML.
(iii). El dise˜no e implementaci´on de un algoritmo para calcular
covers no redundantes.
Emir F. Mu˜noz Jim´enez — Examen de Grado 10/49
12. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Objetivo General
El presente trabajo tuvo como objetivo general:
Demostrar emp´ıricamente las capacidades sem´anticas que entregan
las claves XML, mediante el desarrollo de software para los
problemas de implicaci´on y validaci´on, para las claves definidas por
[Buneman et al., 2003], y estudiadas en
[Hartmann and Link, 2009].
Emir F. Mu˜noz Jim´enez — Examen de Grado 11/49
13. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Modelo 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
Definici´on
Un ´arbol XML es una 6-tupla T = (V, lab, ele, att, val, r)
Emir F. Mu˜noz Jim´enez — Examen de Grado 12/49
14. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Modelo 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
Definici´on
Un ´arbol XML es una 6-tupla T = (V, lab, ele, att, val, r)
Emir F. Mu˜noz Jim´enez — Examen de Grado 12/49
15. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Modelo de ´Arbol XML (cont.)
Un camino en un ´arbol XML T es una secuencia finita
v0, . . . , vm, tal que (vi−1, vi) es una arista de T para todo
i = 1, . . . , m
El camino p determina una palabra lab(v1), . . . , lab(vm) sobre
el alfabeto L
Se llama p a un camino desde v0 hasta vm, y se dice que vm
es alcanzable desde v0
Para cada nodo v ∈ V , un nodo w alcanzable desde v es
llamado descendiente de v
Emir F. Mu˜noz Jim´enez — Examen de Grado 13/49
16. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Igualdad 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} y
existe una permutaci´on π 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 sub´arboles
Emir F. Mu˜noz Jim´enez — Examen de Grado 14/49
17. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Igualdad 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 iguales
en valor
Emir F. Mu˜noz Jim´enez — Examen de Grado 15/49
18. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Expresiones de Camino
Se construyen usando las etiquetas de los nodos como
alfabeto, describiendo una secuencia de aristas padre-hijo
Definimos un lenguaje PL a partir de la gram´atica
Q → ℓ | ε | Q.Q | ∗
donde ℓ ∈ L es alguna etiqueta, ε la palabra vac´ıa, “.” el
operador concatenaci´on, y “ ∗” el comod´ın
Por ejemplo, una expresi´on de camino puede ser
proyecto.jefe.persona.nombre
Emir F. Mu˜noz Jim´enez — Examen de Grado 16/49
19. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Expresiones de Camino (cont.)
E
S A
E
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
S
E
EE
S
E
E E
SS
nombre
Phobia
institucion
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 es
alcanzable desde v, siguiendo un camino-Q en T
Si el camino-Q fuese proyecto.jefe.institucion y v el nodo ra´ız
Emir F. Mu˜noz Jim´enez — Examen de Grado 17/49
20. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Expresiones de Camino (cont.)
E
S
E
E
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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
jefe
institucion
db
institucion
USACH
codp
A1
Codelco
B3
codp
UMAG USACH
persona
nombre oficina
68Thaira
A A A
A A
Para un nodo v ∈ V , sea v[[Q]] el conjunto de nodos en T
alcanzables desde v siguiendo un camino-Q
Si el camino-Q fuese proyecto.jefe.institucion y v el nodo ra´ız
Emir F. Mu˜noz Jim´enez — Examen de Grado 18/49
21. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Expresiones de Camino (cont.)
Denotamos PLs al subconjunto de expresiones PL que
contienen todas las palabras sobre el alfabeto L (no contienen
comodines)
Q ∈ PL es v´alida si no posee etiquetas ℓ ∈ A o ℓ = S en una
posici´on que no sea la ´ultima
Para los nodos v y v′ de un ´arbol XML T, la intersecci´on en
valor de v[[Q]] y v′[[Q]] es dada por
v[[Q]] ∩v v′[[Q]] = {(w, w′) | w ∈ v[[Q]], w′ ∈ v′[[Q]], w =v w′}
Emir F. Mu˜noz Jim´enez — Examen de Grado 19/49
22. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Claves para XML
Definici´on (Clave XML)
Una clave XML ϕ en una clase K(PL1, PL2, PL3) de claves XML,
es una expresi´on de la forma (Q, (Q′, {Q1, . . . , Qk})) donde,
Q es una expresi´on PL1 (Camino Contexto)
Q′
es una expresi´on PL2 (Camino Objetivo)
Para 1 ≤ i ≤ k, Qi es una expresi´on PL3 (Caminos Clave)
Tal que Q.Q′
.Qi es una expresi´on v´alida
Si Q = ε, ϕ es absoluta; en otro caso, ϕ es relativa
Emir F. Mu˜noz Jim´enez — Examen de Grado 20/49
23. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Claves para XML (cont.)
Un ´arbol XML T satisface una clave (Q, (Q′, {Q1, . . . , Qk}))
si y s´olo si, para todo nodo q ∈ [[Q]] y todo par de nodos
q′
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 que
q′
1 = q′
2
Se trabaj´o 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 de
claves XML y complejidad de su problema de implicaci´on
Donde “+” indica que el conjunto de caminos clave es finito y
no vac´ıo
Emir F. Mu˜noz Jim´enez — Examen de Grado 21/49
24. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Claves para XML (cont.)
Formalizaci´on de claves
En particular, las claves descritas informalmente en la introducci´on,
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. Mu˜noz Jim´enez — Examen de Grado 22/49
25. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Marco Te´orico
Implicaci´on de claves y Axiomatizaci´on
Decimos que Σ implica ϕ, denotado Σ |= ϕ, si todo ´arbol
XML T que satisface toda σ ∈ Σ tambi´en satisface ϕ
El problema de implicaci´on es decidir para alg´un conjunto de
claves Σ ∪ {ϕ} en una clase C, si Σ |= ϕ
Definimos clausura sem´antica como: Σ∗ = {ϕ ∈ C | Σ |= ϕ}
Definimos clausura sint´actica como: Σ+
ℜ = {ϕ | Σ ⊢ℜ ϕ}
Un conjunto de reglas ℜ es v´alido (completo) si
Σ+
ℜ ⊆ Σ∗(Σ∗ ⊆ Σ+
ℜ)
A un conjunto v´alido y completo de reglas se le llama
axiomatizaci´on
Emir F. Mu˜noz Jim´enez — Examen de Grado 23/49
26. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Implicaci´on de Claves XML
Mini-tree y Witness-graph [Hartmann and Link, 2009]
0000
00000000
0000
1111
11111111
1111
0000000000
00000
0000000000
1111111111
11111
1111111111
00000
00000
0000000000
00000
11111
11111
1111111111
111110000
0000
00000000
1111
1111
11111111
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′
ϕq′
ϕ
xϕ
1
xϕ
1
xϕ
2
xϕ
2
v′
1v′
1
v′
2
v′
2
w1
w1
w′
1
w′
1
a˜no
a˜no
(a) Mini-tree TΣ,ϕ
db
E
E
E
E E
SS
publico
nacional
proyecto
E
pnombre
××
qϕ
q′
ϕ
a˜no
(b) Witness-graph GΣ,ϕ
Figure: Herramientas de la implicaci´on.
ϕ = (ε, (publico. ∗.proyecto, {pnombre.S, a˜no.S})
Emir F. Mu˜noz Jim´enez — Examen de Grado 24/49
27. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Implicaci´on de Claves XML
Algoritmo de Implicaci´on de claves XML
Algoritmo 1: Σ |= ϕ: Implicaci´on 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. Mu˜noz Jim´enez — Examen de Grado 25/49
28. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Implicaci´on de Claves XML
Teorema ([Hartmann and Link, 2009])
Sea Σ ∪ {ϕ} un conjunto finito de claves en la clase
K(PL, PL, PL+
s ). Se tiene que Σ |= ϕ si y s´olo si, qϕ es
alcanzable desde q′
ϕ en GΣ,ϕ.
Teorema ([Hartmann and Link, 2009])
Sea Σ ∪ {ϕ} un conjunto finito de claves XML en
K(PL, PL, PL+
s ). El problema de implicaci´on Σ |= ϕ se puede
decidir en tiempo O(|ϕ| × (||Σ|| + |ϕ|)).
Emir F. Mu˜noz Jim´enez — Examen de Grado 26/49
29. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Implicaci´on de Claves XML
Implementaci´on
Definir estructuras de datos para representar un grafo (´arbol)
Listas de adyacencia
Definir un algoritmo de alcanzabilidad, en base a una
b´usqueda en profundidad
Se ejecuta en tiempo lineal, en el n´umero de aristas de GΣ,ϕ
Se logra una implementaci´on que puede decidir el problema de
implicaci´on Σ |= ϕ en tiempo O(|ϕ| × ( σi∈Σ |σi| × |ϕ|))
Emir F. Mu˜noz Jim´enez — Examen de Grado 27/49
30. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Implicaci´on de Claves XML
Implementaci´on (cont.)
db
E
E
E
E E
SS
publico
nacional
proyecto
E
anhopnombre
××
qϕ
q′
ϕ
(a) Witness-graph GΣ,ϕ
Node 1
Node 2
vertexEle
Node 1
edgeEle
nodeEle
(publico)
Node 3 Node 0
vertexEle
Node 2
edgeEle edgeEle
nodeEle
(nacional)
Node 4 Node 6 Node 1
vertexEle
Node 3
edgeEle edgeEle edgeEle
nodeEle
(proyecto)
(S)
Node 7
(db)
vertexEle
edgeEle
nodeEleNode 0
L
.....
(b) Lista de adyacencia
Figure: Representaci´on mediante listas de adyacencia.
Emir F. Mu˜noz Jim´enez — Examen de Grado 28/49
31. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Validaci´on de documentos contra claves XML
Estrategia
Algoritmos r´apidos para la validaci´on de claves son cruciales
para asegurar la consistencia de los datos en el intercambio
[Arenas and Libkin, 2008]
La estrategia es traducir el problema de validaci´on al problema
de satisfacci´on de claves en un ´arbol XML
Se busca la primera intersecci´on en valor no vac´ıa
En particular, nuestro algoritmo funciona con igualdad en
valor no limitada a texto
Proponemos transformar las claves en Σ en expresiones
XPath, las que se aplican sobre un ´arbol XML (DOM)
´Util para verificar la optimizaci´on con covers no-redundantes
Emir F. Mu˜noz Jim´enez — Examen de Grado 29/49
32. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Validaci´on de documentos contra claves XML
Algoritmo de Validaci´on 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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. Mu˜noz Jim´enez — Examen de Grado 30/49
33. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Validaci´on de documentos contra claves XML
Algoritmo de Validaci´on 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 satisfecha
por el ´arbol XML T
Emir F. Mu˜noz Jim´enez — Examen de Grado 31/49
34. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Validaci´on de documentos contra claves XML
Algoritmo de Validaci´on 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
jefe
jefe
institucion
Yahoo!
jefe
institucion
jefe
proyecto
proyecto
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 es
satisfecha por el ´arbol XML T
Emir F. Mu˜noz Jim´enez — Examen de Grado 32/49
35. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Validaci´on de documentos contra claves XML
Implementaci´on
Usando Java SDK y la biblioteca javax.xml.parsers.*
Se obtiene una estructura utilizando la biblioteca
org.w3c.dom
Para las consultas XPath se utiliza la biblioteca
javax.xml.xpath.*
Doc
XML
Claves
XML
Lectura
Estructura DOM
Parser
javax.xml.parsers
XPath Queries
javax.xml.xpath
Validador Documento
Vector de
Resultados
Conjunto Σ
Figure: Arquitectura del validador.
Emir F. Mu˜noz Jim´enez — Examen de Grado 33/49
36. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Definiciones
Definici´on (Equivalencia)
Dos conjuntos Σ1 y Σ2 de claves XML son equivalentes , denotado
Σ1 ≡ Σ2, si Σ∗
1 = Σ∗
2 ⇒ ambos son cover del otro.
Definici´on (No-redundante)
Un conjunto Σ2 de claves XML es no-redundante si no hay un
subconjunto equivalente. Σ2 es un cover no-redundante para un
conjunto Σ1, si Σ2 es no-redundante y cover para Σ1.
Emir F. Mu˜noz Jim´enez — Examen de Grado 34/49
37. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Caracterizaci´on
¿Podemos utilizar la implicaci´on de claves?
Σ es no-redundante si no hay una clave ψ en Σ tal que
Σ − {ψ} |= ψ
Si Σ1 es redundante, entonces existe una clave ψ que puede
ser descartada, obteniendo Σ2 = Σ1 − {ψ}
Si Σ2 es redundante, entonces existe una clave φ que puede
ser descartada, obteniendo Σ3 = Σ2 − {φ}
etc. . .
N´otese, que Σ∗
3 = Σ∗
2 = Σ∗
1
Emir F. Mu˜noz Jim´enez — Examen de Grado 35/49
38. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Caracterizaci´on
¿Podemos utilizar la implicaci´on de claves?
Σ es no-redundante si no hay una clave ψ en Σ tal que
Σ − {ψ} |= ψ
Si Σ1 es redundante, entonces existe una clave ψ que puede
ser descartada, obteniendo Σ2 = Σ1 − {ψ}
Si Σ2 es redundante, entonces existe una clave φ que puede
ser descartada, obteniendo Σ3 = Σ2 − {φ}
etc. . .
N´otese, que Σ∗
3 = Σ∗
2 = Σ∗
1
Emir F. Mu˜noz Jim´enez — Examen de Grado 35/49
39. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Algoritmo c´alculo de Covers no-redundantes
Algoritmo 2: C´alculo 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. Mu˜noz Jim´enez — Examen de Grado 36/49
40. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Teorema definido
A partir de lo anterior, obtenemos el siguiente resultado:
Teorema
Un conjunto cover no-redundante para Σ puede ser calculado en
tiempo O(|Σ| × (max{|ψ| : ψ ∈ Σ})2)
Emir F. Mu˜noz Jim´enez — Examen de Grado 37/49
41. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conjuntos Cover no-redundantes
Implementaci´on
Implicación de
Claves 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 c´alculo de covers no-redundantes.
Emir F. Mu˜noz Jim´enez — Examen de Grado 38/49
42. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Resultados Experimentales
Experimentos de Implicaci´on
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0 20 40 60 80 100
abs-abs
abs-rel
rel-abs
rel-rel
mix-abs
mix-rel
Tiempo[ms]
Tama˜no conjunto Σ
(a) Casos de implicaci´on 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-rel
wildcard
Tiempo[ms]
Tama˜no conjunto Σ
(b) Efecto de los comodines
Figure: Performance de la implicaci´on de claves XML.
Emir F. Mu˜noz Jim´enez — Examen de Grado 39/49
43. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Resultados Experimentales
Experimentos de Cover no-redundantes
0
20
40
60
80
100
120
0 20 40 60 80 100 120 140
Implicacion
Tiempo[ms]
Tama˜no conjunto Σ
Figure: Performance del c´alculo de covers no-redundante.
Emir F. Mu˜noz Jim´enez — Examen de Grado 40/49
44. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Resultados Experimentales
Validaci´on contra Covers no-redundantes
0
10000
20000
30000
40000
50000
60000
Doc1 Doc2 Doc3 Doc4 Doc5 Doc6
Tiempo[ms]
Documentos XML
Validacion Completa
Validation Cover set
Figure: Performance de la validaci´on de documentos.
Documentos XML
321gone
Yahoo
DBLP
Nasa
SIGMOD
Record
Mondial
Emir F. Mu˜noz Jim´enez — Examen de Grado 41/49
45. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conclusiones y Trabajos Futuros I
Este trabajo tuvo como objetivo principal demostrar que
existen clases expresivas, no s´olo tratables en la teor´ıa, sino
tambi´en en la pr´actica
Estudiamos un fragmento significativo de claves XML
Su algoritmo de implicaci´on cuadr´atico en teor´ıa, es r´apido y
escala bien en la implementaci´on
Estudiamos las consecuencias de decidir eficientemente la
implicaci´on de claves en la gesti´on de bases de datos XML
Implementamos y evaluamos el algoritmo de implicaci´on de
claves en K(PL, PL, PL+
s )
Dise˜namos, implementamos y evaluamos un algoritmo para
validaci´on de documentos, que respete la igualdad valor
definida por [Buneman et al., 2002, Buneman et al., 2003]
Emir F. Mu˜noz Jim´enez — Examen de Grado 42/49
46. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Conclusiones y Trabajos Futuros II
Dise˜namos, implementamos y evaluamos un m´etodo de
optimizaci´on del proceso de validaci´on de documentos XML,
en base a conjuntos cover no redundantes
Este m´etodo puede reducir significativamente el n´umero de
claves, traduci´endose en una enorme reducci´on en el tiempo
de validaci´on
El tiempo de c´alculo de un cover es una fracci´on del tiempo
de validaci´on contra una sola clave
El algoritmo para calcular covers no depende del fragmento
aqu´ı estudiado
Planeamos extender nuestros estudios para otros fragmentos
expresivos de claves XML; y estudiar el uso de estructuras
compactas para reducir el espacio de memoria
Emir F. Mu˜noz Jim´enez — Examen de Grado 43/49
47. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Agradecimientos
A la Universidad de Santiago de Chile
A la Fundaci´on 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 compa˜neros
Emir F. Mu˜noz Jim´enez — Examen de Grado 44/49
48. Introducci´on Marco Te´orico Implicaci´on Validaci´on 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 Sim´eon, J. (2003).
Integrity constraints for XML.
J. Comput. Syst. Sci., 66(1):254–291.
Emir F. Mu˜noz Jim´enez — Examen de Grado 45/49
49. Introducci´on Marco Te´orico Implicaci´on Validaci´on 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. Mu˜noz Jim´enez — Examen de Grado 46/49
50. Introducci´on Marco Te´orico Implicaci´on Validaci´on Covers Experimentos Conclusiones Referencias
Consultas
GRACIAS POR SU ATENCI´ON
Emir F. Mu˜noz Jim´enez
emir.munozj@usach.cl
Emir F. Mu˜noz Jim´enez — Examen de Grado 47/49
51. 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 = v4 y
v2[[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 la
regla subnodos definida en [Buneman et al., 2003]
Emir F. Mu˜noz Jim´enez — Examen de Grado 48/49
52. XML Mining
Trabajos Futuros
Nuestra implementaci´on del algoritmo de implicaci´on, puede
ser 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 todas
las 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. Mu˜noz Jim´enez — Examen de Grado 49/49