SlideShare uma empresa Scribd logo
1 de 74
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
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
Introdução
• Motivação
• Caracterização do Problema

• Objetivos

3
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
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
Motivação

6
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
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
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
Introdução
• Motivação
• Caracterização do Problema

• Objetivos

10
Caracterização do Problema

Ontologia de
Domínio

Ontologia SWRC

DBLP

Kisti

DBpedia
11
Caracterização do Problema
sameAs

sameAs

12
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
sameAs

sameAs

14
Caracterização do Problema
• Problemas a serem tratados
– Heterogeneidade
– Resultados Parciais

15
Introdução
• Motivação
• Caracterização do Problema

• Objetivos

16
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
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
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
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
Fundamentação Teórica
• Uso de ontologias em Integração de Dados
• Decomposição de Consultas
• Caracterização de Mapeamentos

21
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
Fundamentação Teórica
• Integração de Dados
• Decomposição de Consultas
• Caracterização de Mapeamentos

23
Decomposição de Consultas
• Decomposição de Consultas em múltiplas fontes de dados:
– É relevante para diversas aplicações
• Arquitetura de Mediadores
• PDMS

24
Fundamentação Teórica
• Integração de Dados
• Decomposição de Consultas
• Caracterização de Mapeamentos

25
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
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
Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias
– Matching Contextualizado de Vocabulários
– Formalização das Regras de Mapeamentos

• Grafo de Consulta

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
Formalismo dos Mapeamentos entre as
Ontologias
• Matching Contextualizado de Vocabulários

30
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
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
Formalismo dos Mapeamentos entre as
Ontologias

33
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
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))

35
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
Definições Preliminares
• Formalismo dos Mapeamentos entre as Ontologias
– Matching Contextualizado de Vocabulários
– Formalização das Regras de Mapeamentos

• Grafo de Consulta

37
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
Grafo de Consulta

verdadeiro

39
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
Decomposição de Consultas SPARQL
Atividade 1

Atividade 2

Atividade 3
𝑸 𝒊 é classificada como
Consulta Parcial ou Total

41
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
Decomposição de Consultas SPARQL

Conjunto de Mapeamentos M

43
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
Decomposição de Consultas SPARQL
• Atividade 1: realiza a conversão de Q para um grafo
de consulta 𝐺 𝑄
– Algoritmo ConverteConsulta

– Algoritmo Filtro

45
Consulta Q
PREFIX s:<http://swrc.ontoware.org/ontology#>
SELECT ?titulo ?ano ?resumo ?bio
WHERE {
?artigo rdf:type s:Article .
?artigo s:abstract ?resumo .
?artigo s:title ?titulo .
Consulta Q
?artigo s:publisher ?autor .
PREFIX s:<http://swrc.ontoware.org/ontology#>
?autor s:name “Alon Y. Halevy” .
SELECT ?titulo ?ano ?resumo Integration’, ‘i’}
FILTER regex{?titulo, ‘Data ?bio
WHERE {
OPTIONAL {?artigo s:year ?ano}
} ?artigo rdf:type s:Article .
?artigo s:abstract ?resumo .
?artigo s:title ?titulo .
?artigo s:publisher ?autor .
?autor s:name “Alon Y. Halevy” .
?artigo
FILTER regex{?titulo, ‘Data Integration’, ‘i’}
OPTIONAL {?artigo s:year ?ano}
}

rdf:type

s:Article

s:year

?ano
verdadeiro

46
Decomposição de Consultas SPARQL
• Grafo de Consulta 𝐺 𝑄

47
Consulta Q

Define estrutura Filter{
String Expressão;
Nó var;
}filtro

PREFIX s:<http://swrc.ontoware.org/ontology#>
SELECT ?titulo ?ano ?resumo ?bio
WHERE {
?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 ListaFiltro{
Nó filtro;
}lista

regex {?titulo, ‘Data Integration’, ‘i’}
?titulo

48
Decomposição de Consultas SPARQL
• Atividade 2: Decompõe o Grafo de Consulta 𝐺 𝑄 em um ou
mais grafos 𝐺 𝑄 , ... , 𝐺 𝑄
–
–
–
–

𝑆1

𝑆𝑛

Algoritmo DecompoeConsulta
Algoritimo CriaGrafo
Algoritmo ReescreveVertice
Algoritmo ReescreveAresta

49
u
u 𝝐 (𝑽 ∪ 𝑳)
uv

v

u  (𝑽 ∪ 𝑳)

(s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar));
k:Article(ar));

