uma arquitetura com implementação para integração semântica de ontologias e bancos de dados
TRANSCRIPT
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)
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!