1 / 53

Pesquisa em Integração de Dados XML

SECCOM - UFSC Semana de Cursos e Palestras da Computação Outubro/2005. Pesquisa em Integração de Dados XML. Ronaldo dos Santos Mello INE / CTC / UFSC ronaldo@inf.ufsc.br. Roteiro. Integração de Dados XML Integração de Dados XML Estudo de Caso: Abordagem BInXS Considerações Finais.

baruch
Download Presentation

Pesquisa em Integração de Dados XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SECCOM - UFSC Semana de Cursos e Palestras da Computação Outubro/2005 Pesquisa em Integração de Dados XML Ronaldo dos Santos Mello INE / CTC / UFSC ronaldo@inf.ufsc.br

  2. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  3. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  4. Integração de Dados • Problemática antiga na área de Banco de Dados! • necessidade de acesso compartilhado, não-redundante e transparente a dados heterogêneos • Exemplos de gerenciamento de dados heterogêneos • BDD (réplicas e fragmentos) • dados cadastrais de pessoas físicas (receita federal, bancos, SPC, ...) • dados geográficos (órgãos governamentais, institutos de pesquisa, ...) • pesquisa a dados de determinados domínios na Web com resultado não-redundante • . . .

  5. Gerência de Dados Heterogêneos • Duas principais abordagens

  6. visões do esquema global . . . Esquema Externo 2 Esquema Externo m Esquema Externo 1 resultado da integração dos esquemas de exportação Esquema Global porção do esquema local a ser integrada . . . Esquema Exportação 1 Esquema Exportação 2 Esquema Exportação n esquema local no modelo canônico . . . Esquema Componente 1 Esquema Componente 2 Esquema Componente n Esquema Local 2 . . . Esquema Local 1 Esquema Local n BD Local 1 BD Local n BD Local 2 Arquitetura de um BDF

  7. define mapeamentos entre 2 esquemas MultiDBs . . . Esquema Correspondência m Esquema Correspondência 1 equivalente a um esquema de exportação . . . Esquema MultiDB 1 Esquema MultiDB n Esquema MultiDB 2 Esquema Local 2 . . . Esquema Local 1 Esquema Local n BD Local 1 BD Local n BD Local 2 Arquitetura de um Multidatabase

  8. Integração de Esquemas • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação

  9. Integração de Esquemas • decidir quais partes de cada esquema devem ser integradas • mapear cada esquema para uma • representação canônica • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação

  10. Integração de Esquemas • determinar correspondências • semânticas entre conceitos dos • esquemas • análise de nomenclatura, estrutura, • relacionamentos, restrições, ... • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação

  11. Integração de Esquemas • resolver conflitos entre conceitos • equivalentes e gerar uma • representação integrada para eles • atualizar os mapeamentos locais • levando em conta a nova representação • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação

  12. Integração de Esquemas • adequar melhor o esquema • global à semântica do domínio • mudanças de nomenclatura, • inclusão de relacionamentos • semânticos, remoção de • relacionamentos redundantes, ... • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Unificação Reestruturação

  13. Taxonomias de Integração de Esquemas

  14. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  15. XML (eXtensible Markup Language) • Tecnologia desenvolvida pela W3C (1998) • W3C: World Wide Web Consortium • Linguagem de marcação • semelhança com a linguagem HTML • utiliza tags para descrição os dados • tag: indica a intenção do dado e delimita o seu conteúdo • meta-linguagem • cada aplicação define o seu protocolo (linguagem) para a representação dos seus dados • Dados são descritos em um documento XML • arquivos texto • não ocupam muito espaço em disco

  16. <?xml version =“1.0” encoding ="ISO-8859-1“> <!–- documento XML sobre livros --> <!DOCTYPE listaDeLivros [ <!ELEMENT listaLivros(livro+) ...]> <listaLivros> <livro ISBN=“112”> <título>Tecnologia XML</título> <autor> <nome>João da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <capítulo nome=“Introdução”>A XML foi ... <seção> <nome>Linguagens de Marcação</nome> ... </seção> </capítulo> ... </livro> ... </listaLivros> informações do documento elemento (raiz) atributo elemento (simples) elemento (composto) elemento (misto) dado XML: estrutura hierárquica, ordenada e complexa XML - Estrutura

  17. XML - Aplicação • Representação e transferência de dados em diversos domínios de aplicação e tecnologias para a Web • comércio eletrônico(CXML, ebXML) • SIG(SVG, GML) • referências bibliográficas(DBLP, SIGMOD, ...) • dispositivos móveis(WAP/WML) • mensagens e processos(SOAP, WSDL) • . . .

  18. XML - Tecnologia • Definição de esquemas de documentos • DTD (Document Type Definition) • XSD (XML-Schema Definition) • Linguagens de consulta a documentos • XPath e XQuery • APIs para processamento de documentos • DOM, SAX, ... • BDs para XML • Tamino, eXist, XIndice, ...

  19. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  20. Por quê se Preocupar com Integração de Dados XML? • Alta disponibilidade de dados XML na Web • mais fácil e mais econômico de publicar, se comparado com estruturas de BDs • muitos dados são redundantes e/ou complementares • interessante ter uma visão única e integrada desses dados • excelente para máquinas de busca e aplicações na Web • Web Semântica • visão da Web como um grande BD! • BDs XML Distribuídos • lidam com fragmentos XML redundantes

  21. Integração de Dados XML • Mais complexa que a integração de BDs! • XML são dados semi-estruturados • dados são parcialmente estruturados • instâncias XML em uma mesma fonte podem ter estruturas diferentes (dados opcionais, dados repetidos, ...) • instâncias XML em uma mesma fonte podem ter representações alternativas <pessoa> <nome>João Silva</nome> <CPF>10101010101</CPF> <eMail>js@xxx.aa.br</eMail> <eMail>joao@yy.zz.br</eMail> </pessoa> <pessoa> <nome>João Silva</nome> <endereço>rua B, 23</endereço> <eMail>js@xxx.aa.br</eMail> </pessoa> <pessoa CPF = “10101010101”> <nome>João Silva</nome> </residência><rua>B</rua><nro>23</nro></residência> </pessoa>

  22. Usuários e aplicações Consulta global Resultado Interface de Consulta Esquema Global Consulta global textual Documento XML global Usuário Especialista Mediador Esquemas e documentos XML Locais Consultas locais . . . Wrapper 1 Wrapper n Esquema XML 1 Esquema XML n Fonte de dados XML 1 Fonte de dados XML n Arquitetura Típica de Integração XML

  23. Abordagens de Integração XML • Integração manual X integração semi-automática • integração manual • ferramentas de apoio a usuários especialistas para a definição de esquemas globais • desvantagens • baixo grau de automatização • usuário deve ter conhecimento profundo do domínio • integração semi-automática • preferível, pois retira do usuário todas as decisões de integração • devem ser bem projetadas para produzir resultados mais exatos possíveis com um mínimo de intervenção do usuário

  24. Abordagens de Integração XML • Quanto ao modelo canônico adotado • modelo de implementação ou lógico • DTD ou XSD ou algum modelo de grafo hierárquico • ênfase apenas na estrutura dos dados • mapeamento direto e simples do esquema XML • modelo conceitual • UML, ER, ORM, ... • ênfase na estrutura e na semântica dos dados • mapeamento mais complexo do esquema XML • deve inferir relacionamentos semânticos entre os dados XML

  25. Abordagens de Integração XML • Abordagens mais ricas • semi-automáticas + modelo canônico conceitual + análise de diversos tipos de equivalência + tratamento de todos os tipos de conflitos • Limitações destas abordagens • não lidam com todos os problemas de integração inerentes a natureza dos dados XML • abstrações canônicas e processos de unificação não consideram elementos mistos e/ou elementos com representações alternativas e/ou ... • nem todos os tipos de análise de determinação de equivalência são considerados • análise de estrutura, de restrições, de instâncias, ... • Estudo de caso: Abordagem BInXS • tenta suprir as limitações das abordagens atuais

  26. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  27. BInXS • Abordagem de integração semântica de fontes de dados XML • BInXS é uma sigla para • Bottom-up Integration of XML Sources • BInXS é um dos trabalhos em desenvolvimento no Grupo de Banco de Dados da UFSC (GBD-UFSC) • http://www.grupobd.inf.ufsc.br

  28. BInXS – Principais Contribuições • Abordagem bottom-up • gera, de forma semi-automática, um esquema global a partir dos esquemas XML das fontes locais • considera todos os dados presentes em todas as fontes • Representações conceituais de esquemas XML • esquemas canônicos e global são conceituais • alto nível de abstração para os dados XML • Estratégia de unificação específica para XML • leva em conta as características semi-estruturadas dos dados XML

  29. Esquema Global BInXS Unificação BDs Terminológicas . . . Esquema Conceitual 1 Esquema Conceitual n Usuário Especialista . . . Conversão Conversão Esquema XML 1 . . . Esquema XML n Documentos XML Documentos XML BInXS - Arquitetura • BInXS é um mediador em uma arquitetura mediador-wrapper

  30. BInXS – Etapa de Conversão • Baseado em um conjunto de regras para mapeamento de construtores do modelo XML para construtores do modelo conceitual • Documentos XML (instâncias) são também analisados • objetivo: gerar, de forma automática, um esquema conceitual preliminar mais próximo de um esquema exato • Modelo conceitual de dados escolhido: ORM • correspondência mais próxima com o modelo XML • elemento complexo  conceito não-léxico • elemento simples ou atributo  conceito léxico • todas as associações entre dados no modelo XML possuem associações correspondentes no modelo ORM

  31. Esquema XML em DTD Categoria Livro (1,1) <!ELEMENT Livro (Título, Ano?, Autor+)> <!ATTLIST Livro Categoria CDATA (técnico | ficção)> <!ELEMENT Autor (Nome, (Universidade+ | Empresa), ...)> <!ELEMENT Nome (#PCDATA) . . . (1,N) (0,1) (0,1) Autor Título Ano (1,1) Endereço (1,1) (1,N) (1,1) Nome Universidade Empresa Modelo XML Nome string (1,1) (1,1) (1,N) (1,N) Universidade (1,N) (1,N) Livro Autor Ano (0,1) (1,N) string integer (1,N) (1,N) (1,N) (1,N) (1,1) comercial residencial (1,1) Empresa (0,1) (1,1) Modelo ORM Categoria string string Endereço {técnico, ficção} Modelos Considerados na Conversão

  32. Publicação Conversão de Elemento Composto <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)>

  33. Publicação análise de docs XML Ano integer default: string Conversão de Elemento Simples <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)>

  34. ... <Ano>2002</Ano> ... <Ano>1999</Ano> ... <Ano>2005</Ano> ... Tipo de dado de Ano: integer Análise de Documentos XML • Análise de tipo de dado

  35. análise de docs XML Publicação default: (1,N) (1,N) (0,1) Ano regras de cardinalidade integer Conversão de Componentes <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)>

  36. ... <Publication Title = “XML”> ... <Year>2002</Year> ... </Publication> ... <Publication Title = “ORM”> ... <Year>2002</Year> ... </Publication> ... Cardinalidade AnoPublicação: (1,N) Análise de Documentos XML • Análise de cardinalidade inversa

  37. Publicação (1,N) (1,N) (1,N) (0,1) Autor Ano (1,N) (1,N) (1,1) (1,N) integer Universidade Empresa string string Conversão de Representações Alternativas <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)>

  38. consulta à BD terminológica Publicação <Publicação IS-A Livro> (1,N) (1,N) (1,N) (0,1) Autor Livro Ano (1,N) (1,N) (1,1) (1,N) integer Universidade Empresa string string Deifinição de Relações de Especialização <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)>

  39. Publicação (1,N) (1,N) (0,1) (1,N) Autor Ano integer Livro (1,N) (1,N) (1,N) (1,1) (1,N) (1,1) Universidade Empresa Categoria string string string {técnico, ficção} Conversão de Atributos <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)> <!ATTLIST Livro Categoria CDATA #REQUIRED(técnico | ficção)>

  40. Livro (1,1) (1,N) Capítulo (1,1) (1,1) (0,N) (0,N) Seção Capítulo-Texto string Conversão de Elementos Mistos ... <!ELEMENT Livro (Editora,...,Capítulo+,...)> <!ELEMENT Capítulo (Seção | #PCDATA)*>

  41. Fonte XML 1: LivroCapítulo: conteúdo/capítulo CapítuloLivro: . . / . . Fonte XML 2:  Livro (1,1) (1,N) Fonte XML 1: /publicação/livro Fonte XML 2: /acervo/midiaImpressa/livro Capítulo Fonte XML 1: /publicação/livro/conteúdo/capítulo Fonte XML 2:  BInXS – Dados de Mapeamento • Dados gerados durante a conversão • Expressões XPath 1.0 • indicam o caminho até o dado XML na fonte local • facilitam a execução de futuras consultas a partir do esquema global • mapeamento definido para conceitos e relacionamentos • Exemplos

  42. BInXS – Etapa de Unificação • Geração de um esquema conceitual global a partir dos esquemas conceituais locais • Uma integração tradicional de esquemas é feita • Comparação de Esquemas • agrupa conceitos ORM em clusters de afinidade • apoio de BDs Terminológicas para determinar esses clusters • “Casamento” (Unificação propriamente dita) • gera um conceito global para cada cluster de afinidade • trata 3 casos de unificação: LxL, NLxNL e NLxL • Reestruturação • executa ajustes manuais e automáticos no esquema global • remoção de relacionamentos redundantes, generalização de conceitos, ...

  43. Casos de Unificação

  44. {técnico, infantil, poesia} {técnico, ficção} Classe Categoria X string[30] string[20] Fonte XML 2 Fonte XML 1 {técnico, ficção, infantil, poesia} Categoria Esquema Global string[30] Exemplo de Unificação L x L

  45. Classe (1,N) Categoria Universidade (1,N) (1,1) (1,N) (0,2) Universidade (1,N) (1,N) (1,1) (1,N) (1,1) (1,N) Instituto-Pesquisa (1,N) Empresa Autor (1,N) Escritor (1,N) (1,1) Empreendimento (1,N) (1,N) Escritório (1,N) (1,1) (1,N) Escritório Domicílio X (1,N) (1,1) Fonte XML 2 Residência Fonte XML 1 Categoria (0,N) Universidade (1,N) Residência (1,N) (0,1) Empresa (1,N) (1,N) (1,N) Autor (1,N) Instituto-Pesquisa (1,N) (0,1) (1,N) Esquema Global (0,1) Escritório Exemplo de Unificação NL x NL

  46. Residência Domicílio (1,N) X (1,1) (1,1) (1,N) Rua (0,1) (1,1) Número Cidade Fonte XML 2 Fonte XML 1 Residência (1,N) (1,1) (1,1) (1,N) Rua (0,1) (1,1) Mapeamento do conceito Cidade para a Fonte XML 2: /Autores/Autor/Domicílio Número Esquema Global Cidade Exemplo de Unificação NL x L

  47. Publicação Título Publicação generalização de conceitos (1,1) (1,1) Artigo Livro Artigo Livro (1,1) (1,1) Título (1,1) (1,1) remoção de relacionamentos redundantes Publicação Publicação (1,N) (1,N) (1,1) (1,1) (1,N) (1,1) Livro Ano Livro Ano Exemplos de Reestruturação

  48. BInXS – Trabalhos no GBD-UFSC • Concluído • sistema de controle de BD terminológicas • Em Fase de Conclusão • conversão de esquemas XSD para ORM • Em Andamento • geração de esquemas XSD a partir de docs XML • gerência de resultados de consultas a partir do esquema global • determinação de equivalência entre instâncias XML heterogêneas • operações de integração de instâncias XML heterogêneas • Em Fase Inicial • funções de análise de documentos XML para a Conversão • análise e incorporação de RIs de domínio das fontes XML no esquema global • A Desenvolver... • um monte de trabalhos!!!!!

  49. Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais

  50. Considerações Finais • Integração de Dados XML é um tópico atual de pesquisa • popularização de dados XML é um fato! • gerados por aplicações na Web • disponibilizados em sites na Web • gerados por SGBDs para exportação • Web semântica está caminhando para uma formato universal XML • forma padrão de ver dados, esquemas, informações semânticas de domínios na Web (ontologias), ...

More Related