Apresentação defesa de mestrado 2014 final
-
Upload
danusa-ribeiro -
Category
Technology
-
view
524 -
download
5
description
Transcript of Apresentação defesa de mestrado 2014 final
oLinDa: Uma Abordagem para Decomposição de consultas em Federações de Dados Interligados.
Aluna: Danusa Ribeiro Bezerra da [email protected]
Orientadora: Prof. Dra. Bernadette Farias Ló[email protected]
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
3
Introdução
• Motivação
• Caracterização do Problema
• Objetivos
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
5
Motivação
• Um dos principais desafios em Sistemas para Integração de Dados é:
– Decomposição de Consultas
Q
M1 M2 M3Q + Q + Q +
Q’ Q’’ Q’’’
A B C
Esquema Global
6
Motivação
7
Motivação
• Federação de Dados Interligados
F =,
– é 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.
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 fontesno modelo RDF previamente conhecidas, onde , 1 i n.
– OL é um conjunto de ontologias, 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 .
9
Motivação
• O problema:
Como decompor uma consulta global Q, submetida em termos de OD, em uma ou mais consultas 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?
10
Introdução
• Motivação
• Caracterização do Problema
• Objetivos
11
Caracterização do Problema
DBLP KistiDBped
ia
Ontologia de
Domínio
Ontologia SWRC
12
Caracterização do Problema
sameAs
sameAs
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.
14sameAs
sameAs
15
Caracterização do Problema
• Problemas a serem tratados– Heterogeneidade
– Resultados Parciais
16
Introdução
• Motivação
• Caracterização do Problema
• Objetivos
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.
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].
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.
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
21
Fundamentação Teórica
• Uso de ontologias em Integração de Dados• Decomposição de Consultas• Caracterização de Mapeamentos
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.
23
Fundamentação Teórica
• Integração de Dados• Decomposição de Consultas• Caracterização de Mapeamentos
24
Decomposição de Consultas
• Decomposição de Consultas em múltiplas fontes de dados:
– É relevante para diversas aplicações
• Arquitetura de Mediadores
• PDMS
25
Fundamentação Teórica
• Integração de Dados• Decomposição de Consultas• Caracterização de Mapeamentos
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
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
28
Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias– Matching Contextualizado de Vocabulários– Formalização das Regras de Mapeamentos
• Grafo de Consulta
29
Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias– Matching Contextualizado de Vocabulários– Formalização das Regras de Mapeamentos
• Grafo de Consulta
30
Formalismo dos Mapeamentos entre as Ontologias
• Matching Contextualizado de Vocabulários
31
Formalismo dos Mapeamentos entre as Ontologias
• Definição de Caminho– Dado um conjunto de propriedades em uma ontologia O.– Um caminho ocorre quando:
𝐶1
𝑃1𝐶2
𝑃2...
Domain() = Domain()
𝐶𝑛
𝑃𝑛
32
Formalismo dos Mapeamentos entre as Ontologias
• Matching Contextualizado de Caminho
Domain() Domain()
𝐶1
𝑃1𝐶2 𝐶3
𝑃2
Ontologia de
Domínio
Ontologia Local
Range() Range()
𝐶 ′𝑃 ′
𝐶 ′ ′
33
Formalismo dos Mapeamentos entre as Ontologias
• Regra de Mapeamento
• cabeça da regra– : classe ou propriedade da ontologia de domínio– : sequencia de termos
• ( ^ ... ^ (: corpo da regra– ( classe ou propriedade de uma ontologia local
() ^ ... ^ ()
Formalismo dos Mapeamentos entre as Ontologias
35
Formalismo dos Mapeamentos entre as Ontologias
• Exemplos de Regra de Mapeamentos
(s:Person(p)) ← (dblp, a:Person(p)); (kisti, k:Person(p)); (dbpedia, d:Person(p))
• UNIÃO: – (s:Person(p)) ← (dblp, a:Person(p)) (kisti, k:Person(p)) (dbpedia, d:Person(p))
• CONJUNÇÃO: – (s:Person(p)) ← (dblp, a:Person(p)) (kisti, k:Person(p)) (dbpedia, d:Person(p))
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))
37
Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias– Matching Contextualizado de Vocabulários– Formalização das Regras de Mapeamentos
• Grafo de Consulta
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)
39
Grafo de Consulta
verdadeiro
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
41
Decomposição de Consultas SPARQL
Atividade 1 Atividade 2
Atividade 3
é classificada como Consulta Parcial ou Total
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
43
Decomposição de Consultas SPARQL
Conjunto de Mapeamentos M
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.
45
Decomposição de Consultas SPARQL
• Atividade 1: realiza a conversão de Q para um grafo de consulta – Algoritmo ConverteConsulta
– Algoritmo Filtro
46
Consulta QPREFIX s:<http://swrc.ontoware.org/ontology#>SELECT ?titulo ?ano ?resumo ?bioWHERE { ?artigo rdf:type s:Article . ?artigo s:abstract ?resumo . ?artigo s:title ?titulo . ?artigo s:publisher ?autor . ?autor s:name “Alon Y. Halevy” . FILTER regex{?titulo, ‘Data Integration’, ‘i’} OPTIONAL {?artigo s:year ?ano}}
Consulta QPREFIX s:<http://swrc.ontoware.org/ontology#>SELECT ?titulo ?ano ?resumo ?bioWHERE { ?artigo rdf:type s:Article . ?artigo s:abstract ?resumo . ?artigo s:title ?titulo . ?artigo s:publisher ?autor . ?autor s:name “Alon Y. Halevy” . FILTER regex{?titulo, ‘Data Integration’, ‘i’} OPTIONAL {?artigo s:year ?ano}}
?artigo
s:Article
rdf:type
?ano
s:year
verdadeiro
47
Decomposição de Consultas SPARQL
• Grafo de Consulta
48
Consulta QPREFIX s:<http://swrc.ontoware.org/ontology#>SELECT ?titulo ?ano ?resumo ?bioWHERE { ?artigo rdf:type s:Article . ?artigo s:abstract ?resumo . ?artigo s:title ?titulo . ?artigo s:publisher ?autor . ?autor s:name “Alon Y. Halevy” . FILTER regex{?titulo, ‘Data Integration’, ‘i’} OPTIONAL {?artigo s:year ?ano}}
Define estrutura Filter{ String Expressão; Nó var;}filtro
Define estrutura ListaFiltro{ Nó filtro;}lista
?titulo
regex {?titulo, ‘Data Integration’, ‘i’}
49
Decomposição de Consultas SPARQL
• Atividade 2: Decompõe o Grafo de Consulta em um ou mais grafos , ... , – Algoritmo DecompoeConsulta– Algoritimo CriaGrafo– Algoritmo ReescreveVertice– Algoritmo ReescreveAresta
𝑆1 𝑆𝑛
50
uv
v
uu
?artigo
k:Article
rdf:type
(s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar));(s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar));
u
51
u
uv
v
s:publisher(ar,p), s:Article(ar) ← (dblp, a:has-author(ar,p), a:Article-Reference(ar));[kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)]
(s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar));
s:publisher(ar,p), s:Article(ar) ← (dblp, a:has-author(ar,p), a:Article-Reference(ar));[kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)]
s:publisher(ar,p), s:Article(ar) ← (dblp, a:has-author(ar,p), a:Article-Reference(ar));[kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)]
52
𝑋 1 𝑋 2
auxk:hasCreator?artigo ? 𝒕𝟏
k:hasCreatorInfo ?autor
[kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)]
u
uv
v
53
verdadeiro?
Grafo para a fonte de dados Kisti
verdadeiro
Grafo para a fonte de dados DBLP
Grafo para a fonte de dados DBpedia
54
Decomposição de Consultas SPARQL
• Atividade 3– Criação das Subconsultas SPARQL
55
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
57
Trabalhos Relacionados
• Integração de dados na Web de Dados
– SemWiQ [Langegger 2010]
– FedX [Schwarte et al. 2011]
– DARQ [Quilitz e Leser 2008]
58
Trabalhos RelacionadosAbordagem Objetivo Método de Decomposição da Consulta[Correndo et al.
2010]Decomposição de consultas SPARQL
aplicada a conjuntos Linked DataExtrai 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 ontologiasReescreve 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.
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
60
Implementação e Experimentos
• oLinDa: Query Decomposition over Linked Data Federation
Geração dos Grafos
61
Implementação e Experimentos
• Funcionalidades
62
Implementação e Experimentos
• Telas
63
Implementação e Experimentos
• Avaliação Experimental
ACM
DOTAC
OAI
DBLP
IEEE
Kisti
BIBO
CiteSeer
IBM
ROMA
Southampton
Sweto
DBpedia
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
65
Implementação e Experimentos
• Método do Experimento
RD
DBLP KistiDBpedi
a
Esquema Global
Mapeamentos
...
Q
Q 𝑹𝑻
Q’ Q’’ Q’’’
𝑹𝑾
66
Implementação e Experimentos
• Métricas
Corretude
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
Completude
Confuso!!!
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 geradas por nossa abordagem. = número de instâncias corretas retornadas por
𝑅𝑇 ∩𝑅𝑊
𝑅𝑊
𝑃𝑟𝑒𝑐𝑖𝑠 ã𝑜 (𝐶𝑜𝑟𝑟𝑒𝑡𝑢𝑑𝑒 )=¿ 𝑅𝑇 ∩𝑅𝑊
𝑅𝑡𝑅𝑒𝑣𝑜𝑐𝑎 çã𝑜 (𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑢𝑑𝑒 )=¿
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
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.
LegendaCND: Consulta Não DecompostaCDI: Consulta Decomposta IncorretamenteCDC: Consulta Decomposta Corretamente
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
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
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.
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
74
Obrigada!!!