?artigo
rdf:type
k:Article
50
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: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)]
(s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar));

51
𝑋1
𝑋2
[kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)]

u

uv
v

aux
?artigo

k:hasCreatorInfo

? 𝒕𝟏

k:hasCreator

?autor
52
verdadeiro
Grafo para a
fonte de dados DBLP

Grafo para a fonte de dados DBpedia

?

verdadeiro

Grafo para a
fonte de dados Kisti
53
Decomposição de Consultas SPARQL
• Atividade 3
– Criação das Subconsultas SPARQL

54
55
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
Trabalhos Relacionados
• Integração de dados na Web de Dados
– SemWiQ [Langegger 2010]
– FedX [Schwarte et al. 2011]
– DARQ [Quilitz e Leser 2008]

57
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
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
Implementação e Experimentos
• oLinDa: Query Decomposition over Linked Data Federation

Geração dos
Grafos

60
Implementação e Experimentos
• Funcionalidades

61
Implementação e Experimentos
• Telas

62
Implementação e Experimentos
• Avaliação Experimental
CiteSeer
ACM

BIBO

IBM
DBLP

DBpedia

ROMA
DOTAC

IEEE

Sweto

Kisti

Southampton

OAI
63
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
Implementação e Experimentos
• Método do Experimento
Q 𝑹

Q

𝑹𝑻

𝑾

Esquema
Global
Mapeamentos

RD

Q’

Q’’
DBLP

Kisti

...

Q’’’
DBpedia

65
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
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
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
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
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
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
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
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
Obrigada!!!

74

Mais conteúdo relacionado

Destaque

Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradorobsonf
 
Linked Data: da Web de Documentos para a Web de Dados
Linked Data: da Web de Documentos para a Web de DadosLinked Data: da Web de Documentos para a Web de Dados
Linked Data: da Web de Documentos para a Web de DadosDanusa Ribeiro
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertaçãoLuciana Viter
 
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...João Filipe Gaspar
 
Apresentação bike slide
Apresentação bike slideApresentação bike slide
Apresentação bike slideBruno Godoi
 
Defesa de mestrado apresentação
Defesa de mestrado apresentaçãoDefesa de mestrado apresentação
Defesa de mestrado apresentaçãoErivelto Teixeira
 
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)""Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"Cepagro
 
Apresentação da Defesa de dissertação
Apresentação da Defesa de dissertaçãoApresentação da Defesa de dissertação
Apresentação da Defesa de dissertaçãoAlessandra Galdo
 
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010Agricultura Urbana e Sustentabilidade Local - Janeiro 2010
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010Paula Lopes da Silva
 
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...Cepagro
 
Modelo de apresentação da tese
Modelo de apresentação da teseModelo de apresentação da tese
Modelo de apresentação da teseDelza
 

Destaque (13)

Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestrado
 
Linked Data: da Web de Documentos para a Web de Dados
Linked Data: da Web de Documentos para a Web de DadosLinked Data: da Web de Documentos para a Web de Dados
Linked Data: da Web de Documentos para a Web de Dados
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertação
 
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...
Apresentação Tese de Mestrado Sistemas de Informação Geográfica - Tecnologias...
 
Apresentação bike slide
Apresentação bike slideApresentação bike slide
Apresentação bike slide
 
Defesa de mestrado apresentação
Defesa de mestrado apresentaçãoDefesa de mestrado apresentação
Defesa de mestrado apresentação
 
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)""Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"
"Agricultura Urbana (AU): um estudo de caso em Itajaí (SC)"
 
Apresentação da Defesa de dissertação
Apresentação da Defesa de dissertaçãoApresentação da Defesa de dissertação
Apresentação da Defesa de dissertação
 
