TG314 Tobias de Campos Andrade

download TG314 Tobias de Campos Andrade

of 172

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