Proposta de Tese: Redução de Reticulados Conceituais
Decomposição de Consultas SPARQL em Federações de Dados Interligados
1. oLinDa: Uma Abordagem para Decomposição de
consultas em Federações de Dados Interligados.
Aluna: Danusa Ribeiro Bezerra da Cunha
drbc@cin.ufpe.br
Orientadora: Prof. Dra. Bernadette Farias Lóscio
bfl@cin.ufpe.br
Centro de Informática (CIn)
Pós-Graduação em Ciência da Computação
Universidade Federal de Pernambuco (UFPE)
Defesa de Dissertação de Mestrado, 2014
2. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Definições Preliminares
Decomposição de Consultas SPARQL
Trabalhos Relacionados
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
2
4. Motivação
• Integração de Dados
– Demanda pesquisas na área de Banco de Dados por mais de uma década.
• Sistemas de Integração de Dados
– Buscam oferecer uma visão unificada de dados que se encontram em
fontes distribuídas, autônomas e heterogêneas.
• Soluções para Integração de Dados
– Banco de Dados Relacionais
– PDMS (Peer Data Management Systems)
– Pay-as-you-go
4
5. Motivação
• Um dos principais desafios em Sistemas para Integração de
Dados é:
– Decomposição de Consultas
Q
Esquema
Global
Q + M1
Q’
Q + M2
Q + M3
Q’’’
Q’’
A
B
C
5
7. Motivação
• Federação de Dados Interligados
F=
𝑛
𝑖=1
𝑆𝑖,
– 𝑆 𝑖 é o conjunto de fontes de dados, previamente conhecidas, que
seguem os princípios Linked Data .
– Cada fonte possui uma ontologia 𝑂 𝑆𝑖 que descreve o seu esquema.
– Para cada fonte de dados há uma interface de acesso 𝐸 𝑖 chamada de
SPARQL endpoint.
7
8. Motivação
• Nosso contexto – Formalização do Problema:
– Seja um esquema de mediação representado por uma ontologia de
domínio OD.
– F uma federação de dados interligados que possui um conjunto de
fontes 𝑆 no modelo RDF previamente conhecidas, onde 𝑆 𝑖 =
{𝑆1 , … , 𝑆 𝑛 }, 1 ≤ i ≤ n.
– OL é um conjunto de ontologias {𝑂 𝑆1 , … , 𝑂 𝑆𝑛 }, chamadas de ontologias
locais, onde cada 𝑂 𝑆𝑖 descreve o vocabulário da fonte de dados 𝑆 𝑖 .
– Um conjunto de mapeamentos M entre OD e cada ontologia local 𝑂 𝑆𝑖 .
8
9. Motivação
• O problema:
Como decompor uma consulta global Q, submetida em termos de
OD, em uma ou mais consultas {𝑄1 , … , 𝑄 𝑛 } a serem submetidas
nas suas respectivas fontes de dados 𝑆 𝑖 , considerando que as
ontologias que descrevem os esquemas são independentes e
podem possuir estruturas distintas?
9
13. Caracterização do Problema
• Suponha que um usuário deseja obter a resposta para a seguinte
consulta:
Consulta Q
Recupere os títulos e os resumos dos artigos publicados pelo autor
Alon Y. Halevy que possuem a palavra “Data Integration” no
título. Além disso, caso exista, recupere o ano desses artigos.
Retorne também uma pequena biografia do autor.
13
17. Objetivos
• Objetivo Geral:
Propor uma solução para o problema de decomposição
de consultas no contexto de federações de fontes de
dados interligados.
17
18. Objetivos
• Objetivos Específicos:
– Definição de um processo para decomposição de consultas.
– Definição de um modelo baseado em grafo para representação de uma
consulta SPARQL.
– Implementação dos algoritmos:
• Algoritmo para transformar uma consulta SPARQL para o modelo baseado
em grafos, levando em consideração o construtor OPTIONAL.
• Algoritmo para extrair o construtor FILTER de uma consulta SPARQL.
• Algoritmo que decompõe uma consulta definida sobre o esquema de
mediação em várias subconsultas a serem submetidas sobre o esquema das
fontes de dados participantes da federação, levando em consideração um
conjunto de regras de mapeamentos estabelecidas em [Sacramento et al.
2010].
18
19. Objetivos
• Objetivos Específicos (continuação):
– Desenvolvimento de um protótipo com funcionalidades para realizar a
decomposição de uma consulta, definição da consulta, manipulação dos
mapeamentos e apresentação dos resultados.
– Realização de experimentos com o protótipo sobre fontes de dados em
domínio de dados bibliográficos.
19
20. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Definições Preliminares
Decomposição de Consultas SPARQL
Trabalhos Relacionados
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
20
21. Fundamentação Teórica
• Uso de ontologias em Integração de Dados
• Decomposição de Consultas
• Caracterização de Mapeamentos
21
22. Integração de Dados
• Com o advento da Web Semântica, os sistemas de integração de
dados tem adaptado o processo fazendo uso de ontologias.
• As ontologias, neste contexto, tem sido utilizadas com o
propósito de:
– Especificar o esquema de mediação.
– Representação de metadados, em que os metadados de cada fonte de
dados são representados por uma ontologia local.
– Oferece suporte para consultas de alto nível, em que, dado um esquema de
mediação, o usuário pode formular uma consulta sem conhecimento das
especificidades das fontes de dados heterogêneas.
22
24. Decomposição de Consultas
• Decomposição de Consultas em múltiplas fontes de dados:
– É relevante para diversas aplicações
• Arquitetura de Mediadores
• PDMS
24
26. Caracterização dos Mapeamentos
• Um mapeamento mapeia entidades de um esquema em uma
entidades de um ou mais esquemas.
• Classificação dos Mapeamentos:
– Direcionalidade: unidirecional ou bidirecional
– Heterogeneidade: homogêneo ou heterogêneo
– Cardinalidade: 1:1, 1:n, n:1 e n:m
26
27. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Definições Preliminares
Decomposição de Consultas SPARQL
Trabalhos Relacionados
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
27
28. Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias
– Matching Contextualizado de Vocabulários
– Formalização das Regras de Mapeamentos
• Grafo de Consulta
28
29. Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias
– Matching Contextualizado de Vocabulários
– Formalização das Regras de Mapeamentos
• Grafo de Consulta
29
31. Formalismo dos Mapeamentos entre as
Ontologias
• Definição de Caminho
– Dado um conjunto de propriedades 𝑃1 , … , 𝑃 𝑛 em uma ontologia O.
– Um caminho ocorre quando:
𝑃1
𝐶1
𝑃2
𝐶2
𝑃𝑛
...
𝐶𝑛
Domain(𝑃𝑖 ) = Domain(𝑃𝑖+1 )
31
32. Formalismo dos Mapeamentos entre as
Ontologias
• Matching Contextualizado de Caminho
Ontologia
de
Domínio
Ontologia
Local
𝐶′
𝑃′
𝐶 ′′
𝑃1
𝐶1
𝐶2
𝑃2
𝐶3
Domain(𝑃′ ) ≡ Domain(𝑃1 )
Range(𝑃′ ) ≡ Range(𝑃 𝑛 )
𝑃′ ≡ 𝑃1 . … . 𝑃 𝑛
32
34. Formalismo dos Mapeamentos entre as
Ontologias
• Regra de Mapeamento
𝜓 𝜔 ← 𝜙1 (𝑡1 ) ^ ... ^ 𝜙 𝑛 (𝑡 𝑛 )
•
𝜓 𝜔 : cabeça da regra
– ψ: classe ou propriedade da ontologia de domínio
– 𝜔: sequencia de termos
•
𝜙1 (𝑡1 ) ^ ... ^ 𝜙 𝑛 (𝑡 𝑛 ): corpo da regra
– 𝜙 𝑖 (𝑡 𝑖 ): classe ou propriedade de uma ontologia local
– 𝑡 𝑖 : sequencia de termos
36. Formalismo dos Mapeamentos entre as
Ontologias
• Exemplos de Regra de Mapeamentos
(s:name, s:Person(p)) ← (dblp, a:full-name(p,n), a:Person(p)); (kisti,
k:engNameOfPerson(p,n), k:Person(p)); (dbpedia, d:name(p.n), d:Person(p))
36
37. Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias
– Matching Contextualizado de Vocabulários
– Formalização das Regras de Mapeamentos
• Grafo de Consulta
37
38. Grafo de Consulta
• Um grafo de consulta é um par ordenado 𝐺 𝐶 =
𝑁, 𝐸
– N é um conjunto de vértices constituído por sujeitos (s) e objetos (o)
• 𝑠 ∈ (𝐼 ∪ 𝑉)
• o∈ 𝐼 ∪ 𝐿∪ 𝑉
– E representa o conjunto de predicados (p)
• 𝑝 ∈ (𝐼 ∪ 𝑉)
38
40. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Trabalhos Relacionados
Definições Preliminares
Decomposição de Consultas SPARQL
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
40
41. Decomposição de Consultas SPARQL
Atividade 1
Atividade 2
Atividade 3
𝑸 𝒊 é classificada como
Consulta Parcial ou Total
41
42. Decomposição de Consultas SPARQL
• Considere o cenário:
– F é uma federação de dados interligados com domínio de dados
bibliográficos.
– S = {DBLP, Kisti, DBpedia}
– OD = {SWRC}
– OL = {𝑂 𝑑𝑏𝑙𝑝 , 𝑂 𝑘𝑖𝑠𝑡𝑖 , 𝑂 𝑑𝑏𝑝𝑒𝑑𝑖𝑎 }
– M
42
44. Decomposição de Consultas SPARQL
Consulta Q:
Recupere os títulos e os resumos dos artigos publicados pelo autor
Alon Y. Halevy que possuem a palavra “Data Integration” no
título. Além disso, caso exista, recupere o ano desses artigos.
Retorne também uma pequena biografia do autor.
44
45. Decomposição de Consultas SPARQL
• Atividade 1: realiza a conversão de Q para um grafo
de consulta 𝐺 𝑄
– Algoritmo ConverteConsulta
– Algoritmo Filtro
45
56. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Definições Preliminares
Decomposição de Consultas SPARQL
Trabalhos Relacionados
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
56
57. Trabalhos Relacionados
• Integração de dados na Web de Dados
– SemWiQ [Langegger 2010]
– FedX [Schwarte et al. 2011]
– DARQ [Quilitz e Leser 2008]
57
58. Trabalhos Relacionados
Abordagem
Objetivo
Método de Decomposição da Consulta
[Correndo et al.
2010]
Decomposição de consultas SPARQL
aplicada a conjuntos Linked Data
Extrai o padrão de grafo da consulta SPARQL e reescreve
cada um deles de acordo com os mapeamentos
(homogêneos).
[Lee et al. 2010]
Processamento de consultas sobre
ontologias distintas e distribuídas
Para cada consulta é analisado se existe uma regra de
mapeamento que possa substituir esta consulta por uma
outra.
[Vidal et al.
2011]
Framework para integração de
dados Linked Data
Utiliza mapeamentos (heterogêneos, mas sem considerar
caminhos) para descobrir quais fontes de dados podem
responder a consulta original. Expressa a consulta SPARQL
em árvore e reescreve cada nó e aresta conforme as regras
de mapeamentos.
[Makris et al.
2012]
Decomposição de consultas SPARQL
entre duas ontologias
Reescreve cada padrão de tripla, considerando que estes
podem ser padrões de tripla, de dados ou de esquema.
oLinDa
Decomposição de consultas SPARQL
em Federações de Dados
Interligados
Extrai cada padrão de tripla do BGP da consulta SPARQL.
Utiliza mapeamentos (heterogêneos, considerando
caminhos) como forma de descobrir quais fontes de dados
podem contribuir com a resposta a consulta original, além de
utilizá-los para reescrever os predicados e as classes da
ontologia de domínio para as ontologias locais.
58
59. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Trabalhos Relacionados
Definições Preliminares
Decomposição de Consultas SPARQL
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
59
63. Implementação e Experimentos
• Avaliação Experimental
CiteSeer
ACM
BIBO
IBM
DBLP
DBpedia
ROMA
DOTAC
IEEE
Sweto
Kisti
Southampton
OAI
63
64. Implementação e Experimentos
• Dados em comuns:
– Conferência: Extending Database Technology 2002 juntamente com os
artigos e autores que publicaram nesta conferência.
– Journal: Very Large Database (VLDB) 2000 e 2001, bem como os
autores e artigos que foram publicados neste Journal, além do Journal
ACM Computing Surveys 2000, 2001 e 2002.
– Proceeding: Advanced in Database Technology 2002 com seus artigos e
autores
RD
64
65. Implementação e Experimentos
• Método do Experimento
Q 𝑹
Q
𝑹𝑻
𝑾
Esquema
Global
Mapeamentos
RD
Q’
Q’’
DBLP
Kisti
...
Q’’’
DBpedia
65
66. Implementação e Experimentos
• Métricas
Corretude
Confuso!!!
Completude
número de instâncias corretas recuperadas com 𝑄 𝑖
número total de instâncias recuperadas com a união ou junção dos resultados de 𝑄 𝑖
número total de instâncias em 𝑅 𝑇
66
67. Implementação e Experimentos
• Métricas
𝑅𝑇
𝑅𝑇∩ 𝑅
𝑊
𝑅
𝑊
𝑅 𝑇 = número de instâncias retornadas ao submeter Q sobre o repositório de
dados integrados RD.
𝑅 𝑊 = número de instâncias retornadas pela fusão dos resultados das subconsultas
{𝑄1 , … , 𝑄 𝑛 } geradas por nossa abordagem.
𝑅 𝑇 ∩ 𝑅 𝑊 = número de instâncias corretas retornadas por 𝑅
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 𝐶𝑜𝑟𝑟𝑒𝑡𝑢𝑑𝑒 =
𝑅𝑇 ∩ 𝑅
𝑅𝑊
𝑊
𝑊
𝑅𝑒𝑣𝑜𝑐𝑎çã𝑜 𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑢𝑑𝑒 =
𝑅𝑇 ∩ 𝑅
𝑅𝑡
𝑊
67
68. Implementação e Experimentos
• Cenário de Avaliação
– Experimento 1
• DBLP, Kisti e Swego
– Experimento 2
• Cenário 1
– DBLP, Kisti e Swego
• Cenário 2
– DBLP, Kisti e DBpedia
68
69. Implementação e Experimentos
• Experimento 1
– Averiguar o comportamento da estratégia proposta, do ponto de vista
funcional, ilustrando os tipos de consulta que ela é capaz de reescrever,
considerando as funcionalidades implementadas.
– 16 Consultas do benchmark SP2Bench.
Legenda
CND: Consulta Não Decomposta
CDI: Consulta Decomposta Incorretamente
CDC: Consulta Decomposta Corretamente
69
70. Implementação e Experimentos
• Experimento 2
– Avaliar se com a fusão dos resultados obtidos utilizando as
subconsultas geradas pelo processo implementado pelo
oLinDa são iguais se confrontados com os resultados
apresentados pela submissão de uma consulta Q sobre RD.
Cenário 1
Cenário 2
70
71. Roteiro
• Introdução
– Motivação
– Caracterização do Problema
– Objetivos
•
•
•
•
•
•
Fundamentação Teórica
Trabalhos Relacionados
Definições Preliminares
Decomposição de Consultas SPARQL
Implementação e Experimentos
Conclusões
– Trabalhos Futuros
71
72. Conclusões
• Dentre os principais diferenciais desta abordagem, destaca-se o fato
de lidar com o problema de decomposição de consultas entre
ontologias que apresentam estruturas distintas.
• Uso de mapeamentos heterogêneos.
• Construtores FILTER e OPTIONAL da linguagem SPARQL.
• O presente trabalho conseguiu atingir seus objetivos, fornecendo
uma solução de fácil utilização para o processo de decomposição de
consultas em um ambiente mediado no contexto de dados
publicados no padrão de Linked Data que visa a preencher uma
importante lacuna em função da carência de trabalhos relacionados.
72
73. Trabalhos Futuros
• Enriquecimento das Informações de Contexto.
• Extensão do processo para consideração de todos os
operadores da linguagem SPARQL.
• Realização de melhorias na estratégia de decomposição.
• Otimização das Consultas.
• Estratégia de Execução de Consultas Federadas
73