UFSC-CTC-INE Grupo de Banco de Dados da UFSC Tópicos de Pesquisa e Desenvolvimento no GBD-UFSC Ronaldo S. Mello Março/2006 Tópicos de Pesquisa Atuais • Integração de Dados (semi-estruturados XML) • Gerência de Dados XML • Ferramentas de Apoio à Gerência de Dados Tópicos de Pesquisa Atuais • Integração de Dados (semi-estruturados XML) • Gerência de Dados XML • Ferramentas de Apoio à Gerência de Dados Integração de Dados (XML) • Motivações – disponibilidade crescente de dados XML na Web • formato simples para publicação e transferência – formato texto • muitos dados são redundantes e/ou complementares – interessante ter uma visão única e integrada desses dados » bom para máquinas de busca » bom para aplicações Web que transferem dados XML – Web Semântica • visão da Web como um grande BD! – BDs relacionais ou XML Distribuídos • lidam com fragmentos XML redundantes Integração de Dados (XML) • Sub-Tópicos de Pesquisa – BInXS – Esquemas GML – Projeto DIGITEX (em parceria com UFRGS) BInXS • BInXS é uma sigla para – Bottom-up Integration of XML Schemata • Abordagem de integração semântica de esquemas de fontes de dados XML – define um processo composto por 2 etapas – pode ser considerado em um ambiente mais amplo de mediação de fontes XML na Web • componente de uma arquitetura mediador-wrapper 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 BInXS - Processo Esquema Global BInXS Unificação Esquema Conceitual 1 ... BDs Terminológicas Esquema Conceitual n Usuário Especialista Conversão Esquema XML 1 ... Conversão ... Documentos XML Documentos XML Esquema XML n BInXS - Processo Esquema Global BInXS Unificação Esquema Conceitual 1 ... BDs Terminológicas Esquema Conceitual n Usuário Especialista Conversão Esquema XML 1 ... Conversão ... Documentos XML Documentos XML Esquema XML n 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 (elementoelemento, elemento-atributo, referências, ...) são facilmente mapeáveis para associações no modelo ORM Modelos Considerados na Conversão (1,1) (1,N) (0,1) Título Esquema XML em DTD Categoria Livro (0,1) Autor Ano (1,1) Endereço (1,1) (1,N) (1,1) Nome <!ELEMENT Livro (Título, Ano?, Autor+)> <!ATTLIST Livro Categoria CDATA (técnico | ficção)> <!ELEMENT Autor (Nome, (Universidade+ | Empresa), ...)> <!ELEMENT Nome (#PCDATA) ... Universidade Empresa Modelo XML (1,1) (1,1) Ano (0,1) (1,N) integer Modelo ORM Livro (1,N) (1,N) Nome (1,N) string (1,N) Autor Universidade string (1,N) (1,N) (1,1) residencial (0,1) string Categoria {técnico, ficção} (1,N) comercial (1,1) Endereço (1,N) (1,1) Empresa string Conversão de Elemento Complexo <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> Publicação Conversão de Elemento Simples <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> Publicação análise de docs XML Ano integer default: string Conversão de Componentes <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> análise de docs XML Publicação default: (1,N) (1,N) (0,1) regras de cardinalidade Ano integer Conversão de Representações Alternativas <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)> Publicação (1,N) (1,N) (1,N) (0,1) Ano integer Autor (1,N) (1,N) Universidade string (1,N) (1,1) Empresa string Deifinição de Relações de Especialização <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)> consulta a BDs terminológicas Publicação <Publicação IS-A Livro> (1,N) (1,N) (1,N) (0,1) Ano integer Livro Autor (1,N) (1,N) Universidade string (1,N) (1,1) Empresa string 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)> Publicação (1,N) (1,N) integer (0,1) (1,N) Ano Autor (1,N) (1,1) string Categoria {técnico, ficção} Livro (1,N) (1,N) Universidade string (1,N) (1,1) Empresa string Conversão de Elementos Mistos ... <!ELEMENT Livro (Editora,...,Capítulo+,...)> <!ELEMENT Capítulo (Seção | #PCDATA)*> Livro (1,1) (1,N) Capítulo (1,1) (0,N) Seção (1,1) (0,N) Capítulo-Texto string BInXS – Dados de Mapeamento • Dados gerados durante a conversão • Expressões XPath – indicam o caminho até o dado XML na fonte local – permitem a localização de dados nas fontes XML a partir do esquema global – definem mapeamento para conceitos e relacionamentos Fonte XML 1: • Exemplos Livro (1,1) (1,N) Fonte XML 1: Capítulo /publicação/livro Fonte XML 2: /acervo/midiaImpressa/livro LivroCapítulo: conteúdo/capítulo CapítuloLivro: . . / . . Fonte XML 2: Fonte XML 1: /publicação/livro/conteúdo/capítulo Fonte XML 2: BInXS – Catálogo • Definição em OWL (Ontology Web Language) – recomendação atual da W3C para descrição de ontologias e esquemas conceituais de dados • Exemplo Livro (1,1) (1,N) Capítulo <Class ID = “Livro”> <subClassOf resource = “NonLexicalConcept”/> <subClassOf> <restriction> <onProperty resource = “#RelatedConcept”> <toClass> <UnionOf parseType = “collection”> <Thing about = “#LivroCapitulo”> ... </UnionOf> </toClass> </onProperty> ... </restriction> </subClassOf> </Class> BInXS - Processo Esquema Global BInXS Unificação Esquema Conceitual 1 ... BDs Terminológicas Esquema Conceitual n Usuário Especialista Conversão Esquema XML 1 ... Conversão ... Documentos XML Documentos XML Esquema XML n BInXS – Etapa de Unificação • • Geração de um esquema conceitual global a partir dos esquemas conceituais locais Etapas tradicionais da integração de esquemas de BDs são aplicadas 1. Comparação de Esquemas – agrupa conceitos ORM em clusters de afinidade – apoio de BDs Terminológicas para determinar esses clusters 2. “Casamento” (Unificação propriamente dita) – – gera um conceito global para cada cluster de afinidade trata 3 casos de unificação: LxL, NLxNL e NLxL 3. Reestruturação – executa ajustes manuais e automáticos no esquema global remoção de relacionamentos redundantes, generalização de conceitos, ... Casos de Unificação Caso LxL NL x NL Tipo de Conceito no Cluster Corresponde ao “casamento” de Resultado somente léxico conteúdo XML atômico conceito global léxico somente não-léxico conteúdo XML estruturado (elemento (atributo, elemento simples, partes textuais de elementos mistos, ...) conceito global não-léxico complexo) NL x L léxico ou não-léxico conteúdo XML atômico • conceito global nãoe estruturado léxico NLx (para os conceitos não-léxicos) E • cada conceito léxico corresponde a um conceito global léxico associado a NLx OU gera um conceito global léxico Exemplo de Unificação L x L {técnico, ficção} {técnico, infantil, poesia} Categoria Classe string[20] X string[30] Fonte XML 2 Fonte XML 1 {técnico, ficção, infantil, poesia} Categoria string[30] Esquema Global Exemplo de Unificação NL x NL Classe Categoria (0,2) (1,N) Escritor (1,N) (1,N) Residência (1,1) (1,N) (1,N) Universidade (1,N) (1,1) (1,N) Instituto-Pesquisa (1,N) (1,1) Empreendimento (1,N) Escritório (1,1) Fonte XML 1 X (1,N) (1,N) (1,N) Esquema Global (1,N) Domicílio (1,N) Autor (1,1) Empresa Escritório Fonte XML 2 (0,N) (1,N) (1,N) Universidade (1,N) (1,1) Autor (1,N) Categoria Residência (1,N) (1,N) (1,N) (0,1) (1,N) (0,1) (1,N) (0,1) Universidade Empresa Instituto-Pesquisa Escritório Exemplo de Unificação NL x L (1,N) (1,1) Rua Residência Domicílio (1,1) X (1,N) (0,1) (1,1) Número Cidade Fonte XML 2 Fonte XML 1 (1,N) (1,1) Rua Esquema Global Residência (1,1) (1,N) (0,1) Número (1,1) Cidade Mapeamento do conceito Cidade para a Fonte XML 2: /Autores/Autor/Domicílio Exemplos de Reestruturação Publicação Artigo generalização de conceitos Publicação Artigo Livro (1,1) (1,1) Título Livro (1,1) (1,1) (1,1) (1,N) Título (1,1) Publicação (1,1) Ano (1,1) (1,N) Livro remoção de relacionamentos redundantes (1,N) Publicação (1,1) Ano Livro BInXS – Trabalhos • Concluídos – – • Em Andamento – – – • sistema de controle de BDs terminológicas (Fabrício - TCC) conversão de esquemas XML Schema para ORM (Leonardo Garcia - TCC) geração de esquemas XML a partir de docs XML (Keli & Susane - TCC) biblioteca de funções de apoio (análise de documentos XML, geração de info. mapeamento, etc) (Bernardo - TCC) análise e incorporação de RIs de domínio das fontes XML no esquema global (Khaue - dissertação) A Desenvolver... – – – projeto e implementação de TODA a etapa de unificação interface gráfica do BInXS ... Integração de Dados (XML) • Sub-Tópicos de Pesquisa – BInXS – Esquemas GML – Projeto DIGITEX (em parceria com UFRGS) Integração de Esquemas GML • GML (Geographic Markup Language) é uma aplicação da XML e uma recomendação internacional para representação de dados geográficos – inclui propriedades convencionais e espaciais de fenômenos geo-referenciados – pode ser utilizada em aplicações de diversas áreas • cadastro urbano, controle de queimadas, ... • interessados: órgãos públicos, institutos de pesquisa, ... • Interoperabilidade de esquemas e dados GML entre aplicações é relevante – exemplo: unificação ou transferência de cadastrais de/entre distritos de um município – problema de integração de esquemas de BDG dados • tratamento da heterogeneidade de dados em diversos níveis – convencional, espacial, ... Esquemas GML - Trabalhos • Em Andamento – método para determinação de equivalências semânticas entre esquemas GML para o domínio de cadastro urbano (Ângelo - dissertação) • considera a existência de uma ontologia de domínio em OWL • estratégia adotada – “conceitos GML de esquemas diferentes são semanticamente equivalentes se ambos tem equivalência com o mesmo conceito da ontologia” • principais problemáticas – definição de métricas de similaridade (estrutural, espacial, conteúdo, etc) entre conceitos GML e OWL – definição de um catálogo de mapeamento entre esquemas GML e OWL – apoio à implementação do método (Rafael Vasel e Leonardo Rosa - TCCs) Integração de Dados (XML) • Sub-Tópicos de Pesquisa – BInXS – Esquemas GML – Projeto DIGITEX (em parceria com UFRGS) Projeto DIGITEX • Projeto CNPq/CTInfo iniciado em nov/05 – grupos de BD de 3 universidades (UFRGS,UFSC e UCPel) – 8 docentes pesquisadores, alunos de pósgraduação e bolsistas – duração de 2 anos • Digitex é um apelido para – Plataforma de Indexação e Busca Personalizada em Bibliotecas Digitais Projeto DIGITEX • Motivação – biblioteca digital é uma tecnologia que permite agregar e gerar conhecimento que pode ser disponibilizado a todos • Objetivos e Metas – auxiliar no processo social de criar conhecimento científico, aperfeiçoar este conhecimento através da revisão pelos pares e indicar ou receber indicação de conhecimento relevante • definir o ciclo do processo de editoração de documentos científicos digitais com revisão interativa pelos pares de discussão pública e o tratamento de versões dos documentos publicados • tratar o problema de sugestão e aquisição de artigos baseado no interesse e perfil do usuário utilizando-se de uma ontologia de domínio, e lidando com a questão da integração de instâncias equivalentes de documentos advindos de fontes heterogêneas • Contribuição – gestão automatizada do conhecimento de uma biblioteca digital • resultados devem ser aplicados à Biblioteca Digital da SBC DIGITEX – Sub-Projetos DIGITEX – Sub-Projetos gerência do armazenamento e acesso a documentos, assim como a gerência da evolução dos documentos tanto a nível de conteúdo quanto de estrutura (Nina Edelweiss e Renata de Matos Galante - UFRGS) DIGITEX – Sub-Projetos obtenção automática, semi-automática ou manual de metadados dos documentos digitais e seu armazenamento em formato XML compatível com Dublin Core e com a plataforma BDBComp, e sua disponibilização como um Web service. Para um domínio de aplicação (no caso, a área de Computação) será desenvolvida uma Ontologia de Domínio (José Palazzo Moreira de Oliveira – UFRGS) DIGITEX – Sub-Projetos gerência dos processos de autoria e revisão coletiva dos documentos digitais, levando em conta o gerenciamento da percepção dos atores do trabalho (mecanismos de awareness) que está sendo desenvolvido, não apenas para direcionar o esforço do grupo, mas também receber informações para melhorar sua participação (José Valdeni de Lima – UFRGS) DIGITEX – Sub-Projetos processo de integração de instâncias heterogêneas de documentos digitais estruturados (ou de metadados a partir deles gerados) (já no formato XML) semanticamente equivalentes, a serem arquivados na biblioteca digital (Carlos A. Heuser - UFRGS, Ronaldo S. Mello - UFSC) DIGITEX – Sub-Projetos análise de dados associados a um usuário, tais como CV Lattes, documentos previamente recuperados, características de navegação entre outros, e definição de um modelo do usuário. Este modelo de usuário é utilizado no processo de recuperação e recomendação de documentos, em conjunto com a ontologia de domínio (Maria Aparecida Souto – UFRGS) DIGITEX – Sub-Projetos registro e certificação das atividades e qualificação dos participantes do processo com base em dados objetivos e pareceres dos pares. Esta atividade é essencial para atribuir um “valor de qualidade” a uma publicação realizada. Os fundamentos são, em parte, relacionados com o conceito de page rank, mas considerando o valor acadêmico da recomendação ou referência (José Palazzo M. de Oliveira e José Valdení de Lima - UFRGS) DIGITEX – Sub-Projetos processo de classificação de documentos em função da correlação entre as características dos documentos e dos usuários durante uma busca. Leva em conta aspectos de similaridade com o tópico utilizado na busca e o perfil do usuário (Stanley Loh - UCPel) DIGITEX – Trabalhos • Em Andamento – definição de um método de determinação de similaridade entre instâncias XML heterogêneas (Rodrigo - dissertação) • implementação do método (Carlos – bolsista IC) – definição de operadores de integração de instâncias XML heterogêneas similares (Fabiano - dissertação) • implementação dos operadores (Fábio – bolsista IC) (Obs.: os resultados destes trabalhos podem ser aproveitados para o ambiente de mediação que o BInXS faz parte) Tópicos de Pesquisa Atuais • Integração de Dados (semi-estruturados XML) • Gerência de Dados XML • Ferramentas de Apoio à Gerência de Dados Gerência de Dados XML • Motivação – manipulação crescente de dados XML por aplicações – pesquisa e desenvolvimento de SGBDs XML ou extensões de SGBDRs é “recente” e tem open issues • armazenamento e acesso eficientes, restrições de integridade, gerência de transações, modelagem de BDs XML, ... • Sub-Tópicos de Pesquisa – Restrições de Integridade – Mapeamento do modelo XML para outros modelos de dados – Projeto lógico de BD XML Gerência de Dados XML - Trabalhos • Concluídos – controle de restrições de integridade de domínio para documentos XML (XDC) (Alexandre Lazzaretti - dissertação) • define uma linguagem de marcação para especificação de RIs em dados XML (XDCL) – sintaxe SQL-like para checks e triggers » considera a tecnologia relacional para controle de RIs • define um parser para validação de um doc XML com relação a um doc de restrições XML (.xdc) XDC - Contexto analysis of data requirements analysis of domain integrity constraints application domain conceptual schema domain integrity constraint for data definition XML documents of the applications reference definition composed by XML database reference XDCL specifications reference reference XML schema document composed by query schema validation XDC document XML instances query XML parser domain integrity constraint validation XDCL parser generation generation validation result validation result reference validation XDC Gerência de Dados XML - Trabalhos • Concluídos – processo de mapeamento de esquemas XMLSchema para esquemas relacionais (Cláudio Maurício - dissertação) • define um conjunto detalhado de regras de mapeamento que leva em conta todos os conceitos do modelo da XML Schema • define um algoritmo para aplicação destas regras – processo de mapeamento de esquemas de BDOO para esquemas XML-Schema (Fabiana Peres - dissertação) • mesma abordagem do trabalho anterior Gerência de Dados XML - Trabalhos • Em andamento – Metodologia para projeto lógico (e físico?) de BDs XML (Alessandro Lemos - dissertação) • definição de um conjunto de etapas para modelagem lógica (modelo de grafo hierárquico) e física XML (esquema DTD ou XSD) a partir de uma modelagem conceitual ER – deve definir regras detalhadas de modelagem lógica que levem em conta todos os conceitos do modelo ER – deve definir algoritmos de mapeamento ISBN Projeto de BD XML Exemplo título nome Livros (1,N) (0,N) eMail (0,N) Autores autoria nome ordem (1,N) (1,1) Capítulos organização referências (0,N) Livros (1,N) (1,1) Livro (1,1) ISBN Título (1,N) (1,N) Autor (1,1) (0,N) Nome eMail Capítulo (1,1) (1,1) Nome (0,N) Ordem Referência <!ELEMENT <!ELEMENT <!ATTLIST <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ATTLIST <!ELEMENT Livros (Livro+)> Livro (Título, Autor+, Capítulo+)> Livro ISBN CDATA> Título (#PCDATA)> Autor (Nome, eMail*)> Nome (#PCDATA)> eMail (#PCDATA)> Capítulo (Nome, Referência*)> Capítulo ordem CDATA> Referência (#PCDATA)> Gerência de Dados XML - Trabalhos • Em andamento – extensão da XDCL para aumento de expressividade (colaboração com a UPF) • consideração de predicados complexos, etc – implementação das regras e dos algoritmos para conversão XML2relacional e OO2XML (colaboração com a UNIOESTE) • Futuros – definição e implementação de processos para mapeamento de instâncias XML2relacional e OO2XML (colaboração com a UNIOESTE) Tópicos de Pesquisa Atuais • Integração de Dados (semi-estruturados XML) • Gerência de Dados XML • Ferramentas de Apoio à Gerência de Dados Ferramentas para Gerência de Dados • Motivação – carência de ferramentas que possam auxiliar profissionais e docentes na área de BD no ensino, projeto e gerência de dados convencionais e não-convencionais • Objetivo – desenvolvimento de soluções computacionais para tais finalidades Ferramentas - Trabalhos • Concluídos – ferramenta de apoio ao projeto lógico de BDs relacionais baseado no EER (Carlos – MT especialização) – ferramenta de apoio à engenharia reversa de BDs SQL Server (Miguel e Marcelo - TCC) • Trabalhos Futuros (idéias sempre existem...) – núcleo de um SGBD relacional – camadas de gerência de dados nãoconvencionais em BDs relacionais • temporais, geográficos, ... UFSC-CTC-INE Grupo de Banco de Dados da UFSC Tópicos de Pesquisa e Desenvolvimento no GBD-UFSC Ronaldo S. Mello Março/2006