Uma Arquitetura com Implementação para Integração Semântica de Ontologias e Bancos de Dados

Post on 15-Apr-2017

404 views 0 download

Transcript of Uma Arquitetura com Implementação para Integração Semântica de Ontologias e Bancos de Dados

cin.ufpe.br

Uma Arquitetura com Implementação para Integração Semântica de Ontologias e Bancos de Dados

Aluno : Adriel Caféaac3@cin.ufpe.br

Orientador: Prof. Fred Freitasfred@cin.ufpe.br

Defesa de Dissertação de Mestrado, 2015Pós-Graduação em Ciência da Computação

Centro de Informática (CIn)Universidade Federal de Pernambuco (UFPE)

cin.ufpe.br 2

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 3

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 4

Introdução

• Integração da informação é uma área de pesquisa ativa que tem por objetivo a criação de mecanismos para extrair dados ou mesclar fontes de dados (UZDANAVICIUTE; BUTLERIS, 2011);

• Integração semântica é uma subárea, nela são utilizadas tecnologias da Web Semântica para tornar o processo de integração o mais inteligente e automático possível (CRUZ; XIAO, 2005);

• Um dos grandes esforços para os novos sistemas de informação baseados em ontologias está em resolver problemas em fontes de dados heterogêneos (SMITH, 2003).

cin.ufpe.br 5

IntroduçãoObjetivo Geral

• Propor e avaliar uma arquitetura para integração semântica entre ontologias e bancos de dados relacionais simultaneamente;

• Esta arquitetura deverá descrever detalhadamente todo o processo de integração virtual, mediada por consultas;

• Deverá ser utilizada uma camada semântica para diminuir os problemas de heterogeneidade de dados.

cin.ufpe.br 6

IntroduçãoObjetivos Específicos

• Criar uma arquitetura que seja capaz de realizar integração semântica, utilizando ontologias como vocabulário de consulta;

• Implementar a arquitetura proposta, por meio de um framework, a fim de comprovar a eficácia da mesma;

• Identificar soluções existentes que realizem alguma subtarefa de integração para utilizá-los na implementação do framework;– Subtarefas: alinhamento, mapeamento, reescrita e execução de consultas.

• Realizar um estudo de caso real utilizando dados biológicos.

cin.ufpe.br 7

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 8

Referencial TeóricoWeb Semântica

• Um meio de tornar a informação, localizada em qualquer lugar da internet, acessível e entendível, tanto para os humanos quanto para as máquinas (PASSIN, 2004);

• Principais tecnologias (ANTONIOU; HARMELEN, 2008):– Ontologias– OWL (Ontology Web Language)– RDFS (Resource Description Framework Schema)– SPARQL (SPARQL Protocol and RDF Query Language)

cin.ufpe.br 9

Referencial TeóricoIntegração Semântica

• Integração de dados:– É o problema de combinar dados de diferentes fontes e prover para o

usuário uma visão unificada destes dados (LENZERINI, 2002);– Fornece a capacidade de manipular dados de forma transparente entre

múltiplas fontes de dados heterogêneas (CRUZ; XIAO, 2005).• Integração semântica:

– Usa-se uma representação semântica explicita, evitando que dados semanticamente incompatíveis sejam utilizados (ZIEGLER; DITTRICH, 2004);

– Esta representação semântica se dá por meio de ontologias, devido à sua capacidade de representação (CRUZ; XIAO, 2005).

cin.ufpe.br 10

Referencial TeóricoIntegração Semântica

• Problemas Relacionados (NOY, 2004)AKT Reference Ontology eBiquity Person Ontology

Diferentes nomes parao mesmo conceito Student GraduationStudent

Mesmo nome paradiferentes conceitos

ProjectApenas o projeto atual

ProjectProjetos passados e propostasde projeto

Escopo Inclui journals e publicações compostas Inclui estudantes e palestrantes

Diferentes convençõesde modelagem Journal é uma classe journal é uma propriedade

Granularidade Professor-In-Academia Adjunct, Affiliated, Associate, Principal

cin.ufpe.br 11

Referencial TeóricoIntegração Semântica

• Soluções Existentes (ALASOUD; HAARSLEV; SHIRI, 2009)

a) GAV (Global as View)b) LAV (Local as View)c) GLAV (Global-Local

as View)

cin.ufpe.br 12

Referencial TeóricoIntegração Semântica

• Soluções Existentes de Acesso às Ontologias e Bancos de Dados– OIS (Ontology Integration System) (CALVANESE; GIACOMO;

LENZERINI, 2001)• Ontologia Global. Fornece uma visão global e unificada das ontologias locais;• Ontologias Locais. São ontologias heterogêneas e independentes. É onde estão

as instâncias e axiomas;• Alinhamentos. Link semântico que relaciona os conceitos da ontologia com os

conceitos das ontologias locais.– OBDA (Ontology-Based Data Access) (KONTCHAKOV;

RODRÍGUEZMURO; ZAKHARYASCHEV, 2013)• Ontologia Global. Fornece uma visão global e unificada dos esquemas dos

