Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Emir Muñoz, Master Thesis 2011

Emir Muñoz

May 30, 2011
Tweet

More Decks by Emir Muñoz

Other Decks in Research

Transcript

  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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 S E E E S E E E S 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 68 Thaira nombre persona oficina A43 Axel 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 406 Diego E E E E E E E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 0000 0000 0000 1111 1111 1111 1111 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 00000 00000 00000 00000 00000 11111 11111 11111 11111 11111 0000 0000 0000 0000 1111 1111 1111 1111 E S E db E 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′ 1 v′ 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 S S 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Σ,ϕ then 2 return si; 3 else 4 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 S S publico nacional proyecto E anho pnombre × × 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 nodeEle Node 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 406 Diego A E E E E E E A A E E E S S persona oficina nombre Axel A43 A E S MediaLow nombre A E E S S E persona nombre oficina Diego 36 E E E S S nombre persona oficina A43 Axel S E E E 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 68 Thaira 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 ψ ∈ Σ do 2 if Θ − {ψ} |= ψ then 3 Θ = Θ − {ψ}; 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 [email protected] 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