UFRGS Pesquisas na área de BD Carlos a. Heuser Abril de 2003.
Transcript of UFRGS Pesquisas na área de BD Carlos a. Heuser Abril de 2003.
UFRGSPesquisas na área de BD
Carlos a. Heuser
Abril de 2003
Temas de pesquisa
Update de bases de dados relacionais através de visões XML (colaboração com Susan Davidson – Universidade da Pennsylvania)
Geração de ontologias de extração Modelo de versões de sites WEB Consultas a fontes XML integradas
Updating relational databases through XML views
Vanessa de Paula Braganholo
Susan Davidson*
Carlos Heuser
Overview
Main goal:
Investigate the problem of updating relational databases through XML viewsExtract XML views from relational databasesUpdate the view Map the changes back to the underlying relational
database
Overview
In order to accomplish this it is necessary to:Define a language to build XML views from
relational databasesDefine the update operations that can be appliedMake sure that it is possible to map the updates
back to the underlying relational database unambiguously and without causing side effects
Proposed solution
We benefit from the connection between XML and nested relationsUse nested relational algebra to define XML viewsNested relational algebra has the operators of the
classical relational algebra (,,,,-,join), plus nest () and unnest ()
We try to map the problem of updating relational databases through XML views to the problem of update relational databases through relational views.
Nest
Nest operator
Invertible A nested relational algebra query can be
unnested when the nest was the last operation to be applied
… R can be unnested to the original R, were R is a classical relational algebra expression
Nest
… R
We call expressions of this kind “nest-last queries”
Unfortunately, nest has extraneous interactions with the other operatorsIn general it is not possible to rewrite an
expression were the nest appears in any position to a nest-last query
Nest-last
We use nest-last queries to define XML viewsReduce the problem of investigating the
updatability of an XML view to the problem of investigating the updatability of the corresponding relational view R
This makes possible to benefit from classical work on relational views
Current work
We are currently working with a subset of nest-last viewsNest-Select-Project-Join viewsWe map XML update operations into updates in
the corresponding relational viewUse Dayal and Bernstein’s [DAY 82] technique to
• map the updates to the relational database• prove that the updates are exact and does not cause
side effects
Future work
Improve the semantics of our update operationsallow deletions of leaf nodes to be mapped to
updates setting the deleted attribute to nullallow insertions to contain part of data that is
already on the view
Improve the power of expression of our query language, R2X [BRA 2001, BRA 2002]currently, R2X is only capable of expressing a
subset of Nest-Select-Project-Join views
Geração de ontologias de extração
Orlando Vivan
Dissertação de Mestrado
Motivação
Extrator baseado em ontologia (Embley)Ontologia = modelo conceitual + regras de
extração (expressões regulares)
Construção da ontologia trabalhosaAnálise de centenas de documentos
Dados referentes ao domínio de extração podem existir em uma base de dados relacional
Geração semi-automática de ontologia Base de dados é construída para gerar a
ontologia de extraçãoEsquema da base de dados – modelo conceitualInstâncias na base de dados – expressões
regulares
Experimentos
BD de biblioteca usada para gerar ontologia com conceitos relativos a livros (título, editora, ano, ...)
Ontologia estendida com preço Ontologia gerada automaticamente
Baixo recall
Alterações manuais
Modelo de versões para sites WEB
Rodrigo Moro
Mestrado
Construção de sites WEB
Necessidade de adaptação (personalização)
Separação de conteúdo (XML) e formatação (XSLT)
Modelo de versões
Extensão do WebDAV Permite versões alternativas Configurações baseadas em critérios
fornecidos por um módulo de personalização Versões do conteúdo e versões da
formatação
Consultas a fontes XML integradas
Visão Geral
Integração de fontes de dados XMLPertencentes ao mesmo domínio de problema
Esquemas descritos através de DTDs
Nível de Esquema
Nível de Instâncias
Visão Geral
ModeloGlobalModeloGlobal
Integração de esquemas (BInXS)
(Ronaldo)
Integração de esquemas (BInXS)
(Ronaldo)
Traduçãoda consulta (Sandro)
Traduçãoda consulta (Sandro) Integração
de instâncias(Carina)
Integraçãode instâncias
(Carina)
Decomposiçãode Consulta (Diego)
Decomposiçãode Consulta (Diego)
WrapperWrapperWrapperWrapperWrapperWrapper
Consulta
Visão XML - virtualVisão XML - virtual
Resposta
Integração - Nível de Esquema
BInXS - Bottom-up Integration of XML Schemata
Integração dos esquemas XML
• DTDs
Mapeamento de cada DTD das fontes para um modelo conceitualIntegração dos modelos conceituais Construção de um modelo global.
Processo de Integração - BInXSNível de Esquema – Tese de doutorado concluída Ronaldo Mello
EsquemaGlobal
Camada doMediador
DTD 1DTD n
. . .Documentos
XMLDocumentos
XML BD
Conversão DTD Conversão DTD. . .
. . .Esquema Conceitual 1 Esquema Conceitual n
Integração Semântica
Especialista
Processo de Integração Consultas
EsquemaGlobal
Consulta é construída com base noEsquema Global.
Exemplo de consulta:
“Endereço profissional de autores de artigos”
. . .Fonte 1
XMLFonte 3
XMLFonte 2
XML
Consulta
Mapeamento da consulta
Consultas sobre o Esquema GlobalDissertação de mestrado – Sandro Camillo
Endereço
residencial
(0,1)
(1,N)
Autor
profissional
(1,1)
(1,N)
Cidade
(1,N)
(1,1)
Logradouro
(1,N)(1,1)
string
Problema Consultar estruturas hierárquicas (presentes nas
fontes XML) através de um modelo conceitual
abstrato
XPath ou XQuery não são adequadas:
ss
•XPath:/Autor/Endereço
•XQuery:{FOR $end IN /Autor/Endereço
RETURN
<Ender>$ender</Ender>
}
Residencialou
Profissional?
Rua
(1,N)
(1,1)
string
Nrinteger
(1,1)
(1,N)
(1,1)
(1,N)
Consultas sobre o Esquema Global Dissertação de mestrado – Sandro Camillo
residencial
(0,1)
(1,N)
Autor
profissional
(1,1)
(1,N) Solução
Uso de uma linguagem que:• Considere a expressividade do modelo
conceitual
• Minimas conversões para a sintaxe das fontes
ss
CXQuery: {FOR $end IN /Autor/Endereço{Profissional}
RETURN
<Ender>$ender</Ender>
}
Endereço
Cidade
(1,1)
Logradouro
(1,N)(1,1)
string
Rua
(1,N)
(1,1)
string
Nrinteger
(1,1)
(1,N)
(1,1)
(1,N)
(1,N)
Decomposição da consultaDissertação de mestrado – Diego Feijó
Problemas similares aos de BD distribuídos.Decomposição de Consultas
Localização das Fontes
Otimização Global
Otimização Local
Resolver heterogeneidade das estruturas
presentes nas fontes
Nível de Instâncias
EquemaGlobal
. . .Fonte 1
XMLFonte 3
XMLFonte 2
XML
Consulta
Mapeamento da consulta
Integração dos resultados
Integração das InstânciasTese de doutorado Carina Friedrich Dorneles
Instâncias não são integradas com base em identificadores e sim com base na similaridadeDados não possuem identificadores
Identificação é feita com base na similaridade da consulta com as instâncias
Integração é feita com base na similaridade entre as instâncias
Integração das InstânciasTese de doutorado Carina Friedrich Dorneles
Identificação:Identificar diferentes representacoes de um
mesmo objeto do mundo real• Encontrar o conjunto de respostas mais relevantes a
uma consulta.
Integração:Feita com base na similaridade entre as
instâncias• Agrupamento das instâncias mais similares entre si
Integração das InstânciasTese de doutorado Carina Friedrich Dorneles
Uso do modelo conceitual global gerado na fase de integração de esquemasRepresentação conceitual das fontes
• Construção das consultas– O usuário usa o esquema fornecido pelo modelo conceitual
para construir consultas
Informação para cálculo da similaridade• Especificação das medidas de similaridade• Propriedades a serem consideradas no cálculo do grau
de similaridade– Indicadas pelos relacionamentos de cada conceito
Exemplo - Possíveis Resultados
<endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500/12A</nr> </logradouro> <cidade>Porto Alegre/RS</cidade> </profissional></endereco>
<endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500/12A</nr> </logradouro> <cidade>Porto Alegre/RS</cidade> </profissional></endereco>
Fonte 1
<endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500 - sala 12A</nr> </logradouro> <cidade>PoA</cidade> </profissional></endereco>
<endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500 - sala 12A</nr> </logradouro> <cidade>PoA</cidade> </profissional></endereco> Fonte 2
<enderecoProfiss> <logradouro> <rua>J. do Patrocinio</rua> <nr>1500/12A</nr> </logradouro> <cidade>PA - RS</cidade></enderecoProfiss>
<enderecoProfiss> <logradouro> <rua>J. do Patrocinio</rua> <nr>1500/12A</nr> </logradouro> <cidade>PA - RS</cidade></enderecoProfiss> Fonte 3
Exemplo
endereco
profissional
rua
logradouro
Objeto-ConsultaObjeto-Consulta
cidade
Instância da visão XMLInstância da visão XML
nr
1500/12A
Av. Jose de Alencar
Porto Alegre/RS
endereco
profissional
rua
logradouro cidade
nr
1500 – sala 12A
Av. Jose de Alencar
PoA
Similaridade entre as folhas:- Uso de algoritmos de similaridade aplicáveis ao domínio de cada valor, por exemplo:- Similaridade entre Siglas – algoritmo especifico para siglas- Similaridade entre Datas – algoritmo especifico para datas....
Exemplo
endereco
profissional
rua
logradouro
Objeto-ConsultaObjeto-Consulta
cidade
Instância da visão XMLInstância da visão XML
nr
1500/12A
Av. Jose de Alencar
Porto Alegre/RS
endereco
profissional
rua
logradouro cidade
nr
1500 – sala 12A
Av. Jose de Alencar
PoA
Similaridade entre objetosCompostos:* Avaliação entre:
- Métricas de minkowski, ... - Redes bayesianas
* Uso de pesos no cálculo da similaridade
Clustering
Cluster 1Cluster 1
Cluster 2Cluster 2
<Visão> ...<endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500/12A</nr> </logradouro> <cidade>Porto Alegre/RS</cidade> </profissional></endereco><endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500 - sala 12A</nr> </logradouro> <cidade>PoA</cidade> </profissional></endereco><enderecoProfiss> <logradouro> <rua>J. do Patrocinio</rua> <nr>1500/12A</nr> </logradouro> <cidade>PA - RS</cidade></enderecoProfiss></Visão>
Representado um objeto do mundo real
Representado outro objeto do mundo real
<Resultado> <variasRepresentacoesObjetoConsulta> <endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500/12A</nr> </logradouro> <cidade>Porto Alegre/RS</cidade> </profissional> </endereco> <endereco> <profissional> <logradouro> <rua>Av. Jose de Alencar</rua> <nr>1500 - sala 12A</nr> </logradouro> <cidade>PoA</cidade> </profissional> </endereco> </variasRepresentacoesObjetoConsulta></Resultado>
Resultado
Trabalhos Futuros
Identificação de instâncias Estudo e avaliação das várias métricas de
similaridade para objetos complexosAvaliação dos resultados obtidos
Integração de instâncias Avaliação de algoritmos de clustering
Trabalhos Futuros
Integração com os módulos de consultaEspecificação de pesos, métricas,... através do
modelo conceitualInteração com o módulo de consultas
Utilização de técnicas de Engenharia de Conhecimento para medir similaridade entre
instâncias de documentos XML
Instituto de Informática - UFRGS 40
Abordagem Utilização de técnicas típicas de raciocínio baseado
em casos Extração de conhecimento de domínio através da
análise de documentos legados e da interação com usuários
Identificação da estrutura dos documentos Extração da ontologia do domínio Utilização da ontologia para definir similaridades
entre instâncias no mesmo domínio
Exemplo: estrutura de acórdão jurídico
1. Cabeçalho... 2. Ementa... 3. Pessoas Envolvidas... 4. Relatório... 5. Voto...6. Sentença...7. Encerramento...
• Número do processo• Sigla do recurso• Relator• Data de publicação
• Tema• Ref. Legislativas
• Recurso• Procedência• Reclamante• Reclamado
• Órgão Julgador• Tribunal• QtdeVoto• Decisão • Ref. Legislativas
• Local• Data• Participantes
• Tema• Ref. Legislativas
Ontologia de Domínio
Cabeçalho
Ementa
Pessoas Envolvidas
Relatório
Voto
Sentença
Encerramento
{ tema, Referências Legislativas }
{ tema }
{ tema, Referências Legislativas }
{Número do processo,Sigla do recurso,Relator,Data de publicação }
{ Recurso, Procedência, Reclamante, Reclamado}
{ Órgão julgador, Tribunal, Quantidade de voto, Decisão, Referências Legislativas }
{ Local, Data,Participantes}
PART-OF
PART-OF
PART-OF
PART-OF
PART-OF
PART-OF
PART-OF
ACÓRDÃO
Etapas
Aquisição de Conhecimento:
• Identificação e análise do domínio com auxílio de documentos e pessoas
Identificação da ontologia de domínio:
• Estrutura dos documentos e domínio dos atributos
Busca por similaridade:• Documentos que
possuem estrutura similar (mesmos atributos)
• Documentos cujos atributos tenham os mesmos valores
Ajuste • Atributos por ter
diferentes pesos na comparação por similaridade
Vantagens da engenharia de conhecimento Modelo de documentos mais fiel do que
extração automática de estrutura
Busca de documentos utilizando a ontologia permite comparar por estrutura e conteúdo
Permite busca contextualizada ao domínio
Abordagem reutilizável para representação e busca de documentos na WEB