bancos de dados locais;• Bancos de Dados Locais. São fontes de dados heterogêneas e independentes. É

onde estão os dados;• Mapeamentos. Link semântico que relaciona os conceitos da ontologia com o

esquemas dos bancos de dados locais.

cin.ufpe.br 13

Referencial TeóricoAlinhamento e Mapeamento

Mapeamento entre Ontologia e Banco de Dados

O1 DB1

Class1 Table1

d2rq:ClassMap

Equivalentes

O1 O2

Class1 Class2

edoal:Class

89% de Equivalência

Alinhamento entre Ontologias

cin.ufpe.br 14

• Consulta SPARQL originalPREFIX store: <http://ontology.owl/store.owl#>SELECT ?name WHERE { ?x a store:Book . ?x store:name ?name}

• Consulta SPARQL reescrita para OntologiaPREFIX bookstore: <http://ontology.owl/bookstore.owl#>SELECT ?name WHERE { ?x a bookstore:Textbook . ?x bookstore:title ?name}

• Consulta SQL reescrita para Banco de DadosSELECT bookTitle AS name FROM books;

Referencial TeóricoReescrita de Consultas

cin.ufpe.br 15

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 16

Arquitetura Proposta

Ontologia Global Ontologias Locais

...

Bancos de Dados Relacionais Locais

...

Alinhamentos

Mapeamentos

Framework

cin.ufpe.br 17

Arquitetura PropostaProcesso de Integração

1. Configurar o Framework– Definir a ontologia global e as fontes de dados locais

2. Alinhar as Ontologias– Alinhar a ontologia global com as ontologias locais

3. Mapear os Bancos de Dados– Mapear a ontologia global com os bancos de dados locais

4. Criar uma Consulta– Criar uma consulta com o vocabulário da ontologia global

5. Reescrever as Consultas– Reescrever a consulta da Etapa 4 para cada fonte local

6. Executar as Consultas– Extrair o resultado das fontes locais executando as consultas da Etapa 5

cin.ufpe.br 18

Arquitetura PropostaCenários de Integração

• Cenário 1

• Cenário 2

Alinhamentos

Framework Ontologias Locais...

Ontologia Global

Mapeamentos

Framework

...

Ontologia Global Bancos de Dados Relacionais Locais

cin.ufpe.br 19

Arquitetura PropostaCenários de Integração

• Cenário 3

Alinhamentos

Framework

Ontologias Locais

...

...

Bancos de Dados Relacionais Locais

MapeamentosOntologia Global

cin.ufpe.br 20

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 21

Implementação

Disponível emhttp://github.com/adrielcafe/GryphonFramework

cin.ufpe.br 22

Implementação

Aplicação

Gryphon Framework

Ontologia Global

Fontes de Dados Locais......

MapeamentosAlinhamentos

cin.ufpe.br 23

ImplementaçãoComponentes Utilizados

• AML (AgreementMakerLight) (CRUZ; ANTONELLI; STROE, 2009)– Para alinhar as ontologias locais com a ontologia global

• Mediation (CORRENDO et al., 2010)– Para reescrever consultas SPARQL

• Sesame (BROEKSTRA; KAMPMAN; HARMELEN, 2002)– Para executar consultas SPARQL

• D2RQ (BIZER, 2004)– Para mapear os bancos de dados locais com a ontologia global– Para reescrever consultas SPARQL em SQL– Para executar consultas SQL

cin.ufpe.br 24

ImplementaçãoProcesso de Integração Otimizado

1. Configurar o Framework– Alterar os valores da classe GryphonConfig– Definir a ontologia global e as fontes de dados locais

2. Alinhar e Mapear as Fontes de Dados– Alinhar a ontologia global com as ontologias locais– Mapear a ontologia global com os bancos de dados locais

3. Realizar uma Consulta– Receber uma consulta SPARQL da aplicação– Reescrever esta consulta para cada fonte local– Extrair o resultado das fontes locais executando as consultas reescritas– Salvar os resultados no formado especificado

cin.ufpe.br 25

ImplementaçãoProcesso de Integração Otimizado

1. Configurar o FrameworkGryphonConfig.setWorkingDirectory(new File("myIntegration"));GryphonConfig.setLogEnabled(true);GryphonConfig.setShowLogo(true);Gryphon.init();

Ontology globalOnt = new Ontology("globalOntology", uriToGlobalOntology);Ontology localOnt1 = new Ontology("localOntology1", uriToLocalOntology1);Ontology localOnt2 = new Ontology("localOntology2", uriToLocalOntology2);Database localDB1 = new Database("localhost", 3306, "username", "password", "db1", Gryphon.DBMS.MySQL);Database localDB2 = new Database("localhost", 3306, "username", "password", "db2", Gryphon.DBMS.PostgreSQL);

Gryphon.setGlobalOntology(globalOnt);Gryphon.addLocalOntology(localOnt1);Gryphon.addLocalOntology(localOnt2);Gryphon.addLocalDatabase(localDB1);Gryphon.addLocalDatabase(localDB2);

