38
cin.ufpe.br Uma Arquitetura com Implementação para Integração Semântica de Ontologias e Bancos de Dados Aluno : Adriel Café [email protected] Orientador: Prof. Fred Freitas [email protected] Defesa de Dissertação de Mestrado, 2015 Pós-Graduação em Ciência da Computação Centro de Informática (CIn) Universidade Federal de Pernambuco (UFPE)

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

Embed Size (px)

Citation preview

Page 1: 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é[email protected]

Orientador: Prof. Fred [email protected]

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)

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

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

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

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

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

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

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

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.

Page 6: Uma Arquitetura com Implementação para Integração Semântica de Ontologias e Bancos 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.

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

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

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

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)

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

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

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

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

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

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)

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

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.

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

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

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

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

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

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

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

cin.ufpe.br 16

Arquitetura Proposta

Ontologia Global Ontologias Locais

...

Bancos de Dados Relacionais Locais

...

Alinhamentos

Mapeamentos

Framework

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

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

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

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

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

cin.ufpe.br 19

Arquitetura PropostaCenários de Integração

• Cenário 3

Alinhamentos

Framework

Ontologias Locais

...

...

Bancos de Dados Relacionais Locais

MapeamentosOntologia Global

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

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

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

cin.ufpe.br 21

Implementação

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

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

cin.ufpe.br 22

Implementação

Aplicação

Gryphon Framework

Ontologia Global

Fontes de Dados Locais......

MapeamentosAlinhamentos

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

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

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

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

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

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

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

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

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

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

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

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

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

cin.ufpe.br 29

Experimentos

DEMONSTRAÇÃOPRÁTICA

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

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

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

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)

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

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

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

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-

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

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

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

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.

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

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.

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

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.

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

cin.ufpe.br 38

Obrigado a Todos!