Defesa Mestrado
Defesa MestradoDefesa Mestrado
Defesa Mestrado
 
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010Agricultura Urbana e Sustentabilidade Local - Janeiro 2010
Agricultura Urbana e Sustentabilidade Local - Janeiro 2010
 
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...
“AGRICULTURA URBANA: Um estudo de caso nas comunidades Chico Mendes e Jardim ...
 
Modelo de apresentação da tese
Modelo de apresentação da teseModelo de apresentação da tese
Modelo de apresentação da tese
 
Defesa de tese do mestrado
Defesa de tese do mestradoDefesa de tese do mestrado
Defesa de tese do mestrado
 

Semelhante a Decomposição de Consultas SPARQL em Federações de Dados Interligados

Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Avelino Ferreira Gomes Filho
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Orlando Junior
 
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Adriel Café
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetosSliedesharessbarbosa
 
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...Paulo Henrique Santini
 
Normas para Organização do TCC - CPS
Normas para Organização do TCC - CPSNormas para Organização do TCC - CPS
Normas para Organização do TCC - CPSMarcio Duarte
 
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Adriano Melo
 
PBL e Criatividade - Aula 3 (slides novos)
PBL e Criatividade - Aula 3 (slides novos)PBL e Criatividade - Aula 3 (slides novos)
PBL e Criatividade - Aula 3 (slides novos)Jhemisson Marinho
 
Comoelaborarumprojetodepesquisa 100323013200-phpapp01
Comoelaborarumprojetodepesquisa 100323013200-phpapp01Comoelaborarumprojetodepesquisa 100323013200-phpapp01
Comoelaborarumprojetodepesquisa 100323013200-phpapp01Eliete Oliveira
 
Comoelaborarumprojetodepesquisa 100323014031-phpapp02
Comoelaborarumprojetodepesquisa 100323014031-phpapp02Comoelaborarumprojetodepesquisa 100323014031-phpapp02
Comoelaborarumprojetodepesquisa 100323014031-phpapp02Acácio Rafael Guedes
 
Proposta de Tese: Redução de Reticulados Conceituais
Proposta de Tese: Redução de Reticulados ConceituaisProposta de Tese: Redução de Reticulados Conceituais
Proposta de Tese: Redução de Reticulados ConceituaisSérgio Dias
 

Semelhante a Decomposição de Consultas SPARQL em Federações de Dados Interligados (20)

Mapping Study
Mapping StudyMapping Study
Mapping Study
 
Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...
 
Deep Learning e NLP
Deep Learning e NLPDeep Learning e NLP
Deep Learning e NLP
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
 
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetos
 
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...
Apresentação SIMCOP - SIMCOP – Framework para Análise de Similaridade em Sequ...
 
Oficina uem 2017
Oficina uem 2017Oficina uem 2017
Oficina uem 2017
 
Normas para Organização do TCC - CPS
Normas para Organização do TCC - CPSNormas para Organização do TCC - CPS
Normas para Organização do TCC - CPS
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
 
Projeto de Pesquisa - ISEP
Projeto de Pesquisa -  ISEPProjeto de Pesquisa -  ISEP
Projeto de Pesquisa - ISEP
 
PBL e Criatividade - Aula 3 (slides novos)
PBL e Criatividade - Aula 3 (slides novos)PBL e Criatividade - Aula 3 (slides novos)
PBL e Criatividade - Aula 3 (slides novos)
 
Estrutura de dados.docx
Estrutura de dados.docxEstrutura de dados.docx
Estrutura de dados.docx
 
Comoelaborarumprojetodepesquisa 100323013200-phpapp01
Comoelaborarumprojetodepesquisa 100323013200-phpapp01Comoelaborarumprojetodepesquisa 100323013200-phpapp01
Comoelaborarumprojetodepesquisa 100323013200-phpapp01
 
Comoelaborarumprojetodepesquisa 100323014031-phpapp02
Comoelaborarumprojetodepesquisa 100323014031-phpapp02Comoelaborarumprojetodepesquisa 100323014031-phpapp02
Comoelaborarumprojetodepesquisa 100323014031-phpapp02
 
Provas publicas de doutoramento
Provas publicas de doutoramentoProvas publicas de doutoramento
Provas publicas de doutoramento
 