cin.ufpe.br 26

2. Alinhar e Mapear as Fontes de DadosGryphon.alignAndMap();

3. Realizar uma ConsultaString strQuery = "PREFIX store: <http://ontology.owl/store.owl#> " +"SELECT ?name WHERE " +"{ ?x a store:Book . ?x store:name ?name }";Gryphon.query(strQuery, ResultFormat.JSON);

* Os resultados podem ser salvos nos formatos JSON, XML e CSV.

ImplementaçãoProcesso de Integração Otimizado

cin.ufpe.br 27

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 28

Experimentos

• Experimento 2Consiste em integrar ontologias e bancos de dados, do domínio de notícias, utilizando o Gryphon Framework.

Alinhamentos

Gryphon Framework

Ontologias Locais

Bancos de Dados Locais

MapeamentosNews

Ontologia GlobalSIOC rNews

Joomla WordPress

cin.ufpe.br 29

Experimentos

DEMONSTRAÇÃOPRÁTICA

cin.ufpe.br 30

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 31

Trabalhos Relacionados

• Integração de Ontologias– Aber-OWL (HOEHNDORF et al., 2015) – Exelixis (KONDYLAKIS; PLEXOUSAKIS, 2011)– PROMPT (NOY; MUSEN, 2000)

• Integração de Bancos de Dados Baseada em Ontologias– -ontop- (RODRÍGUEZ-MURO; KONTCHAKOV; ZAKHARYASCHEV,

2013) – ONTOFUSION (PÉREZ-REY et al., 2006) – OntoGrate (DOU; QIN; LEPENDU, 2010)– Optique (CALVANESE et al., 2013)

cin.ufpe.br 32

• Aber-OWL consiste em um repositório de ontologias, um conjunto de web services e um framework que possibilitam a realização de consultas em ontologias do domínio biológico.

• É possível realizar consultas em SPARQL nas ontologias presentes no repositório. Os resultados das consultas são salvos no formato JSON.

• É possível utilizar o Gryphon Framework em qualquer domínio;

• O Gryphon Framework permite salvar os resultados nos formatos JSON, XML e CSV;

Trabalhos Relacionados Comparação com Aber-OWL

cin.ufpe.br 33

• O -ontop- é uma plataforma para consultar bancos de dados como grafos RDF virtuais utilizando SPARQL 1.0.

• É dividido em duas partes: – Quest, seu mecanismo para reescrita de consultas SPARQL em SQL;– -ontopPro-, um plug-in para Protégé.

• O Gryphon suporta o SPARQL 1.1, a última versão da linguagem que traz melhorias fundamentais, e.g., funções agregadas, subconsultas, negação, caminhos de propriedade e novos comandos.

Trabalhos Relacionados Comparação com -ontop-

cin.ufpe.br 34

Sumário

1. Introdução2. Referencial Teórico3. Arquitetura Proposta4. Implementação5. Experimentos (com demonstração)6. Trabalhos Relacionados7. Conclusões

cin.ufpe.br 35

Conclusões

• Foi criada uma arquitetura, juntamente com uma implementação, capaz de realizar integrações semânticas entre ontologias e bancos de dados;– Utilizando alinhamentos e mapeamentos para possibilitar a reescrita de

consultas em diferentes linguagens (e.g., SPARQL e SQL).• Este trabalho é pioneiro na integração simultânea entre estas duas

tecnologias;• É possível utilizar esta arquitetura (e implementação) em diversos

cenários e domínios;• Com o advento da Web Semântica, a necessidade de integrar fontes

de dados heterogêneos está sendo cada vez mais frequente;• Foram realizados dois experimentos com domínios e propósitos

diferentes.

cin.ufpe.br 36

ConclusõesLimitações

• A edição de alinhamentos e mapeamentos não está integrada com o Gryphon Framework;

• Não permite a integração de ontologias distribuídas pela internet;

• Os mapeamentos gerados pelo D2RQ não são tão precisos quanto os alinhamentos gerados pelo AML.

cin.ufpe.br 37

ConclusõesTrabalhos Futuros

• Realizar testes comparativos entre as plataformas -ontop- e o D2RQ;– Caso o -ontop- se mostre superior ao D2RQ, seria válido substituir as plataformas.

• Criação de uma interface (web ou desktop) para facilitar a integração;– O usuário poderia informar quem seria a ontologia global, e quais seriam as

ontologias e/ou bancos de dados locais;– Feito isso, seria realizado o alinhamento e mapeamento automaticamente e

haveria a possibilidade do usuário editá-los.• Estender a arquitetura para suportar integração de bancos de

dados não relacionais (NoSQL), e.g., MongoDB, Cassandra, Redis ou Neo4J;

• Implementar algoritmos de aprendizado de máquina;– Treinar o Gryphon Framework para realizar alinhamentos e mapeamentos cada

vez mais preciso com base em experiências anteriores.

cin.ufpe.br 38

Obrigado a Todos!