Apresentação defesa de mestrado 2014 final

Post on 18-Dec-2014

525 views 5 download

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 Cunhadrbc@cin.ufpe.br

Orientadora: Prof. Dra. Bernadette Farias Lósciobfl@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

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