SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

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

Similaire à Claves XML: Una Implementación de Algoritmos de Implicación y Validación (20)

XPath
XPathXPath
XPath
 
Diccionario visual basic
Diccionario visual basicDiccionario visual basic
Diccionario visual basic
 
Capitulo4 arreglos
Capitulo4 arreglosCapitulo4 arreglos
Capitulo4 arreglos
 
Programación II - Estructuras de control de flujo, Arreglos y Cadenas
Programación II - Estructuras de control de flujo, Arreglos y CadenasProgramación II - Estructuras de control de flujo, Arreglos y Cadenas
Programación II - Estructuras de control de flujo, Arreglos y Cadenas
 
SDMX: 02 Introducción a XML
SDMX: 02 Introducción a XMLSDMX: 02 Introducción a XML
SDMX: 02 Introducción a XML
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 
Diccionario visual basic
Diccionario visual basicDiccionario visual basic
Diccionario visual basic
 
Trabajo practico integrador tae
Trabajo practico integrador taeTrabajo practico integrador tae
Trabajo practico integrador tae
 
Tecnica de Prueba de Software
Tecnica de Prueba de SoftwareTecnica de Prueba de Software
Tecnica de Prueba de Software
 
Formalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid MuñozFormalización en UML - Ingrid Muñoz
Formalización en UML - Ingrid Muñoz
 
Fundamentos De Algoritmia
Fundamentos De AlgoritmiaFundamentos De Algoritmia
Fundamentos De Algoritmia
 
conceptos-basicos-programacionES-ppt.ppt
conceptos-basicos-programacionES-ppt.pptconceptos-basicos-programacionES-ppt.ppt
conceptos-basicos-programacionES-ppt.ppt
 
Modelamiento Orientado a Objetos
Modelamiento Orientado a ObjetosModelamiento Orientado a Objetos
Modelamiento Orientado a Objetos
 
Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
Notacion Hungara
Notacion HungaraNotacion Hungara
Notacion Hungara
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internet
 
Perfiles UML
Perfiles UMLPerfiles UML
Perfiles UML
 
Rc jose franqueller_garcia
Rc jose franqueller_garciaRc jose franqueller_garcia
Rc jose franqueller_garcia
 
Fem49v5.3 ejemplos
Fem49v5.3 ejemplosFem49v5.3 ejemplos
Fem49v5.3 ejemplos
 
Visual basic
Visual basicVisual basic
Visual basic
 

Plus de Emir Muñoz

A Linked Data-Based Decision Tree Classifier to Review Movies
A Linked Data-Based Decision Tree Classifier to Review MoviesA Linked Data-Based Decision Tree Classifier to Review Movies
A Linked Data-Based Decision Tree Classifier to Review MoviesEmir Muñoz
 
The Philosophical Aspects of Data Modelling
The Philosophical Aspects of Data ModellingThe Philosophical Aspects of Data Modelling
The Philosophical Aspects of Data ModellingEmir Muñoz
 
Web Intelligence - 2010
Web Intelligence - 2010Web Intelligence - 2010
Web Intelligence - 2010Emir Muñoz
 
μRaptor: A DOM-based system with appetite for hCard elements
μRaptor: A DOM-based system with appetite for hCard elementsμRaptor: A DOM-based system with appetite for hCard elements
μRaptor: A DOM-based system with appetite for hCard elementsEmir Muñoz
 
Learning Content Patterns from Linked Data
Learning Content Patterns from Linked DataLearning Content Patterns from Linked Data
Learning Content Patterns from Linked DataEmir Muñoz
 
Using Linked Data to Mine RDF from Wikipedia's Tables
Using Linked Data to Mine RDF from Wikipedia's TablesUsing Linked Data to Mine RDF from Wikipedia's Tables
Using Linked Data to Mine RDF from Wikipedia's TablesEmir Muñoz
 
Reading Group 2014
Reading Group 2014Reading Group 2014
Reading Group 2014Emir Muñoz
 
Soft Cardinality Constraints on XML Data
Soft Cardinality Constraints on XML DataSoft Cardinality Constraints on XML Data
Soft Cardinality Constraints on XML DataEmir Muñoz
 
DRETa: Extracting RDF From Wikitables
DRETa: Extracting RDF From WikitablesDRETa: Extracting RDF From Wikitables
DRETa: Extracting RDF From WikitablesEmir Muñoz
 
WikiTables DERI Talk
WikiTables DERI TalkWikiTables DERI Talk
WikiTables DERI TalkEmir Muñoz
 

Plus de Emir Muñoz (11)

A Linked Data-Based Decision Tree Classifier to Review Movies
A Linked Data-Based Decision Tree Classifier to Review MoviesA Linked Data-Based Decision Tree Classifier to Review Movies
A Linked Data-Based Decision Tree Classifier to Review Movies
 
The Philosophical Aspects of Data Modelling
The Philosophical Aspects of Data ModellingThe Philosophical Aspects of Data Modelling
The Philosophical Aspects of Data Modelling
 
Web Intelligence - 2010
Web Intelligence - 2010Web Intelligence - 2010
Web Intelligence - 2010
 
μRaptor: A DOM-based system with appetite for hCard elements
μRaptor: A DOM-based system with appetite for hCard elementsμRaptor: A DOM-based system with appetite for hCard elements
μRaptor: A DOM-based system with appetite for hCard elements
 
Learning Content Patterns from Linked Data
Learning Content Patterns from Linked DataLearning Content Patterns from Linked Data
Learning Content Patterns from Linked Data
 
Using Linked Data to Mine RDF from Wikipedia's Tables
Using Linked Data to Mine RDF from Wikipedia's TablesUsing Linked Data to Mine RDF from Wikipedia's Tables
Using Linked Data to Mine RDF from Wikipedia's Tables
 
Reading Group 2014
Reading Group 2014Reading Group 2014
Reading Group 2014
 
Soft Cardinality Constraints on XML Data
Soft Cardinality Constraints on XML DataSoft Cardinality Constraints on XML Data
Soft Cardinality Constraints on XML Data
 
DRETa: Extracting RDF From Wikitables
DRETa: Extracting RDF From WikitablesDRETa: Extracting RDF From Wikitables
DRETa: Extracting RDF From Wikitables
 
DEXA 2012 Talk
DEXA 2012 TalkDEXA 2012 Talk
DEXA 2012 Talk
 
WikiTables DERI Talk
WikiTables DERI TalkWikiTables DERI Talk
WikiTables DERI Talk
 

Dernier

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Dernier (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

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