Apresentação defesa de mestrado 2014   final
Upcoming SlideShare
Loading in...5
×
 

Apresentação defesa de mestrado 2014 final

on

  • 521 views

 

Statistics

Views

Total Views
521
Views on SlideShare
521
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Apresentação defesa de mestrado 2014   final Apresentação defesa de mestrado 2014 final Presentation Transcript

  • 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