UFRGS
Pesquisas 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 views
Extract XML views from relational databases
Update 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 databases
Define the update operations that can be applied
Make 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 relations
Use nested relational algebra to define XML views
Nested 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 operators
In 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 views
Reduce 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 views
Nest-Select-Project-Join views
We map XML update operations into updates in
the corresponding relational view
Use 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
operations
allow deletions of leaf nodes to be mapped to
updates setting the deleted attribute to null
allow 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 trabalhosa
Aná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ção
Esquema da base de dados – modelo conceitual
Instâ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 XML
Pertencentes ao mesmo domínio de problema
Esquemas descritos através de DTDs
Nível de Esquema
Nível de Instâncias
Visão Geral
Consulta
Modelo
Global
Resposta
Tradução
da consulta (Sandro)
Integração
de instâncias
(Carina)
Decomposição
de Consulta (Diego)
Integração de
esquemas (BInXS)
(Ronaldo)
Visão XML - virtual
Wrapper
Wrapper
Wrapper
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 conceitual
Integração dos modelos conceituais
Construção de um modelo global.
Processo de Integração - BInXS
Nível de Esquema – Tese de doutorado concluída Ronaldo Mello
Esquema
Global
Camada do
Mediador
Integração Semântica
Esquema Conceitual 1
...
Esquema Conceitual n
Especialista
Conversão DTD
DTD 1
...
Conversão DTD
...
Documentos
XML
Documentos
XML
DTD n
BD
Processo de Integração
Consultas
Consulta é construída com base no
Esquema Global.
Esquema
Global
Exemplo de consulta:
“Endereço profissional de autores de artigos”
Consulta
Mapeamento da consulta
...
Fonte 1
XML
Fonte 2
XML
Fonte 3
XML
Consultas sobre o Esquema Global
Dissertação de mestrado – Sandro Camillo
Problema
Autor
(1,N)
residencial
(0,1)
(1,N)
(1,1)
(1,N)
profissional
(1,1)
Endereço
(1,N) (1,N)
(1,1)
Cidade
string
Logradouro
(1,N)
(1,N)
(1,1)
(1,1)
Consultar estruturas hierárquicas
(presentes nas fontes XML) através de um
modelo conceitual abstrato
XPath ou XQuery não são adequadas:
•XPath:
/Autor/Endereço
(1,1)
Rua
Nr
string
integer
•XQuery:
{FOR $end IN /Autor/Endereço
RETURN
<Ender>$ender</Ender>
ss
}
Residencial
ou
Profissional
?
Consultas sobre o Esquema Global
Dissertação de mestrado – Sandro Camillo
Autor
(1,N)
residencial
(0,1)
(1,N)
(1,1)
Solução
(1,N)
Uso de uma linguagem que:
profissional
(1,1)
• Considere a expressividade do modelo
conceitual
Endereço
(1,N) (1,N)
(1,1)
Cidade
string
• Minimas conversões para a sintaxe das fontes
Logradouro
(1,N)
(1,N)
(1,1)
(1,1)
CXQuery:
(1,1)
{FOR $end IN /Autor/Endereço{Profissional}
Rua
Nr
string
integer
ss
RETURN
<Ender>$ender</Ender>
}
Decomposição da consulta
Dissertaçã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
Equema
Global
Consulta
Integração dos resultados
Mapeamento da consulta
...
Fonte 1
XML
Fonte 2
XML
Fonte 3
XML
Integração das Instâncias
Tese de doutorado Carina Friedrich Dorneles
Instâncias não são integradas com base em
identificadores e sim com base na
similaridade
Dados 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âncias
Tese 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âncias
Tese de doutorado Carina Friedrich Dorneles
Uso do modelo conceitual global gerado na
fase de integração de esquemas
Representaçã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>
Fonte 1
</endereco>
<enderecoProfiss>
<logradouro>
<rua>J. do Patrocinio</rua>
<nr>1500/12A</nr>
</logradouro>
<cidade>PA - RS</cidade>
Fonte 3
</enderecoProfiss>
<endereco>
<profissional>
<logradouro>
<rua>Av. Jose de Alencar</rua>
<nr>1500 - sala 12A</nr>
</logradouro>
<cidade>PoA</cidade>
</profissional>
Fonte 2
</endereco>
Exemplo
Objeto-Consulta
Instância da visão XML
Similaridade entre as folhas:
endereco
- Uso de algoritmos de similaridade
aplicáveis ao domínio de cada valor,
por exemplo:
profissional
profissional
- Similaridade entre Siglas –
algoritmo especifico para siglas
- Similaridade entre Datas –
logradouro
cidade
logradouro
cidade
algoritmo especifico para datas
....
endereco
rua
rua
nr
nr
PoA
Porto Alegre/RS
1500/12A
Av. Jose de Alencar
1500 – sala 12A
Av. Jose de Alencar
Exemplo
Instância da visão XML
Objeto-Consulta
endereco
profissional
logradouro
endereco
Similaridade entre objetos
Compostos:
* Avaliação entre:
- Métricas de minkowski, ...
- Redes bayesianas
cidade
profissional
logradouro
cidade
* Uso de pesos no cálculo da
similaridade
rua
nr
rua
nr
Porto Alegre/RS
1500/12A
Av. Jose de Alencar
PoA
1500 – sala 12A
Av. Jose de Alencar
Clustering
<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>
Cluster 1
Representado um objeto do
mundo real
Cluster 2
Representado outro objeto do
mundo real
Resultado
<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>
Trabalhos Futuros
Identificação de instâncias
Estudo e avaliação das várias métricas de
similaridade para objetos complexos
Avaliação dos resultados obtidos
Integração de instâncias
Avaliação de algoritmos de clustering
Trabalhos Futuros
Integração com os módulos de consulta
Especificação de pesos, métricas,... através do
modelo conceitual
Interaçã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
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
Instituto de Informática - UFRGS
40
Exemplo: estrutura de acórdão
jurídico
• Tema
• Ref. Legislativas
• Recurso
• Procedência
• Reclamante
• Reclamado
• Local
• Data
• Participantes
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
• Órgão Julgador
• Tribunal
• QtdeVoto
• Decisão
• Ref. Legislativas
Ontologia de Domínio
ACÓRDÃO
PART-OF
PART-OF
Cabeçalho
{Número do processo,
Sigla do recurso,
Relator,
Data de publicação }
Encerramento
PART-OF
PART-OF
PART-OF
{ Local, Data,
Participantes}
PART-OF
Ementa
Sentença
PART-OF
{ tema }
Pessoas
Envolvidas
{ Recurso, Procedência,
Reclamante, Reclamado}
{ Órgão julgador, Tribunal, Quantidade
de voto, Decisão, Referências
Legislativas }
Voto
{ tema, Referências Legislativas }
Relatório
{ tema, Referências Legislativas }
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
Ajuste
• Atributos por ter diferentes
pesos na comparação por
similaridade
Busca por similaridade:
• Documentos que possuem
estrutura similar (mesmos
atributos)
• Documentos cujos atributos
tenham os mesmos valores
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