TG314 Tobias de Campos Andrade
-
Upload
joao-paulo-silva-nascimento -
Category
Documents
-
view
219 -
download
0
Transcript of TG314 Tobias de Campos Andrade
-
7/28/2019 TG314 Tobias de Campos Andrade
1/172
UNIVERSIDADE FEDERAL DE SANTA MARIA
CENTRO DE TECNOLOGIACURSO DE CINCIA DA COMPUTAO
MAPEAMENTO DE ESQUEMAS XML INTEGRADOSPARA BANCOS DE DADOS RELACIONAIS
TRABALHO DE GRADUAO
Tobias de Campos Andrade
Santa Maria, RS, Brasil.2010
-
7/28/2019 TG314 Tobias de Campos Andrade
2/172
MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA
BANCOS DE DOS RELACIONAIS
por
Tobias de Campos Andrade
Trabalho de Graduao apresentado ao Curso de Cincia da Computao daUniversidade Federal de Santa Maria (UFSM, RS), como requisito parcial para a
obteno do grau deBacharel em Cincia da Computao
Orientador: Prof Dr Deise de Brum Saccol
Trabalho de Graduao N. 314Santa Maria, RS, Brasil.
2010
-
7/28/2019 TG314 Tobias de Campos Andrade
3/172
Universidade Federal de Santa Maria
Centro de TecnologiaCurso de Cincia da Computao
A Comisso Examinadora, abaixo assinada,aprova o Trabalho de Graduao
MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOSDE DADOS RELACIONAIS
elaborado porTobias de Campos Andrade
como requisito parcial para obteno do grau deBacharel em Cincia da Computao
COMISSO EXAMINADORA:
___________________________Prof. Deise de Brum Saccol
(Presidente/Orientador)
___________________________
Prof. Eduardo Kessler Piveta
___________________________ Prof.Giovani Rubert Librelotto
Santa Maria, 1 de dezembro de 2010.
-
7/28/2019 TG314 Tobias de Campos Andrade
4/172
A gente pode morar numa casa mais ou menos, numa rua mais ou menos, numa
cidade mais ou menos, e at ter um governo mais ou menos.
A gente pode dormir numa cama mais ou menos, comer um feijo mais ou menos, ter
um transporte mais ou menos, e at ser obrigado a acreditar mais ou menos no futuro.
A gente pode olhar em volta e sentir que tudo est mais ou menos...
TUDO BEM!
O que a gente no pode mesmo, nunca, de jeito nenhum...
amar mais ou menos, sonhar mais ou menos, ser amigo mais ou menos, namorar
mais ou menos, ter f mais ou menos, e acreditar mais ou menos.
Seno a gente corre o risco de se tornar uma pessoa mais ou menos.
-Chico Xavier
-
7/28/2019 TG314 Tobias de Campos Andrade
5/172
AGRADECIMENTOS
Primeiramente agradeo a Deus, pela oportunidade que me deu de vir a essa
abenoada escola divina, que este mundo e por todos os acontecimentos de minha vida, to
necessrios ao meu crescimento, tanto intelectual quanto moral.
Agradeo aos meus pais, Manoel e Juara, os quais amo muito, por terem dado me a
oportunidade de viver e ensinarem me os valores da dignidade, da responsabilidade, da
amizade, da f, da confiana e da luta pelos ideais, por me iluminarem os caminhos obscuros
com afeto, dedicao e desvelo, para que os trilhasse sem medo e cheio de esperana. Elesdedicaram todo o seu amor, carinho, apoio e amizade incondicional, e dedicaro ainda por
muitos anos. Hoje posso bater no peito e dizer que sou o que eu sou graas a eles, e que me
orgulho muito de ser seu filho. Ao meu irmo Emilio que mesmo no estando em presena
fsica, sei que me ajudou muito, que esteja onde ele estiver, com certeza estar celebrando
este momento comigo. No podia deixar a minha queridinha irmzinha Mirella, que como
todos os citados anteriormente, com toda sua simpatia e carisma, foi indispensvel em minha
vida.Agradeo a todos os meus familiares e amigos, que durante todo este tempo me
acompanharam nesta rdua caminhada, pelo apoio, compreenso, perseverana e confiana.
Agradeo a minha querida orientadora Deise, que no mediu esforos, em me apoiar e
orientar e, pela disposio que dedicou em meu auxlio, o que oportunizou que este trabalho
fosse realizado com esmero e fosse bem sucedido.
-
7/28/2019 TG314 Tobias de Campos Andrade
6/172
RESUMO
Trabalho de GraduaoCurso de Cincia da Computao
Universidade Federal de Santa Maria
MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOS DE DADOSRELACIONAIS
Autor: Tobias de Campos Andrade
Orientador: ProfDr Deise de Brum Saccol
Local e data da defesa: Santa Maria, 09 de dezembro de 2010.
Muitas aplicaes exigem armazenamento de dados XML (eXtensible Markup
Language). Uma estratgia armazenar os documentos XML usando um banco de dados
relacional. Para isso, so aplicadas regras de transformao, de tal forma que quando um
documento XML submetido a essas regras, sua representao passa a ser um conjunto de
tabelas e relacionamentos entre elas, ou seja, num formato relacional. Entretanto, documentosXML de um mesmo domnio de aplicao podem possuir estruturas diferentes, dificultando o
mapeamento destes documentos para um nico esquema relacional. Para contornar esta
situao, pode-se previamente gerar um esquema integrado que consiga representar as
estruturas dos diversos documentos e ento mapear o esquema integrado para o modelo
relacional. Posteriormente, os dados podem ser convertidos para o formato relacional,
armazenados e recuperados (usando SQL). Esse trabalho baseia-se na abordagem discutida de
armazenar dados XML em Bancos de Dados Relacionais, tendo como objetivos: (a) proporum mecanismo de gerao de modelo relacional a partir de arquivos XML integrados, cujo
esquema descrito por uma ontologia; (b) definir um conjunto de regras de mapeamento do
esquema integrado para o modelo relacional; e (c) implementar um prottipo da tcnica
apresentada, de forma a validar a proposta do trabalho.
Palavras-chave: armazenamento de dados XML; Ontologia; banco de dados relacional;regras de transformao; esquema integrado; modelo relacional.
-
7/28/2019 TG314 Tobias de Campos Andrade
7/172
ABSTRACT
Trabalho de Graduao
Curso de Cincia da ComputaoUniversidade Federal de Santa Maria
MAPPING OF XML INTEGRATED SCHEMES FOR RELATIONAL DATABASES
Author: Tobias de Campos Andrade
Advisor: Profa Deise de Brum Saccol
Many applications require XML data storage (eXtensible Markup Language). One
strategy is to store XML documents using a relational database. For that, transformation rules
are applied, so that when an XML document is submitted to these rules, its representation
becomes a set of tables and relationships between them, in a relational format. However,
XML documents from the same application domain can have different structures, making
harder the mapping of these documents into a single relational schema. To overcome that, we
can previously generate an integrated schema that represents the structures of the variousdocuments, and then map the integrated schema to the relational model. Subsequently, the
data can be converted into the relational format, stored and retrieved (using SQL).This work
is based on the discussed approach that stores XML data into relational databases, aiming to:
(a) to propose a mechanism for generating relational model from integrated XML files, whose
schema is described by an ontology, (b) to define a set of mapping rules from the integrated
schema to the relational model, and (c) to implement a prototype of our technique in order to
validate the proposed work.
Keywords: XML data storage; Ontology; relational database; transformation rules; integratedschema; relational model.
-
7/28/2019 TG314 Tobias de Campos Andrade
8/172
LISTA DE FIGURAS
Figura 1 Exemplo de um Documento XML..........................................................................14Figura 2 - Exemplo de ontologia [SACCOL, 2006].................................................................20Figura 3 Processo de Integrao de Esquemas......................................................................24Figura 4 Abordagem proposta na OntoRel ............................................................................26Figura 5 Conceito No Lxico ..............................................................................................28Figura 6 Conceito Lxico ......................................................................................................28Figura 7 Relacionamento entre conceitos no lxicos...........................................................29Figura 8 Diagrama de Classe dos Objetos ConceitoNaoLexico, Relacionamento eConceitoLexico .........................................................................................................................30Figura 9 Diagrama de Classe dos objetos Tabela, RestricoesDasTabelas e Coluna ............31Figura 10 OntoRel Tela inicial ...........................................................................................32Figura 11 OntoRel - Janela para escolha de arquivo .............................................................33Figura 12 OntoRel Editor do script SQL............................................................................34Figura 13 OntoRel Login do Banco de Dados....................................................................35Figura 14 OntoRel Arquivo Global.owl selecionado .........................................................36Figura 15 Ontologia Global...................................................................................................37Figura 16 XML de Sada gerado pela OntoRel .....................................................................38Figura 17 Tela do editor com o script SQL gerado pela OntoRel .........................................39
-
7/28/2019 TG314 Tobias de Campos Andrade
9/172
LISTA DE ABREVIATURAS
DOMDocument Objetc Model
DTD Definio de Tipo de Documento
HTML Linguagem de Marcao de Hipertexto (HyperText Markup Language)
OWL Linguagem de Ontologia Web (Web Ontology Language)
SGBD Sistema de Gerenciamento de Banco de Dados
SGML Linguagem Padronizada de Marcao Genrica (Standard Generalized
Markup Language)
SQL Linguagem de Consulta Estruturada (Structured Query Language)W3C World Wide Web Consortium
XML Linguagem de Marcao Extensvel(eXtensible Markup Language)
XSD XML Schema Definition
-
7/28/2019 TG314 Tobias de Campos Andrade
10/172
SUMRIO
1 INTRODUO ..............................................................................................................111.1 Contextualizao ......................................................................................................11
1.2 Objetivos do Trabalho ..............................................................................................12
1.3 Estrutura do Texto ....................................................................................................13
2 FUNDAMENTAO TERICA.................................................................................142.1 XML .........................................................................................................................14
2.2 Armazenamento de Documentos XML em um Banco de Dados Relacional...........152.3 Integrao de Documentos XML .............................................................................16
2.4 Ontologias e OWL....................................................................................................18
2.5 Trabalhos Relacionados............................................................................................20
3 A FERRAMENTA ONTOGEN ....................................................................................233.1 Viso Geral ...............................................................................................................23
4 A FERRAMENTA ONTOREL.....................................................................................254.1 Viso Geral ...............................................................................................................25
4.2 Arquitetura................................................................................................................26
4.2.1 Tecnologias Utilizadas .....................................................................................274.3 Proposta de Gerao de Esquema Relacional...........................................................27
4.4 Funcionamento da Ferramenta .................................................................................29
4.5 OntoRel: Funcionalidades da Ferramenta ................................................................31
4.5.1 Procurar .owl ....................................................................................................324.5.2 Executar............................................................................................................33
4.6 Demonstrao da OntoRel ........................................................................................35
5 CONCLUSO.................................................................................................................415.1 Dificuldades Encontradas e Motivao ....................................................................41
5.2 Trabalhos Futuros .....................................................................................................42
REFERNCIAS BIBLIOGRFICAS .................................................................................43APNDICE A: Arquivos do Estudo de Caso .........................................................................46APNDICE B: Estudo de Caso 2 ...........................................................................................62
-
7/28/2019 TG314 Tobias de Campos Andrade
11/172
1
INTRODUO
1.1 Contextualizao
Devido popularizao da internet, a representao dos dados de forma a no
obedecer a um padro especfico de estruturao, ou at mesmo dados no estruturados, fez
com que surgisse um novo padro para a representao desses dados e para a troca de
informaes: a linguagem XML (eXtensible Markup Language) [W3C, 2010c]. XML est se
tornando um formato de dados popular. Da a importncia do armazenamento de arquivos
XML, que est totalmente relacionada com a crescente expanso da internet.
Existem basicamente trs formas para se armazenar dados XML. Uma delas o
armazenamento como um arquivo simples utilizando sistemas de arquivos convencionais.
Esta forma no garante isolamento de dados, atomicidade, acesso concorrente e segurana.
Outra forma usando um banco de dados nativo XML, que usa XML puro como modelo dedados bsico. Tambm possvel armazenar dados XML em um banco de dados relacional.
Para isso, uma das possveis formas mapear a estrutura do documento XML para uma
estrutura do banco de dados relacional (ou seja, para um conjunto de tabelas e colunas).
Como a heterogeneidade vem aumentando cada vez mais na representao de um
mesmo dado, tornando-se impraticvel criar, e ao mesmo tempo gerenciar, um mapeamento
para cada estrutura de dados. Por exemplo, uma empresa precisa analisar currculos de
pessoas da rea de Cincia da Computao, porm vindos de diferentes sites e/ou repositrios,o que provavelmente faz com que a estrutura de armazenamento desses currculos seja
diferente entre elas. Imagine que se tivesse cem fontes de currculos, ento teria que ser feito
cem mapeamentos diferentes, um pra cada fonte. Tal situao geraria uma dificuldade de
gerenciamento deste contexto.
A integrao de esquemas surge como uma alternativa para o problema da
heterogeneidade dos esquemas XML. Esses esquemas em geral representam conceitos, muitas
vezes idnticos ou similares, utilizando diferentes estruturas, nomenclaturas, tipo de dados e
semnticas. Neste contexto, o uso de ontologias como esquemas conceituais pode ser uma
alternativa interessante. Em geral, as ontologias so mais representativas que os esquemas
-
7/28/2019 TG314 Tobias de Campos Andrade
12/172
12
XML, pois elas deixam de fora as regras de domnio mais restritivas, como aquelas
relacionadas estrutura dos documentos, enfocando a semntica associada aos documentos
XML [MELLO, 2007].
No trabalho de [Mello Mrcio, 2007], previamente co-orientado pela professora Deise
Saccol, foi especificada e implementada uma ferramenta que recebe como entrada um
conjunto de esquemas e/ou documentos XML e gera como sada um modelo conceitual global
que representa a integrao dos esquemas desses documentos. O modelo conceitual global
representado atravs de uma ontologia. A ferramenta proposta denominada OntoGen Uma
Ferramenta para Integrao de Esquemas XML.
Neste trabalho, pretende-se dar continuidade ao trabalho j desenvolvido, propondo
uma abordagem para armazenamento dos documentos XML integrados em uma base dedados relacional. Para isso, faz-se o mapeamento de um esquema integrado (representado
como uma ontologia OWL) para um conjunto de tabelas, ou seja, para um banco de dados
relacional, a fim de que atravs desse conjunto de tabelas seja possvel a representao de
todos os dados de mesmo domnio, mas que inicialmente possuam estruturas heterogneas.
Posteriormente, os dados podem ser armazenados e acessados, usando SQL.
1.2 Objetivos do Trabalho
O objetivo geral deste trabalho definir uma proposta de gerao de um esquema
relacional a partir de arquivos XML previamente integrados, cujo esquema integrado
descrito por uma ontologia. Como objetivos especficos, podem ser citados:
- Estudar o modelo XML, de forma a compreender suas caractersticas;
- Estudar ontologias como forma de representao de esquemas integrados;
- Analisar a ferramenta OntoGen, utilizada como base para a proposta deste trabalho;
- Analisar a linguagem OWL para representao de ontologias;
- Propor regras de mapeamento do esquema integrado representado em OWL para o
modelo relacional;
- Implementar o mecanismo de mapeamento de ontologias OWL para modelorelacional, de forma a validar a proposta do trabalho;
-
7/28/2019 TG314 Tobias de Campos Andrade
13/172
13
- Realizar testes no software implementado.
1.3 Estrutura do Texto
Este trabalho est constitudo por cinco captulos. No segundo captulo apresentada
uma reviso da literatura necessria para o entendimento do contedo tcnico do texto. O
terceiro captulo descreve uma ferramenta de integrao de esquemas XML, a OntoGen,
utilizada como base para o trabalho proposto. No quarto captulo mostrado a ferramenta que
foi desenvolvida neste trabalho, citando sua arquitetura, as tecnologias utilizadas, a definio
das regras de transformao do esquema integrado para um esquema relacional
implementadas. Tambm se encontra informaes sobre o funcionamento interno da
ferramenta e um estudo de caso analisando as sadas que se obteve para ficar mais fcil a
visualizao das funcionalidades da OntoRel. E no quinto captulo apresenta a concluso, as
possveis melhoras e trabalhos futuros.
-
7/28/2019 TG314 Tobias de Campos Andrade
14/172
2 FUNDAMENTAO TERICA
Este captulo discute sobre XML, armazenamento de documentos XML em um Banco
de Dados Relacional, integrao de documentos XML, OWL e trabalhos relacionados.
2.1 XML
eXtensible Markup Language (XML) uma linguagem de marcao de documentos,
sendo criada em 1996 pelo W3C (World Wide Web Consortium), derivada da SGML
(Standard Generalized Markup Language). XML baseado em elementos, onde um elemento
um par de tags que indicam o incio e o fim de cada elemento. Toda tag de incio deve ter
sua respectiva tag de fim. Um texto est no contexto de um elemento se o texto estiver entre a
tag de incio e a tag de fim deste elemento. Sua finalidade, alm de ser uma linguagem de
marcao de documentos, a de ser aceita como um padro para representao, intercmbio e
manipulao de dados.
A Figura 1 mostra um exemplo de um documento XML. Neste documento, um aluno
possui como subelementos os conceitos nome, sobrenome e cidade.
Figura 1 Exemplo de um Documento XML
Uma das principais caractersticas da XML a sua flexibilidade, podendo o usurio
definir suas prprias tags e elementos, no perdendo a simplicidade e sendo parecida com a
HTML (HypeTtext Markup Language), o que facilita o seu uso na web. Mas a diferena da
XML que ela diz o que cada trecho de dados ou representa, ou seja, descreve o contedodo documento, como por exemplo, tags de ttulo, assunto, autor, contedo, datas, etc,
TobiasAndrade
Santa Maria
-
7/28/2019 TG314 Tobias de Campos Andrade
15/172
15
dependendo do contexto do documento. XML pode codificar o contedo, semntica e as
esquematizaes para uma grande variedade de aplicaes desde simples at as mais
complexas, como de um simples documento at um registro mais complexo de dados.
2.2 Armazenamento de Documentos XML em um Banco de Dados Relacional
A converso de dados XML para o formato relacional normalmente simples, se os
dados foram gerados a partir de um esquema relacional em primeiro lugar, e a XML foi
utilizada simplesmente como um formato de troca de dados para formatos relacionais. Porm,
existem muitas aplicaes em que os dados XML no so gerados a partir de esquema
relacional, e a traduo dos dados para o formato relacional pode no ser direta. Em
particular, os elementos aninhados e os elementos que se repetem complicam o
armazenamento de dados XML no formato relacional. Vrias tcnicas alternativas so
descritas a seguir.
Armazenar como string: Pequenos documentos XML podem ser armazenados como
valores de string (clob) em tuplas de um banco de dados relacional. Grandes documentos com
o elemento de nvel superior possuindo muitos filhos podem ser tratados pelo armazenamento
de cada elemento filho como uma string em uma tupla separada. Embora essa representao
seja fcil de usar, o sistema de banco de dados no conhece o esquema dos elementos
armazenados. Como resultado, no possvel consultar os dados diretamente. Na verdade,
nem sequer possvel implementar selees simples, como encontrar determinada tupla, sem
percorrer todas as tuplas da relao e examinar o contedo da string. Uma soluo parcial
para esse problema seria armazenar diferentes tipos de elementos em diferentes relaes, e
tambm armazenar os valores de alguns elementos crticos como atributos da relao para
ativar a indexao.
Representao de rvore: Dados XML podem ser modelados como uma rvore e
armazenados usando um par de relaes: ns (id, tipo,rtulo, valor) e filho (id_filho, id_pai).
Cada elemento e atributo nos dados XML recebe um identificador exclusivo. Um tupla
inserida na relao ns para cada elemento e atributo com seu identificador (id), seu tipo(atributo ou elemento), o nome do elemento ou atributo (rtulo) e o valor de texto do
-
7/28/2019 TG314 Tobias de Campos Andrade
16/172
16
elemento ou atributo (valor). A relao filho usada para registrar o elemento pai de cada
elemento e atributo. Se a informao de ordem dos elementos e atributos tiver de ser
preservada, umaposio de atributo extra pode ser acrescentada relaofilho para indicar a
posio relativa do filho entre os filhos do pai.
Mapa de relaes: nessa tcnica, os elementos XML cujo esquema conhecido so
mapeados para relaes e atributos. Os elementos cujo esquema desconhecido so
armazenados como strings ou como uma rvore. Uma relao criada para cada tipo de
elemento (incluindo subelementos) cujo esquema conhecido e cujo tipo um tipo complexo
(ou seja, contm atributos e subelementos). Os atributos so definidos da seguinte maneira:
Todos os atributos desses elementos so armazenados como atributos com valor de
string da relao.Se um subelemento do elemento for um tipo simples (no possui atributos ou
subelementos), um atributo acrescentado relao para representar o subelemento. O tipo
atributo da relao , como padro, um valor de string, mas, se o subelemento tiver um tipo
XSD (XML Schema Definition), um tipo SQL (Structured Query Language) correspondente
poder ser usado.
Caso contrrio, uma relao criada correspondendo ao subelemento (usando as
mesmas regras recursivamente em seus subelementos). Alm do mais, um atributo acrescentado s relaes representado o elemento, um atributo id_pai acrescentado relao
representando o subelemento, armazenando o identificador de seu elemento pai e se a
ordenao tiver de ser preservada, um atributoposio acrescentado relao representando
o subelemento.
2.3 Integrao de Documentos XML
Para aplicaes que se beneficiam dos esquemas dos documentos XML, o ideal seria
que estes estivessem de acordo um nico esquema especfico. Normalmente isso no ocorre.
comum a existncia de documentos XML relacionados a um esquema prprio ou ainda sem
nenhuma relao. Para o primeiro caso, a integrao de esquemas relacionados a um domnio
especfico pode ser uma sada satisfatria [SACCOL, 2005].
A integrao de esquemas XML consiste em gerar um esquema XML integrado apartir de vrios esquemas XML diferentes, relativos ao mesmo domnio de aplicao. O
-
7/28/2019 TG314 Tobias de Campos Andrade
17/172
17
problema que devido heterogeneidade dos esquemas XML, um dado de certo domnio
pode ser representado de vrias maneiras diferentes, variando na nomenclatura, semntica e
tipo de dados.
O processo de integrao de esquemas bem complexo, pois normalmente a
semntica dos esquemas no est formalmente documentada. Por isso, grande parte das
ferramentas para integrao de esquemas semi-automtica: em sua maioria, elas sugerem
conceitos que aparentemente podem ser integrados, cabendo ao usurio aceitar, ignorar ou
ainda realizar modificaes na integrao sugerida pela ferramenta [RAHM, 2001].
O processo de integrao de esquemas pode ser realizado em quatro fases distintas,
detalhadas a seguir.
Pr-integrao: Esta fase responsvel pela anlise dos diversos esquemas locais antes
da integrao propriamente dita. Nesta fase, so definidos os esquemas a serem integrados, a
ordem de integrao, a quantidade de interveno do usurio especialista do domnio, nmero
de esquemas a serem integrados por vez e outras estratgias globais do processo de
integrao.
Comparao de Esquemas: A etapa responsvel por analisar e comparar os esquemasde entrada, a fim de identificar possveis correspondncias e os conflitos existentes que
podem ocorrer no processo de integrao devido heterogeneidade desses esquemas. Estas
correspondncias e conflitos entre conceitos devem ser devidamente especificados para que
na etapa posterior a unificao desses conceitos possa ser realizada. Batini (1986) classificou
os possveis conflitos que podem ocorrer entre os conceitos que so: conflitos de
nomenclatura que se referem inconsistncia de nomes nos esquemas locais e por sua vez se
classificam em conflitos de homonmia e conflitos de sinonmia, e os conflitos estruturais quese referem aos conflitos resultantes de diferentes escolhas de construtores de modelagem ou
restries de integridade e se classificam como conflitos de tipo, conflitos de dependncia,
conflitos de chave identificadora e conflitos comportamentais.
Unificao de Esquemas: Esta fase responsvel pela soluo de conflitos detectados
na fase de comparao, a fim de tornar compatveis os esquemas a serem integrados e
possibilitar a execuo da prxima fase (Merging e Reestruturao). Nem sempre esta
unificao de esquemas pode ser feita de forma automtica, muitas vezes a ajuda de um
especialista torna-se necessria, pois preciso entender a semntica dos conceitos envolvidos
-
7/28/2019 TG314 Tobias de Campos Andrade
18/172
18
no conflito. So utilizadas nessa fase transformaes de tipos, renomeao de nomes e
reestruturao de elementos, para resolver os conflitos.
Merging e Reestruturao: Responsvel pela integrao propriamente dita e pela
reestruturao dos esquemas intermedirios gerados. Os esquemas intermedirios gerados so
analisados e, se necessrio, reestruturados, a fim de atingir alguns critrios de qualidade
desejveis, como [BATINI, 1986]:
Completude e Correo - o esquema integrado deve conter todos os conceitos
presentes nos esquemas de entrada;
Minimalidade - se um mesmo conceito est presente em mais de um esquemas de
entrada, ento ele deve estar presente uma nica vez no esquema integrado;Compreensibilidade - o esquema integrado deve ser de fcil compreenso para os
projetistas e usurios. Por isso, deve-se sempre que possvel escolher as formas mais claras e
simples de representao.
2.4 Ontologias e OWL
De uma forma geral, uma ontologia um meio de descrever um domnio qualquer,
atravs dos seus conceitos e relacionamentos entre conceitos, de um modo formal, a fim de
que possa ser utilizada por agentes de software [GRUBER, 1992].
Uma ontologia fornece uma compreenso comum e compartilhada de algum domnio
que pode ser comunicada entre pessoas e computadores, apresentando os conceitos desse
domnio e as relaes entre eles. A Figura 2 mostra um exemplo de uma ontologia.
Uma das linguagens para descrever ontologias a linguagem OWL [W3C, 2005], e
escrita em XML. OWL considerada uma linguagem poderosa devido sua grande
expressividade na representao de classes e suas respectivas propriedades e seus
relacionamentos. Devido ser escrita em XML, a OWL no possui nenhuma dependncia de
plataforma ou de sistema operacional, por isso vem pode ser facilmente utilizada na web para
troca de informaes. Por ter sido projetada para ser lida por aplicaes computacionais,
algumas vezes considera-se que a linguagem no possa ser facilmente lida por humanos.A OWL dividida em trs sub-linguagens:
-
7/28/2019 TG314 Tobias de Campos Andrade
19/172
19
OWL Lite prov uma hierarquia de classificao primria e restries simples. Por
exemplo, restries de cardinalidade so permitidas, mas s permite que os valores de sejam 0
ou 1;
OWL DL inclui todas as construes da linguagem OWL com restries. Um
exemplo de uma restrio da OWL DL a separao de tipos, que no permite que uma
classe seja tambm um indivduo ou uma propriedade, uma propriedade no pode ser um
indivduo ou uma classe. A OWL DL prov o mximo de expressividade sem perda da
completude computacional (existe uma garantia de que todas as implicaes so computadas)
e decibilidade dos sistemas de inferncia (todas as computaes terminam em tempo finito);
OWL Full prov o mximo e expressividade e liberdade sinttica da RDF, mas sem
garantias computacionais. Uma classe poderia ser tratada simultaneamente como uma coleode indivduos e como um indivduo somente, por exemplo. A OWL Full permite tambm
aumentar o significado do vocabulrio OWL pr-definido.
Ao adotar a linguagem OWL para representao de ontologias, deve-se fazer a escolha
baseada nas necessidades que se tem. A escolha entre a OWL Lite e OWL DL pode ser feita
considerando o nvel de expressividade que necessrio. J a escolha entre OWL DL e OWL
Full pode ser feita de acordo com a necessidade de compatibilidade com a RDF e a utilizao
de capacidades de inferncia. Para propsitos de representao de esquemas e domnios, alinguagem mais adequada a OWL DL, pois ela prov uma considervel expressividade,
incluindo todas as construes da linguagem OWL[MELLO, 2007]. Devido a essa anlise na
OntoGen se utiliza a linguagem OWL DL e que conseqentemente utilizada tambm na
OntoRel.
-
7/28/2019 TG314 Tobias de Campos Andrade
20/172
20
Figura 2 - Exemplo de ontologia [SACCOL, 2006].
A seguir, so descritos alguns trabalhos relacionados que tratam do armazenamento de
documentos XML em Bancos de Dados Relacionais.
2.5 Trabalhos Relacionados
Conforme j discutido no Captulo 1, existem vrias opes de armazenar dados
XML: armazenamento como strings, representao de rvores e mapa de relaes. Na tcnica
de mapa de relaes, os elementos so mapeados para relaes e atributos. H diversas formas
e trabalhos relacionados que conduzem este mapeamento de formato XML para o modelo
relacional. Nesta abordagem, pode-se adotar: (a) o mapeamento direto de documentos XML;
(b) o mapeamento de DTDs (Document Type Definition); (c) o mapeamento de XML
-
7/28/2019 TG314 Tobias de Campos Andrade
21/172
21
Schemas; (d) e o mapeamento de ontologias que descrevem os documentos XML, conforme
descrito a seguir.
Na primeira tcnica (a), pode-se mapear diretamente os documentos XML para um
esquema relacional. Daniela Florescu em Storing and Querying XML Data using RDMBS
relata seis possveis abordagens. Para simplificar ela sugere que um documento XML seja
representado como um grafo dirigido e cada elemento do documento XML seja representado
por um n. As relaes elemento-subelemento so representadas por arestas no grafo e
rotuladas com o nome do subelemento. Elementos atmicos, tais como elementos do tipo
integer, string, etc, so representados como folhas no grafo. As seis abordagens de Florescu
se dividem em trs formas para armazenar as arestas do grafo e duas formas para armazenar
as folhas (valores) do grafo, resultando em seis esquemas diferentes de mapeamento.A segunda tcnica (b) objetiva mapear a DTD para um conjunto de tabelas. Desta
forma, todos os documentos XML que so vlidos por esta DTD podem ser armazenados no
conjunto de tabelas gerado pelo mapeamento. O artigo de Ronald Bourret sugere uma
abordagem de mapeamento de DTDs para banco de dados relacionais. Neste artigo, so
propostas duas formas de mapeamentos: mapeamento baseado em tabelas e mapeamento
baseado em objetos. Na primeira forma, a DTD gera uma nica tabela ou um conjunto de
tabelas, dependendo das regras de transformao adotadas. Na segunda forma, a idia bsica que primeiramente se mapeie a DTD para um esquema de objetos e posteriormente seja
mapeado este esquema de objetos para um esquema relacional no banco de dados. O
mapeamento comea pelo reconhecimento de tipos simples, ou seja, elementos cujo contedo
pode ser representado direto no computador, como por exemplo, uma string. Depois
reconhece os tipos complexos, ou seja, elementos cujo contedo possui atributos, esses
elementos so equivalentes as classes em programao orientada a objeto. Quando montadas
as classes, mapeia-as para tabelas e colunas no banco de dados relacional.Documentos XML opcionalmente possuem esquemas representados como XML
Schemas. Desta forma, pode-se mapear o XML Schema para um esquema relacional (c). No
artigo de Alberto Laender prope-se um algoritmo para mapeamento de definies XML
Schema para o padro SQL:1999. Para que isso seja possvel, apresentado um algoritmo de
mapeamento de definies XML Schema para SQL que se fundamenta em levantamentos
estatsticos realizados sobre uma coleo de XSDs obtidas da Web. Esse algoritmo de
mapeamento considera as principais construes propostas pelo padro XML Schema.
Questes fundamentais como a ordem e a cardinalidade dos elementos so tratadas. A
-
7/28/2019 TG314 Tobias de Campos Andrade
22/172
22
abordagem utilizada totalmente automtica, no requerendo a interveno do usurio em
nenhum momento de sua execuo.
Finalmente, a quarta forma de armazenamento de documentos XML consiste em
mapear a ontologia que descreve o documento XML para um modelo relacional (d). No
trabalho de Zhang et al e Vysniauskas et al so propostos mapeamentos de OWL para bancos
de dados relacionais. O primeiro definiu onze regras de mapeamento para atingir todos os
elementos de um documento OWL. J o segundo definiu um algoritmo especfico para a
transformao das classes, outro para transformao das propriedades, outro para
transformao das propriedades de tipos de dados e outro para transformao das restries.
Neste trabalho, adota-se a abordagem de mapeamento da ontologia para um esquema
relacional. Desta forma, diversos documentos XML com estruturas diferentes, mas descritospor uma mesma ontologia, podem ser mapeados e armazenados em uma mesma coleo de
tabelas no Banco de Dados Relacional. Como adotamos como artefato de entrada as
ontologias geradas pela ferramenta OntoGen (que representam esquemas integrados de
documentos XML de um certo domnio de aplicao), precisamos definir regras de
mapeamento para um subconjunto dos elementos OWL, uma vez que uma srie de
construes OWL permitidas no so interessantes para nossa aplicao. Desta forma, o
mapeamento se torna mais simples e enxuto, preocupando-se em mapear apenas os conceitose relaes pertinentes ao domnio de aplicao. Alm disso, o presente trabalho d
continuidade a um projeto maior atualmente em desenvolvimento pelo grupo, o qual trata da
integrao de documentos XML.
A seguir, descrita a ferramenta OntoGen, a qual foi desenvolvida em um trabalho
prvio co-orientado pela professora. Deise Saccol. Esta ferramenta gera como sada uma
ontologia OWL correspondente integrao dos esquemas de diversos documentos XML de
um mesmo domnio de aplicao. A ontologia integrada o artefato de entrada da proposta docorrente trabalho, a fim de que se faa a gerao do esquema relacional.
-
7/28/2019 TG314 Tobias de Campos Andrade
23/172
3 A FERRAMENTA ONTOGEN
Este captulo tem como objetivo fazer uma breve descrio da ferramenta de
integrao de documentos XML a OntoGen, que foi desenvolvida pelo acadmico Mrcio
Roberto de Mello, como Trabalho de Graduao do curso de Cincia da Computao da
Universidade Federal do Rio Grande do Sul em novembro de 2007. Ser descrita a abordagem
de integrao que foi implementada.
3.1
Viso Geral
O objetivo geral da ferramenta OntoGen a integrao de esquemas XML, gerando ao
final do processo uma ontologia que represente os esquemas integrados. Basicamente, a
ferramenta recebe com entrada dois ou mais esquemas (representados em XML Schema) ou
documentos XML, pertencentes ao mesmo domnio. E por fim gera uma ontologia que
represente a integrao dos esquemas XML de entrada, representada atravs da linguagem
OWL DL.
O processo de integrao de esquemas, implementado na ferramenta OntoGen, est
detalhado na Figura 3.
O mdulo de converso do XSD responsvel pela converso de cada esquema XML
em modelos conceituais cannicos. Para est converso, Mrcio R. de Mello utilizou uma
ferramenta desenvolvida por outro acadmico da Universidade Federal de Santa Catarina,
essa ferramenta foi incorporada a ferramenta OntoGen, sofrendo algumas modificaes.
A etapa de integrao semntica responsvel pela integrao das ontologias geradasna etapa de converso do XSD. Na integrao semntica so aplicadas as regras de
unificao, para que seja gerada ao final do processo uma nica ontologia, no mesmo formato
das ontologias geradas anteriormente. Essa ontologia deve representar todas as ontologias de
entrada e ser considerada a ontologia global, objeto de sada da ferramenta.
-
7/28/2019 TG314 Tobias de Campos Andrade
24/172
24
Figura 3 Processo de Integrao de Esquemas
Esta ontologia global, gerada pela OntoGen, o artefato de entrada para o mecanismo
proposto neste trabalho, descrito a seguir.
-
7/28/2019 TG314 Tobias de Campos Andrade
25/172
4 A FERRAMENTA ONTOREL
Este captulo descreve a ferramenta para mapeamento de ontologias OWL DL
(geradas pela ferramenta OntoGen) para banco de dados relacionais, denominada OntoRel.
4.1 Viso Geral
A ferramenta OntoRel recebe uma ontologia OWL DL, gerada pela OntoGen. Estaontologia representa o esquema integrado de vrios documentos XML de um mesmo domnio
de aplicao (mas inicialmente descritos por individuais - DTD ouXML Schema - diferentes).
Atravs de um conjunto de regras de mapeamento, esta ontologia mapeada para um
conjunto de tabelas, de forma a possibilitar o posterior armazenamento de documentos XML
descritos por esta ontologia em uma base de dados relacional.
A Figura 4 mostra as principais etapas do mecanismo proposto neste trabalho. Na
primeira etapa a OntoRel recebe como entrada a ontologia, que repassada para a prximaetapa gerando os objetos do tipo ConceitoNoLxico1, ConceitoLxico2 eRelacionamento. Na
terceira etapa aplicam-se as regras de transformao e armazenam-se as informaes em
objetos do tipo Tabela. Na quarta etapa tendo todas essas informaes, construdo o arquivo
XML de sada e o script SQL que pode ser editado e eventualmente executado direto no
banco de dados.
1 Um conceito no lxico refere-se a objetos que no tm representao direta em computador (objetos
complexos).
2 Um conceito lxico um objeto que representvel diretamente em computador, atravs de cadeias de bits(nmeros, cadeias de caracteres, etc).
-
7/28/2019 TG314 Tobias de Campos Andrade
26/172
26
Figura 4 Abordagem proposta na OntoRel
4.2 Arquitetura
O objetivo geral da ferramenta OntoRel o mapeamento de esquemas XML
integrados para banco de dados relacional, gerando ao final do processo um modelo relacional
capaz de representar o esquema global de entrada.
Entrada uma ontologia (representada na linguagem OWL DL) originada pela sada
da ferramenta OntoGen;
Sada dois tipos de sada, uma um arquivo XML contendo o esquema das tabelas
que representam o arquivo de entrada e outra o script SQL que poder ser salvo em um
arquivo .sql ou ser executado diretamente no banco de dados.
-
7/28/2019 TG314 Tobias de Campos Andrade
27/172
27
4.2.1 Tecnologias Utilizadas
As tecnologias e ferramentas utilizadas na implementao da ferramenta OntoRelforam as seguintes:
Linguagem de Programao Java 1.6;
Ambiente de Desenvolvimento (IDE) NetBeans 6.9.1;
Ferramenta OntoGen uma ferramenta para integrao de esquemas XML;
Biblioteca DOM uma API para navegar e modificar documentos XML, ela
disponibiliza uma srie de funes para percorrer e editar esses documentos;
Biblioteca XStream uma API utilizada para gerar arquivos XML contendoinformaes de objetos ou ainda salvar em objetos informaes de arquivos XML, disponvel
em http://xstream.codehaus.org/download.html ;
Biblioteca JDBC uma API Java utilizada para conectar a aplicao ao banco de
dados.
4.3 Proposta de Gerao de Esquema Relacional
Para gerao de um esquema relacional a partir de documentos XML integrados,
foram definidas as seguintes regras de transformao:
Conceito No Lxico: mapeado para uma tabela. A tabela recebe o nome do conceito
e criada uma chave primria com o nome de cod_ mais o nome da tabela. Por exemplo, se o
nome da tabela for writera chave primria criada ser cod_writer, como mostra a Figura 5.
-
7/28/2019 TG314 Tobias de Campos Andrade
28/172
28
Figura 5 Conceito No Lxico
Conceitos lxicos: so mapeados para colunas da tabela correspondente ao conceitono lxico a que pertence. Ou seja, os relacionamentos que associam um conceito no lxico e
um conceito lxico determinam que a tabela gerada para o conceito no lxico recebe uma
coluna com o nome e tipo do conceito lxico associado. Por exemplo, um conceito no lxico
writer que possui um relacionamento para um conceito lxico name, na tabela writer ser
adicionada uma coluna name do mesmo tipo do respectivo conceito lxico, como mostra a
Figura 6;
Figura 6 Conceito Lxico
No relacionamento a cardinalidade direta dir se a coluna obrigatria (not null) ou
no. Por exemplo, se contiver (1, X) e X sendo 1 ou N, a coluna not null;
Nos relacionamentos que possuem origem e destino ambos em conceitos no lxicos,
so analisadas as cardinalidades diretas e inversas, a Figura 7 mostra a aplicao das seguintes
regras:
Se for (1 para 1) ou (1 para N) criada uma chave estrangeira que referencia a tabela
origem com o nome da chave primria dela na tabela destino;
Se for (N para 1) criada uma chave estrangeira que referencia a tabela destino com onome da chave primria dela na tabela origem;
-
7/28/2019 TG314 Tobias de Campos Andrade
29/172
29
Se for (N para N) criada uma nova tabela com o nome do relacionamento, a qual
possui como nome a concatenao dos dois conceitos. Essa tabela contm uma chave primria
composta pela coluna com o mesmo nome e tipo da chave primria da tabela de origem e pela
coluna com o mesmo nome e tipo da chave primria da tabela de destino.
Figura 7 Relacionamento entre conceitos no lxicos
4.4 Funcionamento da Ferramenta
A ferramenta percorre todos os elementos pertencentes ao documento de entrada,
mapeando-os para objetos tais como: ConceitoLexico, ConceitoNaoLexico e Relacionamento,
que so mostrados na Figura 8. O primeiro refere-se aos conceitos lxicos, o segundo aconceitos no lxicos e o ltimo a relacionamentos entre os conceitos.
-
7/28/2019 TG314 Tobias de Campos Andrade
30/172
30
Figura 8 Diagrama de Classe dos Objetos ConceitoNaoLexico, Relacionamento e ConceitoLexico
Nos conceitos lxicos, armazenado o nome do conceito e seu tipo (string, integer...).
Nos conceitos no lxicos, armazenado apenas o seu nome. Nos relacionamentos
armazenado o seu nome, a origem (que o conceito de origem do relacionamento), o destino
(que o conceito de destino do relacionamento), a cardinalidade direta e a cardinalidade
inversa do relacionamento.
Depois de armazenar as informaes do arquivo de entrada em objetos, a ferramentaanalisa esses objetos e aplica as regras de transformao para modelo relacional, que faro as
informaes deles serem representadas em objetos do tipo Tabela. Nesses objetos so
armazenadas informaes como: nome da tabela; colunas, que tambm um objeto e que por
sua vez armazena o nome da coluna, tipo (string, integer...) e se ela obrigatria ou no;
RestriesDasTabelas que outro objeto que guarda, como por exemplo, a chave primria da
tabela e as chaves estrangeiras, mostrado na Figura 9.
-
7/28/2019 TG314 Tobias de Campos Andrade
31/172
31
Figura 9 Diagrama de Classe dos objetos Tabela, RestricoesDasTabelas e Coluna
Como sada, a ferramenta contar com dois tipos de arquivos: um .xml com o esquema
das tabelas que representam o arquivo de entrada; e outro .sql, que ir conter todo o cdigo de
criao das tabelas, este podendo ser editado na prpria interface da OntoRel, salvado e ou
ainda, poder ser rodado direto no banco de dados relacionais. Para efeito de testes, o script
foi executado no PostgreSQL.
4.5 OntoRel: Funcionalidades da Ferramenta
Nesta seo so apresentadas as principais funcionalidades da ferramenta de
integrao de esquemas OntoRel, com o objetivo de explicar seu funcionamento.
-
7/28/2019 TG314 Tobias de Campos Andrade
32/172
32
A Figura 10 mostra a tela inicial da ferramenta. A partir dela o usurio tem acesso s
seguintes funcionalidades:
Procurar .owl;
Executar.
Figura 10 OntoRel Tela inicial
4.5.1 Procurar .owl
Esta a funcionalidade para que o usurio possa escolher o arquivo de entrada da
ferramenta, este arquivo deve ser uma ontologia .owl gerada pela OntoGen. O evento
disparado por este boto Procurar .owl abre uma janela para a busca do arquivo, conforme
mostrado na Figura 11.
-
7/28/2019 TG314 Tobias de Campos Andrade
33/172
33
Figura 11 OntoRel - Janela para escolha de arquivo
4.5.2 Executar
O boto Executar inicia o processo de transformao do esquema global para
modelo relacional. E a prxima tela igual a da Figura 11s que desta vez para salvar o
arquivo .xml que contm informaes sobre o modelo relacional gerado pela OntoRel e que
uma das sadas da ferramenta. Aps salvar este arquivo no local desejado, a prxima tela a
aparecer um editor que conter o script SQL sugerido pela ferramenta , conforme mostrado
na Figura 12.
-
7/28/2019 TG314 Tobias de Campos Andrade
34/172
34
Figura 12 OntoRel Editor do script SQL
No editor mostrado na Figura 12, o usurio poder fazer as alteraes que ele quiser
no scriptSQL gerado pela OntoRel e, alm disso ter as seguintes opes:
Salvar SQL;
Executar no BD;
Salvar e Executar no BD;
Cancelar.
4.5.2.1
Salvar SQL
Clicando no boto Salvar SQL ir surgir uma tela igual tela da Figura 11 s que
serve para o usurio selecionar o local onde ser salvo o arquivo .sql e digitar o nome do
arquivo a ser salvo.
-
7/28/2019 TG314 Tobias de Campos Andrade
35/172
35
4.5.2.1 Executar no BDO objetivo desta funo possibilitar o usurio executar o script SQL direto no banco
de dados. Para efeitos de testes, o banco usado o PostgreSQL. Aps clicar em Executar noBD ir aparecer uma tela de login, Figura 13, onde os campos IP do BD, Nome do BD,
Usurio e Senha devero ser preenchidos conforme as configuraes do banco de dados,
onde se deseja executar o script, e clique em Executar no BD da tela de login para a
execuo da consulta.
Figura 13 OntoRel Login do Banco de Dados
4.5.2.3 Salvar e Executar no BD
Este boto faz com que logo aps o usurio salvar o script SQL em um arquivo .sql j
v direto para a tela de login do banco de dados para tambm execut-lo no banco de dados.
4.6 Demonstrao da OntoRel
Como demonstrao das funcionalidades implementadas, ser apresentado um estudo
de caso detalhando o processo de transformao para modelo relacional de um esquema
global.
Para melhor entendimento e visualizao dos resultados, esta seo apresentar os
arquivos de entrada e os arquivos gerados pela ferramenta utilizando representaes grficas.
-
7/28/2019 TG314 Tobias de Campos Andrade
36/172
36
Para dar incio a demonstrao, com o arquivo Global.owl selecionado, como na
Figura 14, podemos clicar em Executar e dar incio a ferramenta.
Figura 14 OntoRel Arquivo Global.owl selecionado
A Figura 15 mostra uma ontologia que possui quatro conceitos no lxicos,
conference, institution, writere paper, e nove conceitos lxicos, code, age, name, e_mail,
title, city, state, day e departmente os relacionamentos entre eles.
O primeiro passo da ferramenta percorrer a ontologia extraindo as informaes para
os objetos do tipo ConceitoNaoLexico, ConceitoLexico e Relacionamento. Aps a extrao
dessas informaes do arquivo de entrada, aplicada as regras de transformao que geraro
outros objetos do tipo Tabela que possuem Coluna e RestricoesDasTabelas, comovimos nassees anteriores. Depois de aplicadas as regras gera-se o arquivo.xml de sada mostrado na
Figura 16 e o documento propriamente dito est no Apndice A.
Observando a Figura 16 vemos que ela composta por elementos tabela e seus
subelementos, como: nome (nome da tabela); colunas que possui subelementos coluna que
por sua vez possui um nome (nome da coluna), um tipo (integer, string...) e notNull (se a
coluna obrigatria ou no); restricoes que possui subelementos restricao, esses
subelementos possuem um tipo (primary_key, primary_key_composedou foreign_key), umacoluna (coluna que receber a restrio) e se for do tipo foreign_key tem uma references (que
diz o nome da tabela referenciada).
-
7/28/2019 TG314 Tobias de Campos Andrade
37/172
37
Figura 15 Ontologia Global
-
7/28/2019 TG314 Tobias de Campos Andrade
38/172
38
Figura 16 XML de Sada gerado pela OntoRel
-
7/28/2019 TG314 Tobias de Campos Andrade
39/172
39
O arquivo .sql de sada mostrado na interface da OntoRel, Figura 17, o qual pode ser
alterado pelo usurio.
Figura 17 Tela do editor com o script SQL gerado pela OntoRel
Podemos visualizar melhor o script SQL completo no Apndice A no final do
trabalho.
No script SQL, o tipo string que aparece no documento XML
(string) convertido para um varchar (50).
Comparando a ontologia global da Figura 15 com o scriptSQL do apndice, podemos
notar que os quatro conceitos no lxicos paper, conference, institution e writertransformaram-se em tabelas de mesmo nome e cada uma com sua chave primria formada
por cod_+nomedatabela . J os nove conceitos lxicos day, state, department, city,
title,e_mail, code, age e name se transformaram em colunas de mesmo tipo e nome nas
tabelas que contm o relacionamento para eles. Tambm notamos que houve a gerao de
duas tabelas parte dos conceitos no lxicos a conferencepaper e apaperwriterque foram
criadas devido existncia de relacionamentos N para N de conference parapapere depaper
para writer. Neste caso as tabelas recebem uma chave primria composta pelas chavesprimrias da tabela de origem e da tabela de destino, ento ficaria a conferencepaper com
cod_conference e cod_papere apaperwritercom cod_papere cod_writer.
-
7/28/2019 TG314 Tobias de Campos Andrade
40/172
40
Este script ento executado no banco, criando desta forma um conjunto de tabelas
que possibilitaro, futuramente, o armazenamento e o acesso dos dados advindos dos diversos
documentos XML utilizados na entrada da ferramenta OntoGen para a gerao do esquema
integrado (ontologia OWL).
No foram realizados muitos testes de desempenho, mas testando com um arquivo
OWL com 638 linhas, que este estudo de caso, a OntoRel levou 2 segundos para gerar o
modelo relacional. Outro estudo de caso mostrado no Apndice B com um arquivo OWL de
4145 linhas que a OntoRel levou 4 segundos para gerar o modelo relacional. Ento, se observa
um bom desempenho na OntoRel, pois com um arquivo pequeno ela leva 2 segundos e com
outro que mais de cinco vezes maior ela leva na pior das hipteses o dobro de tempo para
gerar o modelo relacional.
-
7/28/2019 TG314 Tobias de Campos Andrade
41/172
5 CONCLUSO
Este trabalho apresentou a OntoRel, uma ferramenta capaz de realizar o mapeamento
de um esquema XML integrado (descrito por uma ontologia) para banco de dados relacionais.
A ferramenta recebe como artefato de entrada uma ontologia OWL DL, gerada pela OntoGen,
e produz na sada um modelo relacional representado como documento XML e como script
SQL.Como foi apresentado no estudo de caso, o modelo relacional gerado pela ferramenta
capaz de representar o esquema global de entrada (ontologia .owl gerada pela OntoGen). Por
estas razes, considera-se que o objetivo do trabalho foi alcanado: mapear um esquema
XML integrado para banco de dados relacional. A abordagem utilizada na ferramenta OntoRel
para transformao do esquema global em modelo relacional foi baseada nos atributos da
ontologia de entrada.
Para representar o modelo relacional de sada foram utilizados dois tipos de sada, o
documento XML e o script SQL, pois para determinadas aplicaes uma pode ser mais
interessante que a outra.
5.1 Dificuldades Encontradas e Motivao
No decorrer do desenvolvimento deste trabalho vrias barreiras foram vencidas commuita garra e dedicao, barreiras essas que fazem o nosso conhecimento intelectual crescer
cada vez mais, pois me deparei com tecnologias e conceitos nunca antes estudados durante a
graduao. Para conseguir atingir o objetivo que era o sucesso deste trabalho tive que me
dedicar muito, estudando sobre a linguagem XML, o armazenamento de dados XML,
integrao de dados XML e ontologias OWL. Depois de todo esse estudo tcnico e com o
uma viso mais crtica sobre o assunto, comecei a parte de implementao que inicialmente
parecia impossvel mas se tornou prazerosa e foi fluindo muito bem.
A motivao toda e o prazer pelo que eu estava fazendo, que este trabalho sobre
um assunto atual e til, ou seja, estava desenvolvendo um trabalho que deixar uma
-
7/28/2019 TG314 Tobias de Campos Andrade
42/172
42
contribuio para as pessoas. E tambm dando continuidade a outro trabalho que foi a
OntoGen. Espero que o mesmo acontea com este, que no fique apenas guardado e que sirva
de motivao para outros trabalhos relacionados, j que este assim como a OntoGen obteve
sucesso.
5.2 Trabalhos Futuros
No decorrer do desenvolvimento deste trabalho, foram observadas algumas limitaes
e algumas melhorias que poderiam ser feitas na implementao final da ferramenta OntoRel.
Observou-se que seria vantajoso se a ferramenta tivesse um ValidadorDaOntologia , que
retornaria verdadeiro se a ontologia de entrada fosse vlida, ou seja, se ela foi realmente
gerada pela OntoGen. Tambm pretende-se num trabalho futuro desenvolver uma outra
aplicao que receba como entrada os documentos XML que foram utilizados na entrada da
OntoGen, a fim de armazen-los no banco gerado.
-
7/28/2019 TG314 Tobias de Campos Andrade
43/172
REFERNCIAS BIBLIOGRFICAS
BATINI, C.; LENZERINI, M. A Comparative Analysis of Methodologies for DatabaseSchema Integration. ACM Comput. Survey, ACM Press, v.18, n.4, p. 323-364, 1986. ISSN0360-0300.
BOURRET, R. Mapping DTDs to Databases. Disponvel em:. Acesso em 23 de novembro de 2010.
EMBLEY, D. Ontology-Based Extraction and Structuring of Information from Data-Rich Unstructured Documents. In: INTERNATIONAL CONFERENCE ONINFORMATION AND KNOWLEDGE MANAGEMENT, 1998, Bethesda, US.Proceedings... Bethesda: [s.n.], 1998. p. 52-59.
FLORESCU, D. Storing and Querying XML Data using an RDMBS, 1999. Disponvelem:.Acesso em 25 de outubro de 2010.
GRUBER, T.R. Toward principles for the design of ontologies used for knowledge sharing.In Formal Ontology in Conceptual Analysis and Knowledge Representation, Padova Italy,1992.
GUJ. Parseando XML com DOM. Disponvel em:. Acesso em 25 de outubro de 2010.
LAENDER, A.H.F.; MARTINS P. Mapeamento de Definies de XML Schema paraSQL:1999. In: 20 SIMPSIO BRASILEIRO DE BANCO DE DADOS, 2005, BeloHorizonte, MG, Brasil.
MELLO, M. OntoGen: Uma Ferramenta para Integrao de Esquemas XML, 2007. Trabalhode Graduao. Programa de Graduao em Cincia da Computao Instituto de Informtica,Universidade Federal de Santa Catarina, Florianpolis.
-
7/28/2019 TG314 Tobias de Campos Andrade
44/172
44
MELLO, R.S. Uma abordagem bottom-up para integrao semntica de esquemasXML, 2002. Tese (doutorado em cincia da computao). Programa de Ps-Graduao emComputao Instituto de Informtica, Universidade Federal do Rio Grande do Sul, PortoAlegre.
RAHN, E.; BERNSTEIN, P.A. Matching Schemas Automatically, 2001. Disponvel em:. Acesso em: 25 de outubro de2010.
SACCOL, D. Integrao de Esquemas em Fontes Heterogneas XML, 2005. Programa dePs-Graduao em Computao Instituto de Informtica, Universidade Federal do RioGrande do Sul, Porto Alegre.
SACCOL, D. Deteco e Representao de Documentos XML Replicados e Versionadosem um ambiente Peer-to-Peer, 2006. Programa de Ps-Graduao em Computao Instituto de Informtica, Universidade Federal do Rio Grande do Sul, Porto Alegre.
SILBERSCHATZ, A. Livro: Sistemas de Banco de Dados, 2006.
STUDER, R.; FENSEL D.; DECKER, S.; BENJAMINS, V.R. Knowledge Engineering:Survey and Future Directions. Universitat Karlsruhe, Institut AIFB, 1998.
XSTREAM Two Minute Tutorial. Disponvel em: . Acesso em 25 de outubro de 2010.
VYSNIAUSKAS, E.; NEMURAIT, L. Transforming Ontology Representation fromOWL to Relational Database, 2006. Disponvel em:.Acesso em 25 de novembro de 2010.
ZHANG, H.; WANG, Z.; GAO Z.; LI, W Design and Implementation of Mapping Rulesfrom OWL to Relational Database, 2009. Disponvel em :. Acesso em 25 denovembro de 2010.
-
7/28/2019 TG314 Tobias de Campos Andrade
45/172
45
W3C Document Object Model (DOM). Disponvel em: .Acesso em 25 de outubro de 2010.
W3C XML Path Language. Disponvel em: . Acesso em 25de outubro de 2010.
W3C XML Technology. Disponvel em: . Acesso em 25de outubro de 2010.
-
7/28/2019 TG314 Tobias de Campos Andrade
46/172
APNDICE A: ARQUIVOS DO ESTUDO DE CASO
A.1 Documento OWL (Esquema Global) utilizado como entrada na ferramenta
OntoRel no estudo de caso, referente a Figura 15
]>
1
1
-
7/28/2019 TG314 Tobias de Campos Andrade
47/172
47
1
1
string
(0,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
48/172
48
(1,N)
integer
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
49/172
49
(1,N)
(1,N)
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
50/172
50
string
string
integer
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
51/172
51
(1,1)
(1,N)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
52/172
52
(0,1)
(0,N)
(0,1)
(0,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
53/172
53
(0,N)
(0,1)
(1,N)
(0,1)
(0,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
54/172
54
(0,1)
(0,N)
(0,1)
(0,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
55/172
55
(0,1)
(1,N)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
56/172
56
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
57/172
57
A.2 Documento XML de sada da OntoRel
paper
cod_paperintegertrue
titlestringtrue
cod_institutioninteger
true
chave_primariacod_paper
chave_estrangeiracod_institutioninstitution
conference
cod_conferenceintegertrue
daystringfalse
title
stringtrue
citystringfalse
statestringfalse
chave_primariacod_conference
-
7/28/2019 TG314 Tobias de Campos Andrade
58/172
-
7/28/2019 TG314 Tobias de Campos Andrade
59/172
59
chave_primariacod_writer
conferencepaper
cod_conferenceintegertrue
cod_paperintegertrue
chave_primaria_compostacod_conference,cod_paper
chave_estrangeiracod_conferenceconference
chave_estrangeiracod_paperpaper
paperwriter
cod_paperintegertrue
cod_writerintegertrue
chave_primaria_compostacod_paper,cod_writer
chave_estrangeiracod_paperpaper
chave_estrangeiracod_writerwriter
-
7/28/2019 TG314 Tobias de Campos Andrade
60/172
60
A.3 Script SQL de sada da OntoRel
create table paper
(cod_paper integer not null,
title varchar (50) not null,
cod_institution integer not null,
primary key (cod_paper));
create table conference
(cod_conference integer not null,
day varchar (50),title varchar (50) not null,
city varchar (50),
state varchar (50),
primary key (cod_conference));
create table institution
(cod_institution integer not null,city varchar (50),
state varchar (50),
name varchar (50) not null,
department varchar (50),
primary key (cod_institution));
create table writer(cod_writer integer not null,
name varchar (50),
code integer,
e_mail varchar (50),
age integer,
primary key (cod_writer));
create table conferencepaper
(cod_conference integer not null,
-
7/28/2019 TG314 Tobias de Campos Andrade
61/172
61
cod_paper integer not null,
primary key (cod_conference,cod_paper));
create table paperwriter
(cod_paper integer not null,
cod_writer integer not null,
primary key (cod_paper,cod_writer));
alter table paper
add foreign key (cod_institution) references institution;
alter table conferencepaper
add foreign key (cod_conference) references conference;
alter table conferencepaper
add foreign key (cod_paper) references paper;
alter table paperwriteradd foreign key (cod_paper) references paper;
alter table paperwriter
add foreign key (cod_writer) references writer;
-
7/28/2019 TG314 Tobias de Campos Andrade
62/172
APNDICE B: ESTUDO DE CASO 2
B.1 Documento OWL (Esquema Global) utilizado como entrada na ferramenta
OntoRel neste estudo de caso mais complexo do que o visto no trabalho anteriormente.
]>
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
63/172
63
(1,1)
(0,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
64/172
64
(1,1)
(1,N)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
65/172
65
(1,1)
(1,N)
(1,1)
(1,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
66/172
66
(1,N)
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
67/172
67
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
68/172
68
(0,N)
(1,1)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
69/172
69
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
70/172
70
(1,1)
(1,N)
(1,1)
(1,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
71/172
71
(1,N)
(1,1)
(1,N)
(0,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
72/172
72
(0,N)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
73/172
-
7/28/2019 TG314 Tobias de Campos Andrade
74/172
74
(1,N)
(1,N)
(1,1)
(1,N)
(0,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
75/172
-
7/28/2019 TG314 Tobias de Campos Andrade
76/172
-
7/28/2019 TG314 Tobias de Campos Andrade
77/172
-
7/28/2019 TG314 Tobias de Campos Andrade
78/172
78
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
79/172
79
(1,1)
(1,N)
(1,1)
(1,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
80/172
80
(1,N)
(0,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
81/172
81
(1,1)
(1,N)
(0,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
82/172
82
(1,N)
(1,N)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
83/172
83
(1,1)
(1,N)
(0,1)
(1,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
84/172
84
(1,N)
(0,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
85/172
-
7/28/2019 TG314 Tobias de Campos Andrade
86/172
-
7/28/2019 TG314 Tobias de Campos Andrade
87/172
87
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
88/172
-
7/28/2019 TG314 Tobias de Campos Andrade
89/172
89
(1,1)
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
90/172
-
7/28/2019 TG314 Tobias de Campos Andrade
91/172
91
(1,1)
(1,N)
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
92/172
92
(1,1)
(1,N)
(1,1)
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
93/172
93
(1,N)
(1,1)
(1,N)
(0,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
94/172
-
7/28/2019 TG314 Tobias de Campos Andrade
95/172
95
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
96/172
96
(0,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
97/172
97
(1,1)
(1,N)
(1,1)
(1,N)
(0,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
98/172
98
(1,1)
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
99/172
99
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
100/172
100
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
101/172
101
(1,1)
(1,N)
(1,1)
(1,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
102/172
102
(1,N)
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
103/172
103
(1,1)
(1,N)
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
104/172
104
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
105/172
105
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
106/172
106
(1,1)
(1,N)
(0,1)
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
107/172
107
(1,N)
(0,1)
(1,N)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
108/172
108
(0,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
109/172
109
(0,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
110/172
-
7/28/2019 TG314 Tobias de Campos Andrade
111/172
111
(1,N)
(1,1)
(1,N)
(1,N)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
112/172
112
(0,N)
(1,N)
(1,1)
(0,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
113/172
113
(0,N)
(1,1)
(0,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
114/172
-
7/28/2019 TG314 Tobias de Campos Andrade
115/172
-
7/28/2019 TG314 Tobias de Campos Andrade
116/172
116
(1,N)
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
117/172
117
(1,1)
(1,N)
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
118/172
118
(1,N)
(1,N)
(0,N)
(1,1)
-
7/28/2019 TG314 Tobias de Campos Andrade
119/172
119
(1,1)
(1,N)
-
7/28/2019 TG314 Tobias de Campos Andrade
120/172
120
-
7/28/2019 TG314 Tobias de Campos Andrade
121/172
121
1
1
1
1
-
7/28/2019 TG314 Tobias de Campos Andrade
122/172
122
string
string
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
123/172
123
integer
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
124/172
-
7/28/2019 TG314 Tobias de Campos Andrade
125/172
125
string
string
string
integer
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
126/172
126
string
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
127/172
127
string
string
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
128/172
128
integer
integer
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
129/172
129
string
integer
integer
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
130/172
130
string
string
string
string
string
string
-
7/28/2019 TG314 Tobias de Campos Andrade
131/172
131
integer
string
-
7/28/2019 TG314 Tobias de Campos Andrade
132/172
132
B.2 Documento XML de sada da OntoRel
AccessionNumberList
cod_AccessionNumberListintegertrue
AccessionNumberstring
true
chave_primariacod_AccessionNumberList
QualifierName
cod_QualifierNameintegertrue
QualifierNameTextostringfalse
MajorTopicYNstringtrue
chave_primariacod_QualifierName
DataBankList
cod_DataBankListintegertrue
cod_DataBankintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
133/172
133
CompleteYNstringtrue
chave_primariacod_DataBankList
chave_estrangeiracod_DataBankDataBank
DataBank
cod_DataBank
integertrue
DataBankNamestringtrue
cod_AccessionNumberListintegertrue
chave_primariacod_DataBank
chave_estrangeiracod_AccessionNumberListAccessionNumberList
JournalIssue
cod_JournalIssueintegertrue
Volumeintegertrue
Issueintegerfalse
cod_PubDate
-
7/28/2019 TG314 Tobias de Campos Andrade
134/172
134
integertrue
CitedMedium
stringtrue
chave_primariacod_JournalIssue
chave_estrangeiracod_PubDatePubDate
main
cod_mainintegertrue
chave_primariacod_main
ISSN
cod_ISSNintegertrue
IssnTypestringtrue
ISSNTexto
stringfalse
chave_primariacod_ISSN
Journal
cod_Journalintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
135/172
135
cod_JournalIssueintegertrue
Titlestringtrue
ISOAbbreviationstringtrue
cod_ISSNintegertrue
chave_primariacod_Journal
chave_estrangeiracod_JournalIssueJournalIssue
chave_estrangeiracod_ISSN
ISSN
MeshHeading
cod_MeshHeadingintegertrue
cod_DescriptorNameinteger
true
chave_primariacod_MeshHeading
chave_estrangeiracod_DescriptorNameDescriptorName
MeshHeadingList
cod_MeshHeadingList
-
7/28/2019 TG314 Tobias de Campos Andrade
136/172
136
integertrue
chave_primaria
cod_MeshHeadingList
MedlineCitation
cod_MedlineCitationintegertrue
Statusstring
true
cod_MeshHeadingListintegertrue
cod_MedlineJournalInfointegertrue
cod_InvestigatorListintegertrue
cod_PMIDintegertrue
Ownerstringtrue
CitationSubsetstringtrue
cod_CommentsCorrectionsListintegertrue
cod_Articleintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
137/172
137
cod_ChemicalListintegertrue
cod_DateCreatedintegertrue
cod_DateRevisedintegertrue
cod_DateCompletedinteger
true
chave_primariacod_MedlineCitation
chave_estrangeiracod_MeshHeadingListMeshHeadingList
chave_estrangeira
cod_MedlineJournalInfoMedlineJournalInfo
chave_estrangeiracod_InvestigatorListInvestigatorList
chave_estrangeiracod_PMIDPMID
chave_estrangeiracod_CommentsCorrectionsListCommentsCorrectionsList
chave_estrangeiracod_ArticleArticle
chave_estrangeiracod_ChemicalListChemicalList
-
7/28/2019 TG314 Tobias de Campos Andrade
138/172
-
7/28/2019 TG314 Tobias de Campos Andrade
139/172
139
PMIDTextostringfalse
chave_primariacod_PMID
PubDate
cod_PubDateintegertrue
Month
integerfalse
Dayintegerfalse
Yearintegertrue
chave_primariacod_PubDate
OtherID
cod_OtherIDintegertrue
Sourcestringtrue
OtherIDTextostringfalse
chave_primariacod_OtherID
Pagination
-
7/28/2019 TG314 Tobias de Campos Andrade
140/172
140
cod_Paginationintegertrue
MedlinePgnstringtrue
chave_primariacod_Pagination
PubmedData
cod_PubmedDataintegertrue
cod_ArticleIdListintegertrue
cod_Historyintegertrue
PublicationStatusstringtrue
chave_primariacod_PubmedData
chave_estrangeiracod_ArticleIdList
ArticleIdList
chave_estrangeiracod_HistoryHistory
PubMedPubDate
cod_PubMedPubDateintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
141/172
141
Hourintegertrue
Minuteintegertrue
Monthintegertrue
Dayintegertrue
PubStatusstringtrue
Yearintegertrue
chave_primaria
cod_PubMedPubDate
PublicationTypeList
cod_PublicationTypeListintegertrue
PublicationTypestring
true
chave_primariacod_PublicationTypeList
PubmedArticle
cod_PubmedArticleintegertrue
cod_MedlineCitation
-
7/28/2019 TG314 Tobias de Campos Andrade
142/172
142
integertrue
cod_PubmedData
integertrue
chave_primariacod_PubmedArticle
chave_estrangeiracod_MedlineCitationMedlineCitation
chave_estrangeiracod_PubmedDataPubmedData
ChemicalList
cod_ChemicalListintegertrue
cod_Chemicalintegertrue
chave_primariacod_ChemicalList
chave_estrangeiracod_ChemicalChemical
Chemical
cod_Chemicalintegertrue
RegistryNumberstringtrue
NameOfSubstancestring
-
7/28/2019 TG314 Tobias de Campos Andrade
143/172
143
true
chave_primariacod_Chemical
AuthorList
cod_AuthorListintegertrue
CompleteYNstringtrue
chave_primariacod_AuthorList
Author
cod_Authorintegertrue
ValidYNstringtrue
Suffixstringfalse
Initialsstring
false
LastNamestringfalse
ForeNamestringfalse
CollectiveNamestringfalse
-
7/28/2019 TG314 Tobias de Campos Andrade
144/172
144
chave_primariacod_Author
DateCreated
cod_DateCreatedintegertrue
Yearintegertrue
Monthintegertrue
Dayintegertrue
chave_primariacod_DateCreated
DateCompleted
cod_DateCompletedintegertrue
Yearintegertrue
Monthintegertrue
Dayintegertrue
chave_primariacod_DateCompleted
-
7/28/2019 TG314 Tobias de Campos Andrade
145/172
145
CommentsCorrectionsList
cod_CommentsCorrectionsListinteger
true
chave_primariacod_CommentsCorrectionsList
CommentsCorrections
cod_CommentsCorrectionsintegertrue
RefTypestringtrue
RefSourcestringtrue
cod_PMID
integertrue
chave_primariacod_CommentsCorrections
chave_estrangeiracod_PMIDPMID
Grant
cod_Grantintegertrue
Acronymstringfalse
Agencystringtrue
-
7/28/2019 TG314 Tobias de Campos Andrade
146/172
146
Countrystringtrue
GrantIDstringfalse
chave_primariacod_Grant
ELocationID
cod_ELocationIDintegertrue
ELocationIDTextostringfalse
ValidYNstring
true
EIdTypestringtrue
chave_primariacod_ELocationID
DescriptorName
cod_DescriptorNameintegertrue
DescriptorNameTextostringfalse
MajorTopicYNstringtrue
-
7/28/2019 TG314 Tobias de Campos Andrade
147/172
147
Typestringtrue
chave_primariacod_DescriptorName
DateRevised
cod_DateRevisedintegertrue
Dayintegertrue
Monthintegertrue
Yearintegertrue
chave_primariacod_DateRevised
InvestigatorList
cod_InvestigatorListintegertrue
chave_primariacod_InvestigatorList
Investigator
cod_Investigatorintegertrue
ValidYNstringtrue
-
7/28/2019 TG314 Tobias de Campos Andrade
148/172
148
Initialsstringtrue
ForeNamestringtrue
LastNamestringtrue
chave_primaria
cod_Investigator
History
cod_Historyintegertrue
chave_primariacod_History
GrantList
cod_GrantListintegertrue
CompleteYNstringtrue
chave_primariacod_GrantList
AbstractText
cod_AbstractTextintegertrue
NlmCategorystring
-
7/28/2019 TG314 Tobias de Campos Andrade
149/172
149
true
AbstractTextTextostring
false
Labelstringtrue
chave_primariacod_AbstractText
Abstract
cod_Abstractintegertrue
CopyrightInformationstringfalse
chave_primaria
cod_Abstract
ArticleIdList
cod_ArticleIdListintegertrue
chave_primariacod_ArticleIdList
ArticleId
cod_ArticleIdintegertrue
IdTypestringtrue
ArticleIdTexto
-
7/28/2019 TG314 Tobias de Campos Andrade
150/172
150
stringfalse
chave_primaria
cod_ArticleId
ArticleDate
cod_ArticleDateintegertrue
Yearinteger
true
Dayintegertrue
DateTypestringtrue
Monthintegertrue
chave_primariacod_ArticleDate
Article
cod_Article
integertrue
cod_DataBankListintegertrue
PubModelstringtrue
cod_Paginationinteger
-
7/28/2019 TG314 Tobias de Campos Andrade
151/172
-
7/28/2019 TG314 Tobias de Campos Andrade
152/172
152
chave_estrangeiracod_PublicationTypeListPublicationTypeList
chave_estrangeiracod_JournalJournal
chave_estrangeiracod_GrantListGrantList
chave_estrangeira
cod_ArticleDateArticleDate
chave_estrangeiracod_AuthorListAuthorList
chave_estrangeiracod_AbstractAbstract
MeshHeadingQualifierName
cod_MeshHeadingintegertrue
cod_QualifierNameintegertrue
chave_primaria_compostacod_MeshHeading,cod_QualifierName
chave_estrangeiracod_MeshHeadingMeshHeading
chave_estrangeiracod_QualifierNameQualifierName
-
7/28/2019 TG314 Tobias de Campos Andrade
153/172
153
MeshHeadingListMeshHeading
cod_MeshHeadingListintegertrue
cod_MeshHeadingintegertrue
chave_primaria_compostacod_MeshHeadingList,cod_MeshHeading
chave_estrangeiracod_MeshHeadingList
MeshHeadingList
chave_estrangeiracod_MeshHeadingMeshHeading
MedlineCitationOtherID
cod_MedlineCitationinteger
true
cod_OtherIDintegertrue
chave_primaria_compostacod_MedlineCitation,cod_OtherID
chave_estrangeira
cod_MedlineCitationMedlineCitation
chave_estrangeiracod_OtherIDOtherID
mainPubmedArticle
cod_mainintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
154/172
154
cod_PubmedArticleintegertrue
chave_primaria_compostacod_main,cod_PubmedArticle
chave_estrangeiracod_mainmain
chave_estrangeiracod_PubmedArticlePubmedArticle
GrantListGrant
cod_GrantListintegertrue
cod_Grantintegertrue
chave_primaria_compostacod_GrantList,cod_Grant
chave_estrangeiracod_GrantListGrantList
chave_estrangeiracod_Grant
Grant
HistoryPubMedPubDate
cod_Historyintegertrue
cod_PubMedPubDateintegertrue
-
7/28/2019 TG314 Tobias de Campos Andrade
155/172
155
chave_primaria_compostacod_History,cod_PubMedPubDate
chave_estrangeira
cod_HistoryHistory
chave_estrangeiracod_PubMedPubDatePubMedPubDate
InvestigatorListInvestigator
cod_InvestigatorList
integertrue
cod_Investigatorintegertrue
chave_primaria_compostacod_InvestigatorList,cod_Investigator
chave_estrangeiracod_InvestigatorListInvestigatorList
chave_estrangeiracod_InvestigatorInvestigator
CommentsCorrectionsListCommentsCorrections
cod_CommentsCorrectionsListintegertrue
cod_CommentsCorrectionsintegertrue
chave_primaria_compostacod_CommentsCorrectionsList,cod_CommentsCorrections
chave_estrangeiracod_CommentsCorrectionsList
-
7/28/2019 TG314 Tobias de Campos Andrade
156/172
156
CommentsCorrectionsList
chave_estrangeiracod_CommentsCorrections
CommentsCorrections
AuthorListAuthor
cod_AuthorListintegertrue
cod_Authorinteger
true
chave_primaria_compostacod_AuthorList,cod_Author
chave_estrangeiracod_AuthorListAuthorList
chave_estrangeira
cod_AuthorAuthor
ArticleIdListArticleId
cod_ArticleIdListintegertrue
cod_ArticleId
integertrue
chave_primaria_compostacod_ArticleIdList,cod_ArticleId
chave_estrangeiracod_ArticleIdListArticleIdList
chave_estrangeiracod_ArticleIdArticleId
-
7/28/2019 TG314 Tobias de Campos Andrade
157/172
157
ArticleELocationID
cod_Articleintegertrue
cod_ELocationIDintegertrue
chave_primaria_compostacod_Article,cod_ELocationID
chave_estrangeiracod_ArticleArticle
chave_estrangeiracod_ELocationIDELocationID
AbstractAbstractText
cod_Abstractintegertrue
cod_AbstractTextintegertrue
chave_primaria_compostacod_Abstract,cod_AbstractText
chave_estrangeiracod_AbstractAbstract
chave_estrangeiracod_AbstractTextAbstractText
-
7/28/2019 TG314 Tobias de Campos Andrade
158/172
158
B.3 Script SQL de sada da OntoRel
create table AccessionNumberList
(cod_AccessionNumberList integer not null,
AccessionNumber varchar (50) not null,
primary key (cod_AccessionNumberList));
create table QualifierName
(cod_QualifierName integer not null,QualifierNameTexto varchar (50),
MajorTopicYN varchar (50) not null,
primary key (cod_QualifierName));
create table DataBankList
(cod_DataBankList integer not null,
cod_DataBank integer not null,CompleteYN varchar (50) not null,
primary key (cod_DataBankList));
create table DataBank
(cod_DataBank integer not null,
DataBankName varchar (50) not null,
cod_AccessionNumberList integer not null,primary key (cod_DataBank));
create table JournalIssue
(cod_JournalIssue integer not null,
Volume integer not null,
Issue integer,
cod_PubDate integer not null,
CitedMedium varchar (50) not null,
primary key (cod_JournalIssue));
-
7/28/2019 TG314 Tobias de Campos Andrade
159/172
159
create table main
(cod_main integer not null,
primary key (cod_main));
create table ISSN
(cod_ISSN integer not null,
IssnType varchar (50) not null,
ISSNTexto varchar (50),
primary key (cod_ISSN));
create table Journal
(cod_Journal integer not null,
cod_JournalIssue integer not null,
Title varchar (50) n