Proposta de Tese: Redução de Reticulados Conceituais
Proposta de Tese: Redução de Reticulados ConceituaisProposta de Tese: Redução de Reticulados Conceituais
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
  • 11. Caracterização do Problema Ontologia de Domínio Ontologia SWRC DBLP Kisti DBpedia 11
  • 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
  • 15. Caracterização do Problema • Problemas a serem tratados – Heterogeneidade – Resultados Parciais 15
  • 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
  • 23. Fundamentação Teórica • Integração de Dados • Decomposição de Consultas • Caracterização de Mapeamentos 23
  • 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
  • 25. Fundamentação Teórica • Integração de Dados • Decomposição de Consultas • Caracterização de Mapeamentos 25
  • 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
  • 30. Formalismo dos Mapeamentos entre as Ontologias • Matching Contextualizado de Vocabulários 30
  • 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
  • 33. Formalismo dos Mapeamentos entre as Ontologias 33
  • 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
  • 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)) 35
  • 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
  • 43. Decomposição de Consultas SPARQL Conjunto de Mapeamentos M 43
  • 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
  • 46. Consulta Q PREFIX s:<http://swrc.ontoware.org/ontology#> SELECT ?titulo ?ano ?resumo ?bio WHERE { ?artigo rdf:type s:Article . ?artigo s:abstract ?resumo . ?artigo s:title ?titulo . Consulta Q ?artigo s:publisher ?autor . PREFIX s:<http://swrc.ontoware.org/ontology#> ?autor s:name “Alon Y. Halevy” . SELECT ?titulo ?ano ?resumo Integration’, ‘i’} FILTER regex{?titulo, ‘Data ?bio WHERE { OPTIONAL {?artigo s:year ?ano} } ?artigo rdf:type s:Article . ?artigo s:abstract ?resumo . ?artigo s:title ?titulo . ?artigo s:publisher ?autor . ?autor s:name “Alon Y. Halevy” . ?artigo FILTER regex{?titulo, ‘Data Integration’, ‘i’} OPTIONAL {?artigo s:year ?ano} } rdf:type s:Article s:year ?ano verdadeiro 46
  • 47. Decomposição de Consultas SPARQL • Grafo de Consulta 𝐺 𝑄 47
  • 48. Consulta Q Define estrutura Filter{ String Expressão; Nó var; }filtro PREFIX s:<http://swrc.ontoware.org/ontology#> SELECT ?titulo ?ano ?resumo ?bio WHERE { ?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 ListaFiltro{ Nó filtro; }lista regex {?titulo, ‘Data Integration’, ‘i’} ?titulo 48
  • 49. Decomposição de Consultas SPARQL • Atividade 2: Decompõe o Grafo de Consulta 𝐺 𝑄 em um ou mais grafos 𝐺 𝑄 , ... , 𝐺 𝑄 – – – – 𝑆1 𝑆𝑛 Algoritmo DecompoeConsulta Algoritimo CriaGrafo Algoritmo ReescreveVertice Algoritmo ReescreveAresta 49
  • 50. u u 𝝐 (𝑽 ∪ 𝑳) uv v u  (𝑽 ∪ 𝑳) (s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar)); k:Article(ar)); ?artigo rdf:type k:Article 50
  • 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: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)] (s:Article(ar)) ← (dblp, a:Article-Reference(ar)); (kisti, k:Article(ar)); 51
  • 52. 𝑋1 𝑋2 [kisti, (k:hasCreatorInfo(ar,z), k:Article(ar)); (k:hasCreator(ar,p), k:CreatorInfo(z)] u uv v aux ?artigo k:hasCreatorInfo ? 𝒕𝟏 k:hasCreator ?autor 52
  • 53. verdadeiro Grafo para a fonte de dados DBLP Grafo para a fonte de dados DBpedia ? verdadeiro Grafo para a fonte de dados Kisti 53
  • 54. Decomposição de Consultas SPARQL • Atividade 3 – Criação das Subconsultas SPARQL 54
  • 55. 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 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
  • 60. Implementação e Experimentos • oLinDa: Query Decomposition over Linked Data Federation Geração dos Grafos 60
  • 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