UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO

MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOS DE DADOS RELACIONAIS

TRABALHO DE GRADUAÇÃO

Tobias de Campos Andrade

Santa Maria, RS, Brasil. 2010

MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOS DE DOS RELACIONAIS

por

Tobias de Campos Andrade

Trabalho de Graduação apresentado ao Curso de Ciência da Computação da Universidade Federal de Santa Maria (UFSM, RS), como requisito parcial para a obtenção do grau de Bacharel em Ciência da Computação

Orientador: Profª Drª Deise de Brum Saccol

Trabalho de Graduação N. 314 Santa Maria, RS, Brasil. 2010

Universidade Federal de Santa Maria Centro de Tecnologia Curso de Ciência da Computação

A Comissão Examinadora, abaixo assinada, aprova o Trabalho de Graduação

MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOS DE DADOS RELACIONAIS elaborado por Tobias de Campos Andrade

como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação COMISSÃO EXAMINADORA:
___________________________ Profª. Deise de Brum Saccol (Presidente/Orientador)

___________________________ Prof. Eduardo Kessler Piveta

___________________________ Prof. Giovani Rubert Librelotto

Santa Maria, 1 de dezembro de 2010.

A gente pode dormir numa cama mais ou menos.“A gente pode morar numa casa mais ou menos.. e até ter um governo mais ou menos. e até ser obrigado a acreditar mais ou menos no futuro. nunca. Senão a gente corre o risco de se tornar uma pessoa mais ou menos. ser amigo mais ou menos. sonhar mais ou menos.. comer um feijão mais ou menos. namorar mais ou menos. é amar mais ou menos. de jeito nenhum.. ter fé mais ou menos. TUDO BEM! O que a gente não pode mesmo. ter um transporte mais ou menos.” -Chico Xavier . numa cidade mais ou menos. A gente pode olhar em volta e sentir que tudo está mais ou menos. e acreditar mais ou menos.. numa rua mais ou menos.

pela disposição que dedicou em meu auxílio. carinho. os quais amo muito. por me iluminarem os caminhos obscuros com afeto. com toda sua simpatia e carisma. com certeza estará celebrando este momento comigo. dedicação e desvelo. o que oportunizou que este trabalho fosse realizado com esmero e fosse bem sucedido. pela oportunidade que me deu de vir a essa abençoada escola divina. tão necessários ao meu crescimento. em me apoiar e orientar e. e que me orgulho muito de ser seu filho. que como todos os citados anteriormente. Manoel e Juçara. foi indispensável em minha vida. para que os trilhasse sem medo e cheio de esperança. Eles dedicaram todo o seu amor. e dedicarão ainda por muitos anos. da amizade. Agradeço a minha querida orientadora Deise. Não podia deixar a minha queridinha irmãzinha Mirella. apoio e amizade incondicional. que durante todo este tempo me acompanharam nesta árdua caminhada.AGRADECIMENTOS Primeiramente agradeço a Deus. sei que me ajudou muito. pelo apoio. tanto intelectual quanto moral. por terem dado me a oportunidade de viver e ensinarem me os valores da dignidade. que é este mundo e por todos os acontecimentos de minha vida. que não mediu esforços. da confiança e da luta pelos ideais. que esteja onde ele estiver. Agradeço aos meus pais. Ao meu irmão Emilio que mesmo não estando em presença física. compreensão. Agradeço a todos os meus familiares e amigos. . Hoje posso bater no peito e dizer que sou o que eu sou graças a eles. da fé. da responsabilidade. perseverança e confiança.

banco de dados relacional. modelo relacional.RESUMO Trabalho de Graduação Curso de Ciência da Computação Universidade Federal de Santa Maria MAPEAMENTO DE ESQUEMAS XML INTEGRADOS PARA BANCOS DE DADOS RELACIONAIS Autor: Tobias de Campos Andrade Orientador: Profª Drª Deise de Brum Saccol Local e data da defesa: Santa Maria. dificultando o mapeamento destes documentos para um único esquema relacional. cujo esquema é descrito por uma ontologia. Palavras-chave: armazenamento de dados XML. esquema integrado. 09 de dezembro de 2010. documentos XML de um mesmo domínio de aplicação podem possuir estruturas diferentes. ou seja. tendo como objetivos: (a) propor um mecanismo de geração de modelo relacional a partir de arquivos XML integrados. Para contornar esta situação. regras de transformação. num formato relacional. de forma a validar a proposta do trabalho. Muitas aplicações exigem armazenamento de dados XML (eXtensible Markup Language). Entretanto. Para isso. Posteriormente. armazenados e recuperados (usando SQL). de tal forma que quando um documento XML é submetido a essas regras. Uma estratégia é armazenar os documentos XML usando um banco de dados relacional. Ontologia. os dados podem ser convertidos para o formato relacional. sua representação passa a ser um conjunto de tabelas e relacionamentos entre elas. (b) definir um conjunto de regras de mapeamento do esquema integrado para o modelo relacional. . são aplicadas regras de transformação. e (c) implementar um protótipo da técnica apresentada. pode-se previamente gerar um esquema integrado que consiga representar as estruturas dos diversos documentos e então mapear o esquema integrado para o modelo relacional. Esse trabalho baseia-se na abordagem discutida de armazenar dados XML em Bancos de Dados Relacionais.

transformation rules. we can previously generate an integrated schema that represents the structures of the various documents. relational model. stored and retrieved (using SQL). However. For that. Ontology. whose schema is described by an ontology. One strategy is to store XML documents using a relational database. Keywords: XML data storage. (b) to define a set of mapping rules from the integrated schema to the relational model. . the data can be converted into the relational format. and then map the integrated schema to the relational model.This work is based on the discussed approach that stores XML data into relational databases.ABSTRACT Trabalho de Graduação Curso de Ciência da Computação Universidade 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). in a relational format. To overcome that. integrated schema. aiming to: (a) to propose a mechanism for generating relational model from integrated XML files. making harder the mapping of these documents into a single relational schema. Subsequently. so that when an XML document is submitted to these rules. transformation rules are applied. its representation becomes a set of tables and relationships between them. and (c) to implement a prototype of our technique in order to validate the proposed work. XML documents from the same application domain can have different structures. relational database.

........................................................................................................................................................................................................... 2006]....................................................................34 Figura 13 – OntoRel – Login do Banco de Dados...............................30 Figura 9 – Diagrama de Classe dos objetos Tabela..................................28 Figura 7 – Relacionamento entre conceitos não léxicos..........37 Figura 16 – XML de Saída gerado pela OntoRel ..........................31 Figura 10 – OntoRel – Tela inicial .....................35 Figura 14 – OntoRel – Arquivo Global...................................................................................................Exemplo de ontologia [SACCOL...............................................................................................................................24 Figura 4 – Abordagem proposta na OntoRel ...............14 Figura 2 ...........................................................................LISTA DE FIGURAS Figura 1 – Exemplo de um Documento XML..........36 Figura 15 – Ontologia Global......................................owl selecionado ....................................................................39 ........29 Figura 8 – Diagrama de Classe dos Objetos ConceitoNaoLexico............38 Figura 17 – Tela do editor com o script SQL gerado pela OntoRel .....................................................32 Figura 11 – OntoRel ..............Janela para escolha de arquivo ................................................................33 Figura 12 – OntoRel – Editor do script SQL......................20 Figura 3 – Processo de Integração de Esquemas..................... RestricoesDasTabelas e Coluna .............26 Figura 5 – Conceito Não Léxico ..............28 Figura 6 – Conceito Léxico .............................................. Relacionamento e ConceitoLexico ......................................................................................................................................................

LISTA DE ABREVIATURAS DOM – Document Objetc Model DTD – Definição de Tipo de Documento HTML – Linguagem de Marcação 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 Marcação Genérica (Standard Generalized Markup Language) SQL – Linguagem de Consulta Estruturada (Structured Query Language) W3C – World Wide Web Consortium XML – Linguagem de Marcação Extensível (eXtensible Markup Language) XSD – XML Schema Definition .

.......................16 Ontologias e OWL....................2 1.....................................14 2...................1 Visão Geral ................................................................................................................................................18 Trabalhos Relacionados.............................5 Armazenamento de Documentos XML em um Banco de Dados Relacional............................................................27 4..2 Arquitetura......................................................................................................................5 Funcionamento da Ferramenta ..........................................................43 APÊNDICE A: Arquivos do Estudo de Caso ....................................................................................33 4......................................................................26 4.......................1 Visão Geral ................................................................14 2.2 Executar .............................................6 Demonstração da OntoRel ..................................................1 Dificuldades Encontradas e Motivação .......1 Tecnologias Utilizadas ..41 5..................................................................................................................................2 2.............46 APÊNDICE B: Estudo de Caso 2 .....................................................................................23 A FERRAMENTA ONTOREL.............................owl ......1 Contextualização .......................................13 2 FUNDAMENTAÇÃO TEÓRICA .....................SUMÁRIO 1 INTRODUÇÃO ...........................29 OntoRel: Funcionalidades da Ferramenta ....................................3 Objetivos do Trabalho ...............31 4.....................................................................1 Procurar ...............23 3................................................................3 Proposta de Geração de Esquema Relacional.......................................................................25 4.............................5.....15 Integração de Documentos XML ...............................................11 1..............................................................................42 REFERÊNCIAS BIBLIOGRÁFICAS .........................12 Estrutura do Texto ....................................4 4...................................................................................................................41 5....27 4.......25 4.......................1 XML ................................................................................2 Trabalhos Futuros ............................................................................2...........................................................................................5......62 .....20 3 4 A FERRAMENTA ONTOGEN ..........................................................................................................................................................................3 2..................................32 4............................................................................................................11 1..............................................................................35 5 CONCLUSÃO.4 2..................................

um mapeamento para cada estrutura de dados. uma empresa precisa analisar currículos de pessoas da área de Ciência da Computação. atomicidade. e ao mesmo tempo gerenciar. Tal situação geraria uma dificuldade de gerenciamento deste contexto. então teria que ser feito cem mapeamentos diferentes.1 Contextualização Devido à popularização da internet. nomenclaturas.1 INTRODUÇÃO 1. XML está se tornando um formato de dados popular. que usa XML puro como modelo de dados básico. Outra forma é usando um banco de dados nativo XML. as ontologias são mais representativas que os esquemas . 2010c]. o que provavelmente faz com que a estrutura de armazenamento desses currículos seja diferente entre elas. um pra cada fonte. para um conjunto de tabelas e colunas). a representação dos dados de forma a não obedecer a um padrão específico de estruturação. porém vindos de diferentes sites e/ou repositórios. Também é possível armazenar dados XML em um banco de dados relacional. acesso concorrente e segurança. Daí a importância do armazenamento de arquivos XML. Esses esquemas em geral representam conceitos. Para isso. que está totalmente relacionada com a crescente expansão da internet. Existem basicamente três formas para se armazenar dados XML. muitas vezes idênticos ou similares. A integração de esquemas surge como uma alternativa para o problema da heterogeneidade dos esquemas XML. tornando-se impraticável criar. Imagine que se tivesse cem fontes de currículos. Esta forma não garante isolamento de dados. Como a heterogeneidade vem aumentando cada vez mais na representação de um mesmo dado. Uma delas é o armazenamento como um arquivo simples utilizando sistemas de arquivos convencionais. utilizando diferentes estruturas. uma das possíveis formas é mapear a estrutura do documento XML para uma estrutura do banco de dados relacional (ou seja. Por exemplo. Neste contexto. fez com que surgisse um novo padrão para a representação desses dados e para a troca de informações: a linguagem XML (eXtensible Markup Language) [W3C. tipo de dados e semânticas. ou até mesmo dados não estruturados. o uso de ontologias como esquemas conceituais pode ser uma alternativa interessante. Em geral.

utilizada como base para a proposta deste trabalho. mas que inicialmente possuíam estruturas heterogêneas. .Implementar o mecanismo de mapeamento de ontologias OWL para modelo relacional.Analisar a ferramenta OntoGen. de forma a compreender suas características. pretende-se dar continuidade ao trabalho já desenvolvido.12 XML. No trabalho de [Mello Márcio.Estudar ontologias como forma de representação de esquemas integrados. de forma a validar a proposta do trabalho.2 Objetivos do Trabalho O objetivo geral deste trabalho é definir uma proposta de geração de um esquema relacional a partir de arquivos XML previamente integrados. .Estudar o modelo XML. cujo esquema integrado é descrito por uma ontologia. pois elas deixam de fora as regras de domínio mais restritivas. previamente co-orientado pela professora Deise Saccol. Para isso. A ferramenta proposta é denominada OntoGen – Uma Ferramenta para Integração de Esquemas XML. foi especificada e implementada uma ferramenta que recebe como entrada um conjunto de esquemas e/ou documentos XML e gera como saída um modelo conceitual global que representa a integração dos esquemas desses documentos. para um banco de dados relacional. propondo uma abordagem para armazenamento dos documentos XML integrados em uma base de dados relacional. Neste trabalho. ou seja. . os dados podem ser armazenados e acessados. faz-se o mapeamento de um esquema integrado (representado como uma ontologia OWL) para um conjunto de tabelas. a fim de que através desse conjunto de tabelas seja possível a representação de todos os dados de mesmo domínio.Propor regras de mapeamento do esquema integrado representado em OWL para o modelo relacional. 1. . O modelo conceitual global é representado através de uma ontologia. podem ser citados: . enfocando a semântica associada aos documentos XML [MELLO. Posteriormente. Como objetivos específicos. 2007]. 2007]. .Analisar a linguagem OWL para representação de ontologias. . como aquelas relacionadas à estrutura dos documentos. usando SQL.

E no quinto capítulo apresenta a conclusão. a definição das regras de transformação do esquema integrado para um esquema relacional implementadas. utilizada como base para o trabalho proposto.3 Estrutura do Texto Este trabalho está constituído por cinco capítulos. a OntoGen. . Também se encontra informações sobre o funcionamento interno da ferramenta e um estudo de caso analisando as saídas que se obteve para ficar mais fácil a visualização das funcionalidades da OntoRel. No quarto capítulo é mostrado a ferramenta que foi desenvolvida neste trabalho. No segundo capítulo é apresentada uma revisão da literatura necessária para o entendimento do conteúdo técnico do texto. 1.13 . as tecnologias utilizadas. as possíveis melhoras e trabalhos futuros. citando sua arquitetura. O terceiro capítulo descreve uma ferramenta de integração de esquemas XML.Realizar testes no software implementado.

não perdendo a simplicidade e sendo parecida com a HTML (HypeTtext Markup Language).1 XML eXtensible Markup Language (XML) é uma linguagem de marcação de documentos. descreve o conteúdo do documento. armazenamento de documentos XML em um Banco de Dados Relacional. A Figura 1 mostra um exemplo de um documento XML. <aluno> <nome>Tobias</nome> <sobrenome>Andrade</sobrenome> <cidade>Santa Maria</cidade> </aluno> Figura 1 – Exemplo de um Documento XML Uma das principais características da XML é a sua flexibilidade. Sua finalidade. Neste documento. Mas a diferença da XML é que ela diz o que cada trecho de dados é ou representa. um aluno possui como subelementos os conceitos nome. XML é baseado em elementos. . conteúdo. integração de documentos XML. podendo o usuário definir suas próprias tags e elementos.2 FUNDAMENTAÇÃO TEÓRICA Este capítulo discute sobre XML. intercâmbio e manipulação de dados. datas. ou seja. autor. sendo criada em 1996 pelo W3C (World Wide Web Consortium). OWL e trabalhos relacionados. derivada da SGML (Standard Generalized Markup Language). assunto. etc. Um texto está no contexto de um elemento se o texto estiver entre a tag de início e a tag de fim deste elemento. Toda tag de início deve ter sua respectiva tag de fim. 2. além de ser uma linguagem de marcação de documentos. como por exemplo. é a de ser aceita como um padrão para representação. onde um elemento é um par de tags que indicam o início e o fim de cada elemento. tags de título. sobrenome e cidade. o que facilita o seu uso na web.

existem muitas aplicações em que os dados XML não são gerados a partir de esquema relacional. como encontrar determinada tupla. Na verdade. semântica e as esquematizações para uma grande variedade de aplicações desde simples até as mais complexas. Representação de árvore: Dados XML podem ser modelados como uma árvore e armazenados usando um par de relações: nós (id. tipo. Uma solução parcial para esse problema seria armazenar diferentes tipos de elementos em diferentes relações. Embora essa representação seja fácil de usar. o nome do elemento ou atributo (rótulo) e o valor de texto do . id_pai). XML pode codificar o conteúdo. Como resultado. os elementos aninhados e os elementos que se repetem complicam o armazenamento de dados XML no formato relacional. valor) e filho (id_filho. não é possível consultar os dados diretamente. Armazenar como string: Pequenos documentos XML podem ser armazenados como valores de string (clob) em tuplas de um banco de dados relacional.15 dependendo do contexto do documento. Várias técnicas alternativas são descritas a seguir. e também armazenar os valores de alguns elementos críticos como atributos da relação para ativar a indexação. Cada elemento e atributo nos dados XML recebe um identificador exclusivo. Em particular. seu tipo (atributo ou elemento). como de um simples documento até um registro mais complexo de dados. o sistema de banco de dados não conhece o esquema dos elementos armazenados. sem percorrer todas as tuplas da relação e examinar o conteúdo da string. e a XML foi utilizada simplesmente como um formato de troca de dados para formatos relacionais.rótulo. e a tradução dos dados para o formato relacional pode não ser direta. Grandes documentos com o elemento de nível superior possuindo muitos filhos podem ser tratados pelo armazenamento de cada elemento filho como uma string em uma tupla separada. nem sequer é possível implementar seleções simples. Um tupla inserida na relação nós para cada elemento e atributo com seu identificador (id). 2. Porém.2 Armazenamento de Documentos XML em um Banco de Dados Relacional A conversão de dados XML para o formato relacional normalmente é simples. se os dados foram gerados a partir de um esquema relacional em primeiro lugar.

O tipo atributo da relação é.16 elemento ou atributo (valor). uma relação é criada correspondendo ao subelemento (usando as mesmas regras recursivamente em seus subelementos). mas. Os elementos cujo esquema é desconhecido são armazenados como strings ou como uma árvore. Além do mais. A relação filho é usada para registrar o elemento pai de cada elemento e atributo. Se a informação de ordem dos elementos e atributos tiver de ser preservada. um valor de string. Normalmente isso não ocorre. O .3 Integração de Documentos XML Para aplicações que se beneficiam dos esquemas dos documentos XML. um tipo SQL (Structured Query Language) correspondente poderá ser usado. Os atributos são definidos da seguinte maneira: Todos os atributos desses elementos são armazenados como atributos com valor de string da relação. Se um subelemento do elemento for um tipo simples (não possui atributos ou subelementos). armazenando o identificador de seu elemento pai e se a ordenação tiver de ser preservada. um atributo posição é acrescentado à relação representando o subelemento. 2005]. relativos ao mesmo domínio de aplicação. os elementos XML cujo esquema é conhecido são mapeados para relações e atributos. Mapa de relações: nessa técnica. o ideal seria que estes estivessem de acordo um único esquema específico. um atributo é acrescentado à relação para representar o subelemento. a integração de esquemas relacionados a um domínio específico pode ser uma saída satisfatória [SACCOL. Para o primeiro caso. se o subelemento tiver um tipo XSD (XML Schema Definition). Uma relação é criada para cada tipo de elemento (incluindo subelementos) cujo esquema é conhecido e cujo tipo é um tipo complexo (ou seja. 2. como padrão. A integração de esquemas XML consiste em gerar um esquema XML integrado a partir de vários esquemas XML diferentes. um atributo id_pai é acrescentado à relação representando o subelemento. um atributo é acrescentado às relações representado o elemento. contém atributos e subelementos). É comum a existência de documentos XML relacionados a um esquema próprio ou ainda sem nenhuma relação. uma posição de atributo extra pode ser acrescentada à relação filho para indicar a posição relativa do filho entre os filhos do pai. Caso contrário.

Por isso. cabendo ao usuário aceitar. 2001]. Pré-integração: Esta fase é responsável pela análise dos diversos esquemas locais antes da integração propriamente dita. a quantidade de intervenção do usuário especialista do domínio. um dado de certo domínio pode ser representado de várias maneiras diferentes. pois é preciso entender a semântica dos conceitos envolvidos . muitas vezes a ajuda de um especialista torna-se necessária. O processo de integração de esquemas é bem complexo. Unificação de Esquemas: Esta fase é responsável pela solução de conflitos detectados na fase de comparação. a fim de identificar possíveis correspondências e os conflitos existentes que podem ocorrer no processo de integração devido à heterogeneidade desses esquemas. pois normalmente a semântica dos esquemas não está formalmente documentada.17 problema é que devido à heterogeneidade dos esquemas XML. Nesta fase. e os conflitos estruturais que se referem aos conflitos resultantes de diferentes escolhas de construtores de modelagem ou restrições de integridade e se classificam como conflitos de tipo. elas sugerem conceitos que aparentemente podem ser integrados. Comparação de Esquemas: A etapa é responsável por analisar e comparar os esquemas de entrada. ignorar ou ainda realizar modificações na integração sugerida pela ferramenta [RAHM. são definidos os esquemas a serem integrados. detalhadas a seguir. conflitos de chave identificadora e conflitos comportamentais. Nem sempre esta unificação de esquemas pode ser feita de forma automática. grande parte das ferramentas para integração de esquemas é semi-automática: em sua maioria. Batini (1986) classificou os possíveis conflitos que podem ocorrer entre os conceitos que são: conflitos de nomenclatura que se referem à inconsistência de nomes nos esquemas locais e por sua vez se classificam em conflitos de homonímia e conflitos de sinonímia. Estas correspondências e conflitos entre conceitos devem ser devidamente especificados para que na etapa posterior a unificação desses conceitos possa ser realizada. variando na nomenclatura. número de esquemas a serem integrados por vez e outras estratégias globais do processo de integração. conflitos de dependência. a fim de tornar compatíveis os esquemas a serem integrados e possibilitar a execução da próxima fase (Merging e Reestruturação). a ordem de integração. O processo de integração de esquemas pode ser realizado em quatro fases distintas. semântica e tipo de dados.

o esquema integrado deve conter todos os conceitos presentes nos esquemas de entrada. a OWL não possui nenhuma dependência de plataforma ou de sistema operacional. Por ter sido projetada para ser lida por aplicações computacionais. e é escrita em XML.18 no conflito. através dos seus conceitos e relacionamentos entre conceitos. Uma das linguagens para descrever ontologias é a linguagem OWL [W3C. Por isso. 2005]. São utilizadas nessa fase transformações de tipos.o esquema integrado deve ser de fácil compreensão para os projetistas e usuários. como [BATINI. Merging e Reestruturação: Responsável pela integração propriamente dita e pela reestruturação dos esquemas intermediários gerados. 2. algumas vezes considera-se que a linguagem não possa ser facilmente lida por humanos. Minimalidade . renomeação de nomes e reestruturação de elementos. OWL é considerada uma linguagem poderosa devido à sua grande expressividade na representação de classes e suas respectivas propriedades e seus relacionamentos. apresentando os conceitos desse domínio e as relações entre eles. Devido ser escrita em XML. para resolver os conflitos.4 Ontologias e OWL De uma forma geral. se necessário. por isso vem pode ser facilmente utilizada na web para troca de informações. Uma ontologia fornece uma compreensão comum e compartilhada de algum domínio que pode ser comunicada entre pessoas e computadores. deve-se sempre que possível escolher as formas mais claras e simples de representação. A OWL é dividida em três sub-linguagens: . Compreensibilidade . uma ontologia é um meio de descrever um domínio qualquer. 1986]: Completude e Correção . reestruturados. a fim de atingir alguns critérios de qualidade desejáveis. 1992]. A Figura 2 mostra um exemplo de uma ontologia. Os esquemas intermediários gerados são analisados e. de um modo formal.se um mesmo conceito está presente em mais de um esquemas de entrada. a fim de que possa ser utilizada por agentes de software [GRUBER. então ele deve estar presente uma única vez no esquema integrado.

uma propriedade não pode ser um indivíduo ou uma classe. Um exemplo de uma restrição da OWL DL é a separação de tipos. OWL DL – inclui todas as construções da linguagem OWL com restrições. restrições de cardinalidade são permitidas. que não permite que uma classe seja também um indivíduo ou uma propriedade. por exemplo. OWL Full – provê o máximo e expressividade e liberdade sintática da RDF.19 OWL Lite – provê uma hierarquia de classificação primária e restrições simples. Para propósitos de representação de esquemas e domínios. Devido a essa análise na OntoGen se utiliza a linguagem OWL DL e que conseqüentemente é utilizada também na OntoRel. Por exemplo. Ao adotar a linguagem OWL para representação de ontologias. A escolha entre a OWL Lite e OWL DL pode ser feita considerando o nível de expressividade que é necessário. . Já a escolha entre OWL DL e OWL Full pode ser feita de acordo com a necessidade de compatibilidade com a RDF e a utilização de capacidades de inferência. A OWL DL provê o máximo de expressividade sem perda da completude computacional (existe uma garantia de que todas as implicações são computadas) e decibilidade dos sistemas de inferência (todas as computações terminam em tempo finito). incluindo todas as construções da linguagem OWL[MELLO. Uma classe poderia ser tratada simultaneamente como uma coleção de indivíduos e como um indivíduo somente. mas sem garantias computacionais. deve-se fazer a escolha baseada nas necessidades que se tem. A OWL Full permite também aumentar o significado do vocabulário OWL pré-definido. pois ela provê uma considerável expressividade. 2007]. mas só permite que os valores de sejam 0 ou 1. a linguagem mais adequada é a OWL DL.

A seguir. representação de árvores e mapa de relações.5 Trabalhos Relacionados Conforme já discutido no Capítulo 1. (b) o mapeamento de DTDs (Document Type Definition). Na técnica de mapa de relações. existem várias opções de armazenar dados XML: armazenamento como strings. (c) o mapeamento de XML .Exemplo de ontologia [SACCOL. Há diversas formas e trabalhos relacionados que conduzem este mapeamento de formato XML para o modelo relacional. Nesta abordagem.20 Figura 2 . os elementos são mapeados para relações e atributos. 2006]. pode-se adotar: (a) o mapeamento direto de documentos XML. são descritos alguns trabalhos relacionados que tratam do armazenamento de documentos XML em Bancos de Dados Relacionais. 2.

O artigo de Ronald Bourret sugere uma abordagem de mapeamento de DTDs para banco de dados relacionais. ou seja. Desta forma. são representados como folhas no grafo. string. dependendo das regras de transformação adotadas. Na segunda forma. resultando em seis esquemas diferentes de mapeamento. é apresentado um algoritmo de mapeamento de definições XML Schema para SQL que se fundamenta em levantamentos estatísticos realizados sobre uma coleção de XSDs obtidas da Web. mapeia-as para tabelas e colunas no banco de dados relacional. O mapeamento começa pelo reconhecimento de tipos simples. Para que isso seja possível. (d) e o mapeamento de ontologias que descrevem os documentos XML. ou seja. elementos cujo conteúdo possui atributos. esses elementos são equivalentes as classes em programação orientada a objeto. A . Esse algoritmo de mapeamento considera as principais construções propostas pelo padrão XML Schema. Desta forma. Quando montadas as classes. conforme descrito a seguir. Questões fundamentais como a ordem e a cardinalidade dos elementos são tratadas. Elementos atômicos. 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ó. pode-se mapear o XML Schema para um esquema relacional (c). elementos cujo conteúdo pode ser representado direto no computador.21 Schemas. No artigo de Alberto Laender propõe-se um algoritmo para mapeamento de definições XML Schema para o padrão SQL:1999. tais como elementos do tipo integer. todos os documentos XML que são válidos por esta DTD podem ser armazenados no conjunto de tabelas gerado pelo mapeamento. etc. Depois reconhece os tipos complexos. As seis abordagens de Florescu se dividem em três formas para armazenar as arestas do grafo e duas formas para armazenar as folhas (valores) do grafo. Documentos XML opcionalmente possuem esquemas representados como XML Schemas. A segunda técnica (b) objetiva mapear a DTD para um conjunto de tabelas. As relações elemento-subelemento são representadas por arestas no grafo e rotuladas com o nome do subelemento. Na primeira técnica (a). pode-se mapear diretamente os documentos XML para um esquema relacional. como por exemplo. Na primeira forma. Daniela Florescu em “Storing and Querying XML Data using RDMBS” relata seis possíveis abordagens. são propostas duas formas de mapeamentos: mapeamento baseado em tabelas e mapeamento baseado em objetos. Neste artigo. a idéia básica é 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. uma string. a DTD gera uma única tabela ou um conjunto de tabelas.

Já o segundo definiu um algoritmo específico para a transformação das classes. diversos documentos XML com estruturas diferentes. precisamos definir regras de mapeamento para um subconjunto dos elementos OWL. o presente trabalho dá continuidade a um projeto maior atualmente em desenvolvimento pelo grupo. é descrita a ferramenta OntoGen. Desta forma. a qual foi desenvolvida em um trabalho prévio co-orientado pela professora. uma vez que uma série de construções OWL permitidas não são interessantes para nossa aplicação. Neste trabalho. A seguir. Além disso. o mapeamento se torna mais simples e enxuto. A ontologia integrada é o artefato de entrada da proposta do corrente trabalho. Como adotamos como artefato de entrada as ontologias geradas pela ferramenta OntoGen (que representam esquemas integrados de documentos XML de um certo domínio de aplicação). Esta ferramenta gera como saída uma ontologia OWL correspondente à integração dos esquemas de diversos documentos XML de um mesmo domínio de aplicação. No trabalho de Zhang et al e Vysniauskas et al são propostos mapeamentos de OWL para bancos de dados relacionais. outro para transformação das propriedades. podem ser mapeados e armazenados em uma mesma coleção de tabelas no Banco de Dados Relacional. O primeiro definiu onze regras de mapeamento para atingir todos os elementos de um documento OWL. a quarta forma de armazenamento de documentos XML consiste em mapear a ontologia que descreve o documento XML para um modelo relacional (d). adota-se a abordagem de mapeamento da ontologia para um esquema relacional. Deise Saccol. preocupando-se em mapear apenas os conceitos e relações pertinentes ao domínio de aplicação.22 abordagem utilizada é totalmente automática. a fim de que se faça a geração do esquema relacional. não requerendo a intervenção do usuário em nenhum momento de sua execução. Finalmente. mas descritos por uma mesma ontologia. o qual trata da integração de documentos XML. outro para transformação das propriedades de tipos de dados e outro para transformação das restrições. . Desta forma.

Márcio R. a ferramenta recebe com entrada dois ou mais esquemas (representados em XML Schema) ou documentos XML. A etapa de integração semântica é responsável pela integração das ontologias geradas na etapa de conversão do XSD. O módulo de conversão do XSD é responsável pela conversão de cada esquema XML em modelos conceituais canônicos. Será descrita a abordagem de integração que foi implementada. E por fim gera uma ontologia que represente a integração dos esquemas XML de entrada. está detalhado na Figura 3. gerando ao final do processo uma ontologia que represente os esquemas integrados. essa ferramenta foi incorporada a ferramenta OntoGen. 3. implementado na ferramenta OntoGen. Para está conversão. pertencentes ao mesmo domínio. para que seja gerada ao final do processo uma única ontologia. representada através da linguagem OWL DL. Basicamente. Na integração semântica são aplicadas as regras de unificação. sofrendo algumas modificações. objeto de saída da ferramenta. O processo de integração de esquemas.1 Visão Geral O objetivo geral da ferramenta OntoGen é a integração de esquemas XML. Essa ontologia deve representar todas as ontologias de entrada e será considerada a ontologia global. . de Mello utilizou uma ferramenta desenvolvida por outro acadêmico da Universidade Federal de Santa Catarina. no mesmo formato das ontologias geradas anteriormente.3 A FERRAMENTA ONTOGEN Este capítulo tem como objetivo fazer uma breve descrição da ferramenta de integração de documentos XML a OntoGen. como Trabalho de Graduação do curso de Ciência da Computação da Universidade Federal do Rio Grande do Sul em novembro de 2007. que foi desenvolvida pelo acadêmico Márcio Roberto de Mello.

.24 Figura 3 – Processo de Integração de Esquemas Esta ontologia global. gerada pela OntoGen. é o artefato de entrada para o mecanismo proposto neste trabalho. descrito a seguir.

1 Um conceito não léxico refere-se a objetos que não têm representação direta em computador (objetos complexos). gerada pela OntoGen. que é repassada para a próxima etapa gerando os objetos do tipo ConceitoNãoLéxico1. 2 Um conceito léxico é um objeto que é representável diretamente em computador. de forma a possibilitar o posterior armazenamento de documentos XML descritos por esta ontologia em uma base de dados relacional. . Na terceira etapa aplicam-se as regras de transformação e armazenam-se as informações em objetos do tipo Tabela. através de cadeias de bits (números. ConceitoLéxico2 e Relacionamento. Na primeira etapa a OntoRel recebe como entrada a ontologia. cadeias de caracteres.4 A FERRAMENTA ONTOREL Este capítulo descreve a ferramenta para mapeamento de ontologias OWL DL (geradas pela ferramenta OntoGen) para banco de dados relacionais. Na quarta etapa tendo todas essas informações. esta ontologia é mapeada para um conjunto de tabelas. etc). Esta ontologia representa o esquema integrado de vários documentos XML de um mesmo domínio de aplicação (mas inicialmente descritos por individuais . 4. denominada OntoRel.DTD ou XML Schema . A Figura 4 mostra as principais etapas do mecanismo proposto neste trabalho.1 Visão Geral A ferramenta OntoRel recebe uma ontologia OWL DL. é construído o arquivo XML de saída e o script SQL que pode ser editado e eventualmente executado direto no banco de dados.diferentes). Através de um conjunto de regras de mapeamento.

26 Figura 4 – Abordagem proposta na OntoRel 4.sql ou ser executado diretamente no banco de dados. 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 saída da ferramenta OntoGen. . 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 .2 Arquitetura O objetivo geral da ferramenta OntoRel é o mapeamento de esquemas XML integrados para banco de dados relacional. Saída – dois tipos de saída.

como mostra a Figura 5.2. Por exemplo. 4. disponível em http://xstream. Ferramenta OntoGen – uma ferramenta para integração de esquemas XML. se o nome da tabela for writer a chave primária criada será cod_writer.3 Proposta de Geração de Esquema Relacional Para geração de um esquema relacional a partir de documentos XML integrados. Ambiente de Desenvolvimento (IDE) – NetBeans 6. A tabela recebe o nome do conceito e é criada uma chave primária com o nome de cod_ mais o nome da tabela.6. Biblioteca XStream – uma API utilizada para gerar arquivos XML contendo informações de objetos ou ainda salvar em objetos informações de arquivos XML. Biblioteca DOM – uma API para navegar e modificar documentos XML. ela disponibiliza uma série de funções para percorrer e editar esses documentos. .1 Tecnologias Utilizadas As tecnologias e ferramentas utilizadas na implementação da ferramenta OntoRel foram as seguintes: Linguagem de Programação – Java 1. Biblioteca JDBC – é uma API Java utilizada para conectar a aplicação ao banco de dados.1.codehaus.9. foram definidas as seguintes regras de transformação: Conceito Não Léxico: é mapeado para uma tabela.html.org/download.27 4.

Figura 6 – Conceito Léxico No relacionamento a cardinalidade direta dirá se a coluna é obrigatória (not null) ou não. Por exemplo. Por exemplo.28 Figura 5 – Conceito Não Léxico Conceitos léxicos: são mapeados para colunas da tabela correspondente ao conceito não léxico a que pertence. Ou seja. X) e X sendo 1 ou N. os relacionamentos que associam um conceito não léxico e um conceito léxico determinam que a tabela gerada para o conceito não léxico recebe uma coluna com o nome e tipo do conceito léxico associado. se contiver (1. são analisadas as cardinalidades diretas e inversas. um conceito não léxico writer que possui um relacionamento para um conceito léxico name. como mostra a Figura 6. . a Figura 7 mostra a aplicação 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 primária dela na tabela destino. na tabela writer será adicionada uma coluna name do mesmo tipo do respectivo conceito léxico. Nos relacionamentos que possuem origem e destino ambos em conceitos não léxicos. Se for (N para 1) é criada uma chave estrangeira que referencia a tabela destino com o nome da chave primária dela na tabela origem. a coluna é not null.

4 Funcionamento da Ferramenta A ferramenta percorre todos os elementos pertencentes ao documento de entrada. a qual possui como nome a concatenação dos dois conceitos. ConceitoNaoLexico e Relacionamento. O primeiro refere-se aos conceitos léxicos. .29 Se for (N para N) é criada uma nova tabela com o nome do relacionamento. mapeando-os para objetos tais como: ConceitoLexico. o segundo a conceitos não léxicos e o último a relacionamentos entre os conceitos. que são mostrados na Figura 8. Figura 7 – Relacionamento entre conceitos não léxicos 4. Essa tabela contém uma chave primária composta pela coluna com o mesmo nome e tipo da chave primária da tabela de origem e pela coluna com o mesmo nome e tipo da chave primária da tabela de destino.

30

Figura 8 – Diagrama de Classe dos Objetos ConceitoNaoLexico, Relacionamento e ConceitoLexico

Nos conceitos léxicos, é armazenado o nome do conceito e seu tipo (string, integer...). Nos conceitos não léxicos, é 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 informações do arquivo de entrada em objetos, a ferramenta analisa esses objetos e aplica as regras de transformação para modelo relacional, que farão as informações deles serem representadas em objetos do tipo Tabela. Nesses objetos são armazenadas informações como: nome da tabela; colunas, que também é um objeto e que por sua vez armazena o nome da coluna, tipo (string, integer...) e se ela é obrigatória ou não; RestriçõesDasTabelas que é outro objeto que guarda, como por exemplo, a chave primária da tabela e as chaves estrangeiras, mostrado na Figura 9.

31

Figura 9 – Diagrama de Classe dos objetos Tabela, RestricoesDasTabelas e Coluna

Como saída, 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 código de criação das tabelas, este podendo ser editado na própria 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 seção são apresentadas as principais funcionalidades da ferramenta de integração de esquemas OntoRel, com o objetivo de explicar seu funcionamento.

32

A Figura 10 mostra a tela inicial da ferramenta. A partir dela o usuário tem acesso às seguintes funcionalidades: Procurar .owl; Executar.

Figura 10 – OntoRel – Tela inicial

4.5.1 Procurar .owl

Esta é a funcionalidade para que o usuário possa escolher o arquivo de entrada da ferramenta, este arquivo deve ser uma ontologia .owl gerada pela OntoGen. O evento disparado por este botão “Procurar .owl” abre uma janela para a busca do arquivo, conforme mostrado na Figura 11.

. Após salvar este arquivo no local desejado.xml que contém informações sobre o modelo relacional gerado pela OntoRel e que é uma das saídas da ferramenta.5. E a próxima tela é igual a da Figura 11 só que desta vez é para salvar o arquivo . a próxima tela a aparecer é um editor que conterá o script SQL sugerido pela ferramenta .Janela para escolha de arquivo 4.33 Figura 11 – OntoRel .2 Executar O botão “Executar” inicia o processo de transformação do esquema global para modelo relacional. conforme mostrado na Figura 12.

além disso terá as seguintes opções: Salvar SQL.1 Salvar SQL Clicando no botão “Salvar SQL” irá surgir uma tela igual à tela da Figura 11 só que serve para o usuário selecionar o local onde será salvo o arquivo .sql e digitar o nome do arquivo a ser salvo.2. Executar no BD.34 Figura 12 – OntoRel – Editor do script SQL No editor mostrado na Figura 12. Salvar e Executar no BD. . Cancelar. 4.5. o usuário poderá fazer as alterações que ele quiser no script SQL gerado pela OntoRel e.

Após clicar em “Executar no BD” irá aparecer uma tela de login.1 Executar no BD O objetivo desta função é possibilitar o usuário executar o script SQL direto no banco de dados. o banco usado é o PostgreSQL. Figura 13 – OntoRel – Login do Banco de Dados 4.6 Demonstração da OntoRel Como demonstração das funcionalidades implementadas. .5. Figura 13. onde os campos “IP do BD”. “Nome do BD”. esta seção apresentará os arquivos de entrada e os arquivos gerados pela ferramenta utilizando representações gráficas.3 Salvar e Executar no BD Este botão faz com que logo após o usuário salvar o script SQL em um arquivo . será apresentado um estudo de caso detalhando o processo de transformação para modelo relacional de um esquema global.2.sql já vá direto para a tela de login do banco de dados para também executá-lo no banco de dados. e clique em “Executar no BD” da tela de login para a execução da consulta. onde se deseja executar o script.35 4. Para efeitos de testes.2. Para melhor entendimento e visualização dos resultados. 4. “Usuário” e “Senha” deverão ser preenchidos conforme as configurações do banco de dados.5.

Depois de aplicadas as regras gera-se o arquivo.. Observando a Figura 16 vemos que ela é composta por elementos tabela e seus subelementos. institution. conference.owl selecionado A Figura 15 mostra uma ontologia que possui quatro conceitos não léxicos. code. como na Figura 14.. como: nome (nome da tabela). age. como vimos nas seções anteriores. com o arquivo “Global. string. writer e paper. restricoes que possui subelementos restricao. é aplicada as regras de transformação que gerarão outros objetos do tipo Tabela que possuem Coluna e RestricoesDasTabelas. ConceitoLexico e Relacionamento. podemos clicar em “Executar” e dar início a ferramenta.xml de saída mostrado na Figura 16 e o documento propriamente dito está no Apêndice A.) e notNull (se a coluna é obrigatória ou não). city. title.owl” selecionado. day e department e os relacionamentos entre eles. state. Após a extração dessas informações do arquivo de entrada. Figura 14 – OntoRel – Arquivo Global. e nove conceitos léxicos. esses subelementos possuem um tipo (primary_key.36 Para dar início a demonstração. . uma coluna (coluna que receberá a restrição) e se for do tipo foreign_key tem uma references (que diz o nome da tabela referenciada). colunas que possui subelementos coluna que por sua vez possui um nome (nome da coluna). e_mail. name. um tipo (integer. primary_key_composed ou foreign_key). O primeiro passo da ferramenta é percorrer a ontologia extraindo as informações para os objetos do tipo ConceitoNaoLexico.

37 Figura 15 – Ontologia Global .

38 Figura 16 – XML de Saída gerado pela OntoRel .

então ficaria a conferencepaper com cod_conference e cod_paper e a paperwriter com cod_paper e cod_writer. Figura 17. title. o qual pode ser alterado pelo usuário. department. podemos notar que os quatro conceitos não léxicos paper. Neste caso as tabelas recebem uma chave primária composta pelas chaves primárias da tabela de origem e da tabela de destino. o tipo string que aparece no documento XML (<tipo>string</tipo>) é convertido para um varchar (50). age e name se transformaram em colunas de mesmo tipo e nome nas tabelas que contêm o relacionamento para eles. state. city. institution e writer transformaram-se em tabelas de mesmo nome e cada uma com sua chave primária formada por cod_+nomedatabela.sql de saída é mostrado na interface da OntoRel.39 O arquivo . Também notamos que houve a geração de duas tabelas à parte dos conceitos não léxicos a conferencepaper e a paperwriter que foram criadas devido à existência de relacionamentos N para N de conference para paper e de paper para writer. Já os nove conceitos léxicos day. .e_mail. No script SQL. Comparando a ontologia global da Figura 15 com o script SQL do apêndice. code. conference. Figura 17 – Tela do editor com o script SQL gerado pela OntoRel Podemos visualizar melhor o script SQL completo no Apêndice A no final do trabalho.

criando desta forma um conjunto de tabelas que possibilitarão. mas testando com um arquivo OWL com 638 linhas. pois com um arquivo pequeno ela leva 2 segundos e com outro que é mais de cinco vezes maior ela leva na pior das hipóteses o dobro de tempo para gerar o modelo relacional. que é este estudo de caso. Outro estudo de caso é mostrado no Apêndice B com um arquivo OWL de 4145 linhas que a OntoRel levou 4 segundos para gerar o modelo relacional. se observa um bom desempenho na OntoRel.40 Este script é então executado no banco. o armazenamento e o acesso dos dados advindos dos diversos documentos XML utilizados na entrada da ferramenta OntoGen para a geração do esquema integrado (ontologia OWL). a OntoRel levou 2 segundos para gerar o modelo relacional. Não foram realizados muitos testes de desempenho. Então. futuramente. .

A motivação toda e o prazer pelo que eu estava fazendo. comecei a parte de implementação que inicialmente parecia impossível mas se tornou prazerosa e foi fluindo muito bem. pois para determinadas aplicações uma pode ser mais interessante que a outra. estudando sobre a linguagem XML. integração de dados XML e ontologias OWL. o modelo relacional gerado pela ferramenta é capaz de representar o esquema global de entrada (ontologia .1 Dificuldades Encontradas e Motivação No decorrer do desenvolvimento deste trabalho várias barreiras foram vencidas com muita garra e dedicação. é que este trabalho é sobre um assunto atual e útil. A ferramenta recebe como artefato de entrada uma ontologia OWL DL. ou seja. 5. e produz na saída um modelo relacional representado como documento XML e como script SQL. Por estas razões. gerada pela OntoGen.5 CONCLUSÃO Este trabalho apresentou a OntoRel. A abordagem utilizada na ferramenta OntoRel para transformação do esquema global em modelo relacional foi baseada nos atributos da ontologia de entrada. o documento XML e o script SQL.owl gerada pela OntoGen). estava desenvolvendo um trabalho que deixará uma . barreiras essas que fazem o nosso conhecimento intelectual crescer cada vez mais. Para representar o modelo relacional de saída foram utilizados dois tipos de saída. considera-se que o objetivo do trabalho foi alcançado: mapear um esquema XML integrado para banco de dados relacional. Depois de todo esse estudo técnico e com o uma visão mais crítica sobre o assunto. o armazenamento de dados XML. Como foi apresentado no estudo de caso. uma ferramenta capaz de realizar o mapeamento de um esquema XML integrado (descrito por uma ontologia) para banco de dados relacionais. Para conseguir atingir o objetivo que era o sucesso deste trabalho tive que me dedicar muito. pois me deparei com tecnologias e conceitos nunca antes estudados durante a graduação.

se ela foi realmente gerada pela OntoGen. já que este assim como a OntoGen obteve sucesso.2 Trabalhos Futuros No decorrer do desenvolvimento deste trabalho. a fim de armazená-los no banco gerado.42 contribuição para as pessoas. que retornaria verdadeiro se a ontologia de entrada fosse válida. que não fique apenas guardado e que sirva de motivação para outros trabalhos relacionados. Observou-se que seria vantajoso se a ferramenta tivesse um ValidadorDaOntologia. 5. E também dando continuidade a outro trabalho que foi a OntoGen. Também pretende-se num trabalho futuro desenvolver uma outra aplicação que receba como entrada os documentos XML que foram utilizados na entrada da OntoGen. . ou seja. foram observadas algumas limitações e algumas melhorias que poderiam ser feitas na implementação final da ferramenta OntoRel. Espero que o mesmo aconteça com este.

M.com. In: INTERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT. Florianópolis. Toward principles for the design of ontologies used for knowledge sharing. 2005. Disponível em: <http://citeseerx. 1999. v. A Comparative Analysis of Methodologies for Database Schema Integration. 323-364. FLORESCU.br/article. Mapping DTDs to Databases. OntoGen: Uma Ferramenta para Integração de Esquemas XML. Acesso em 25 de outubro de 2010. 52-59.4. In: 20° SIMPÓSIO BRASILEIRO DE BANCO DE DADOS. . Brasil.F. 1986. p. Acesso em 25 de outubro de 2010. Bethesda: [s. 2007.R. n. 1998. ACM Press. EMBLEY. LENZERINI.n. GRUBER. BOURRET. ISSN 0360-0300.83. p.guj.H. T. M..1.REFERÊNCIAS BIBLIOGRÁFICAS BATINI. D. In Formal Ontology in Conceptual Analysis and Knowledge Representation. Ontology-Based Extraction and Structuring of Information from DataRich Unstructured Documents. 1998.18. Bethesda. ACM Comput.htm>. Disponível em: <http://www.. C. GUJ. Proceedings.ist.. Universidade Federal de Santa Catarina. D.1.psu. Storing and Querying XML Data using an RDMBS. MG.rpbourret.4317&rep=rep1&type=pdf>. US. A. Programa de Graduação em Ciência da Computação – Instituto de Informática.show. Belo Horizonte.com/xml/DTDToDatabase.edu/viewdoc/download?doi=10. MELLO. em: LAENDER.logic?id=22>. Parseando XML com DOM. Padova – Italy. MARTINS P. 1992. Trabalho de Graduação. R.]. Survey. Disponível <http://www.. Acesso em 23 de novembro de 2010. Mapeamento de Definições de XML Schema para SQL:1999.

2006.. Porto Alegre. Transforming Ontology Representation from OWL to Relational Database. A. Acesso em 25 de novembro de 2010. 2006. Disponível em: <http://citeseerx. Uma abordagem bottom-up para integração semântica de esquemas XML.pdf >. GAO Z. Programa de Pós-Graduação em Computação – Instituto de Informática. Disponível em: <http://research.. BERNSTEIN.. Z. Matching Schemas Automatically. WANG.com/pubs/69831/tr-2001-17. SACCOL. D. Institut AIFB.. 2005. E. BENJAMINS. Porto Alegre. FENSEL D. DECKER. NEMURAIT. Livro: Sistemas de Banco de Dados.. 2001. 2009.109. Universidade Federal do Rio Grande do Sul. D.ieee.R.1.edu. Porto Alegre. Programa de Pós-Graduação em Computação – Instituto de Informática. S. Integração de Esquemas em Fontes Heterogêneas XML.3036&rep=rep1&type=pdf>. Universidade Federal do Rio Grande do Sul. E. P.S. SACCOL. em: < VYSNIAUSKAS. STUDER. Tese (doutorado em ciência da computação). Detecção e Representação de Documentos XML Replicados e Versionados em um ambiente Peer-to-Peer. Knowledge Engineering: Survey and Future Directions. 1998.1. 2002. RAHN..codehaus. W Design and Implementation of Mapping Rules from OWL to Relational Database.. L. Disponível em : <http://ieeexplore. Disponível http://xstream.A.. H. ZHANG. R. Acesso em 25 de novembro de 2010. Universidade Federal do Rio Grande do Sul. XSTREAM Two Minute Tutorial. SILBERSCHATZ. Acesso em: 25 de outubro de 2010. 2006.sa/viewdoc/download?doi=10. Acesso em 25 de outubro de 2010.jsp?tp=&arnumber=5170964>.html>. R. Programa de Pós-Graduação em Computação – Instituto de Informática.ksu.org/tutorial. Universitat Karlsruhe. . V.44 MELLO. LI.microsoft.org/stamp/stamp.

w3. W3C XML Path Language.45 W3C Document Object Model (DOM). W3C XML Technology. . Acesso em 25 de outubro de 2010. Acesso em 25 de outubro de 2010. Disponível em: <http://www. Disponível em: <http://www.w3. Acesso em 25 de outubro de 2010.org/TR/xpath>.org/DOM/>. Disponível em: <http://www.org/standards/xml>.w3.

int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .w3.w3.w3.w3.w3.w3.com/dummy.org/2000/01/rdf-schema#" xmlns:xsd="http://www.org/2002/07/owl#" xmlns:rdf="http://www.APÊNDICE A: ARQUIVOS DO ESTUDO DE CASO A.org/2001/XMLSchema#" xmlns:owl="http://www.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:cardinality rdf:datatype="&xsd.org/2000/01/rdf-schema#" > <!ENTITY rdf "http://www.org/2001/XMLSchema#" > <!ENTITY rdfs "http://www.owl#" xml:base="http://dummy-ontologies. referente a Figura 15 <?xml version="1.com/dummy.org/1999/02/22-rdf-syntax-ns#" > ]> <rdf:RDF xmlns="http://dummy-ontologies.string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="Relationship"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:cardinality rdf:datatype="&xsd.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.org/1999/02/22-rdf-syntax-ns#"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Concept"/> <owl:Class rdf:ID="NonLexicalConcept"> <rdfs:subClassOf rdf:resource="#Concept"/> <owl:disjointWith rdf:resource="#LexicalConcept"/> </owl:Class> <owl:Class rdf:ID="LexicalConcept"> <rdfs:subClassOf rdf:resource="#Concept"/> <owl:disjointWith rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:DatatypeProperty rdf:ID="DataType"> <rdfs:domain rdf:resource="#LexicalConcept"/> <rdfs:range rdf:resource="&xsd.w3.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.owl" xmlns:rdfs="http://www.1 Documento OWL (Esquema Global) utilizado como entrada na ferramenta OntoRel no estudo de caso.

int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf rdf:resource="#Relationship"/> </owl:Class> <owl:DatatypeProperty rdf:ID="DirectCardinality"> <rdfs:domain rdf:resource="#AssociationRelationship"/> <rdfs:range rdf:resource="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="city"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="conferenceday"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#conference"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.47 <owl:ObjectProperty rdf:ID="SourceConcept"> <rdfs:domain rdf:resource="#Relationship"/> <rdfs:range rdf:resource="#Concept"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="TargetConcept"> <rdfs:domain rdf:resource="#Relationship"/> <rdfs:range rdf:resource="#Concept"/> </owl:ObjectProperty> <owl:Class rdf:ID="AssociationRelationship"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:cardinality rdf:datatype="&xsd.string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="InverseCardinality"> <rdfs:domain rdf:resource="#AssociationRelationship"/> <rdfs:range rdf:resource="&xsd.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:cardinality rdf:datatype="&xsd.string">(0.

string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="paper"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="age"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="conferencepaper"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#conference"/> </owl:Restriction> </rdfs:subClassOf> .string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.48 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="conference"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="institution"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="conferencetitle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#conference"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#title"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="day"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.49 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#paper"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="writer"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="e_mail"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="title"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="name"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="state"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.50 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="paperwriter"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#paper"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#writer"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="papertitle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#paper"/> </owl:Restriction> </rdfs:subClassOf> .string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="department"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="code"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="institutioncity"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#institution"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#city"/> </owl:Restriction> </rdfs:subClassOf> .51 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#title"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="paperinstitution"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#paper"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#institution"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.52 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="institutionname"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#institution"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#name"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(1.string">(0.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="institutionstate"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#institution"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#state"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="institutiondepartment"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#institution"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#department"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.53 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="conferencecity"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#conference"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#city"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(0.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(0.

string">(0.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="writername"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#writer"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#name"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.54 </owl:Class> <owl:Class rdf:ID="conferencestate"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#conference"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#state"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="writercode"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> .string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.55 <owl:allValuesFrom rdf:resource="#writer"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#code"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="writere_mail"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#writer"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#e_mail"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="writerage"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#writer"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> .

string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdf:RDF> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.56 <owl:allValuesFrom rdf:resource="#age"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

57 A.2 Documento XML de saída da OntoRel <tabelas> <tabela> <nome>paper</nome> <coluna> <nome>cod_paper</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>title</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_institution</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_paper</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_institution</coluna> <referencia>institution</referencia> </restricao> </tabela> <tabela> <nome>conference</nome> <coluna> <nome>cod_conference</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>day</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>title</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>city</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>state</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_conference</coluna> </restricao> .

58 </tabela> <tabela> <nome>institution</nome> <coluna> <nome>cod_institution</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>city</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>state</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>name</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>department</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_institution</coluna> </restricao> </tabela> <tabela> <nome>writer</nome> <coluna> <nome>cod_writer</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>name</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>code</nome> <tipo>integer</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>e_mail</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>age</nome> <tipo>integer</tipo> <obrigatoria>false</obrigatoria> </coluna> .

cod_writer</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_paper</coluna> <referencia>paper</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_writer</coluna> <referencia>writer</referencia> </restricao> </tabela> </tabelas> .cod_paper</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_conference</coluna> <referencia>conference</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_paper</coluna> <referencia>paper</referencia> </restricao> </tabela> <tabela> <nome>paperwriter</nome> <coluna> <nome>cod_paper</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_writer</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_paper.59 <restricao> <tipo>chave_primaria</tipo> <coluna>cod_writer</coluna> </restricao> </tabela> <tabela> <nome>conferencepaper</nome> <coluna> <nome>cod_conference</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_paper</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_conference.

e_mail varchar (50). primary key (cod_institution)). create table writer (cod_writer integer not null. primary key (cod_writer)). department varchar (50). name varchar (50). name varchar (50) not null. primary key (cod_conference)). create table conferencepaper (cod_conference integer not null. primary key (cod_paper)). title varchar (50) not null. title varchar (50) not null. city varchar (50). state varchar (50). state varchar (50). .60 A. city varchar (50). age integer. create table conference (cod_conference integer not null. day varchar (50).3 Script SQL de saída da OntoRel create table paper (cod_paper integer not null. code integer. cod_institution integer not null. create table institution (cod_institution integer not null.

. alter table paper add foreign key (cod_institution) references institution. alter table conferencepaper add foreign key (cod_conference) references conference. primary key (cod_conference. primary key (cod_paper.cod_paper)).61 cod_paper integer not null. alter table conferencepaper add foreign key (cod_paper) references paper.cod_writer)). cod_writer integer not null. alter table paperwriter add foreign key (cod_writer) references writer. alter table paperwriter add foreign key (cod_paper) references paper. create table paperwriter (cod_paper integer not null.

w3.w3.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .1 Documento OWL (Esquema Global) utilizado como entrada na ferramenta OntoRel neste estudo de caso mais complexo do que o visto no trabalho anteriormente. <?xml version="1.string">(1.org/2001/XMLSchema#" > <!ENTITY rdfs "http://www.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.com/dummy.owl#" xml:base="http://dummy-ontologies.APÊNDICE B: ESTUDO DE CASO 2 B.w3.w3.owl" xmlns:rdfs="http://www.org/1999/02/22-rdf-syntax-ns#" > ]> <rdf:RDF xmlns="http://dummy-ontologies.w3.org/1999/02/22-rdf-syntax-ns#"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="DataBankListDataBank"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DataBankList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DataBank"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.com/dummy.w3.org/2001/XMLSchema#" xmlns:owl="http://www.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.org/2000/01/rdf-schema#" xmlns:xsd="http://www.org/2000/01/rdf-schema#" > <!ENTITY rdf "http://www.

63 <owl:Class rdf:ID="DataBankListCompleteYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DataBankList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CompleteYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DataBankAccessionNumberList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DataBank"/> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DataBankDataBankName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DataBank"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DataBankName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleDataBankList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DataBankList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDateHour"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Hour"/> .string">(1.string">(0.64 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#AccessionNumberList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDateMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.65 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> .string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDateMinute"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Minute"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubmedDataArticleIdList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubmedData"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ArticleIdList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> .string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubmedDataHistory"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubmedData"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#History"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.66 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="QualifierNameQualifierNameTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .67 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubmedDataPublicationStatus"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubmedData"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PublicationStatus"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDateDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

68 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#QualifierName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#QualifierNameTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AccessionNumberListAccessionNumber"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AccessionNumberList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.string">(1.string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AbstractCopyrightInformation"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Abstract"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CopyrightInformation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDateYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .69 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#AccessionNumber"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubMedPubDatePubStatus"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubStatus"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

70

<owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="QualifierNameMajorTopicYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#QualifierName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MajorTopicYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PaginationMedlinePgn"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Pagination"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MedlinePgn"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf>

71

<owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PMIDVersion"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PMID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Version"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PMIDPMIDTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PMID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PMIDTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(0,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class>

72

<owl:Class rdf:ID="MeshHeadingQualifierName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MeshHeading"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#QualifierName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(0,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="OtherIDSource"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#OtherID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Source"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="OtherIDOtherIDTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#OtherID"/>

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubmedArticleMedlineCitation"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubmedArticle"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PublicationTypeListPublicationType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PublicationTypeList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PublicationType"/> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.73 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#OtherIDTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.74 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubDateMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubmedArticlePubmedData"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubmedArticle"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubmedData"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.

N)</owl:hasValue> .string">(1.string">(1.string">(0.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubDateDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubDateYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#PubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.75 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineJournalInfoCountry"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineJournalInfo"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Country"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.76 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineJournalInfoISSNLinking"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineJournalInfo"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ISSNLinking"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationStatus"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MeshHeadingListMeshHeading"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MeshHeadingList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MeshHeading"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.77 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Status"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MeshHeadingDescriptorName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MeshHeading"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineJournalInfoNlmUniqueID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineJournalInfo"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#NlmUniqueID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.78 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DescriptorName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineJournalInfoMedlineTA"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineJournalInfo"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MedlineTA"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .

string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationMedlineJournalInfo"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MedlineJournalInfo"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .79 <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationMeshHeadingList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MeshHeadingList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationInvestigatorList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#InvestigatorList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationPMID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PMID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.80 <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationOtherID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#OtherID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(0.string">(1.81 <owl:Class rdf:ID="MedlineCitationOwner"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Owner"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationCitationSubset"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> .

82

</owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CitationSubset"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationCommentsCorrectionsList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrectionsList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(0,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationArticle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Article"/>

83

</owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationChemicalList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ChemicalList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(0,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationDateCreated"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DateCreated"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue>

84

</owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationDateRevised"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DateRevised"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(0,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineCitationDateCompleted"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#MedlineCitation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DateCompleted"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd;string">(1,N)</owl:hasValue>

85 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalIssueVolume"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#JournalIssue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Volume"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalIssuePubDate"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalIssueIssue"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#JournalIssue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Issue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.86 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#JournalIssue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="mainPubmedArticle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#main"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubmedArticle"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalJournalIssue"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Journal"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalTitle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Journal"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Title"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InvestigatorValidYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Investigator"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ValidYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.87 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#JournalIssue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(0.88 <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ISSNISSNTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ISSN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ISSNTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ISSNIssnType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ISSN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#IssnType"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalISOAbbreviation"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Journal"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ISOAbbreviation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.89 <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalIssueCitedMedium"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#JournalIssue"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CitedMedium"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantListCompleteYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#GrantList"/> .90 <owl:Class rdf:ID="JournalISSN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Journal"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ISSN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantListGrant"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#GrantList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Grant"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.91 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CompleteYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InvestigatorInitials"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Investigator"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Initials"/> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="HistoryPubMedPubDate"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#History"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubMedPubDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InvestigatorForeName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Investigator"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ForeName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InvestigatorListInvestigator"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#InvestigatorList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Investigator"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> .92 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.string">(1.

string">(1.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InvestigatorLastName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Investigator"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#LastName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.93 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ELocationIDELocationIDTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ELocationID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ELocationIDTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantAcronym"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Grant"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Acronym"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.94 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ELocationIDValidYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ELocationID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ValidYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantAgency"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

95 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Grant"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Agency"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantGrantID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Grant"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantCountry"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Grant"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Country"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateRevisedDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateRevised"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.96 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#GrantID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateRevisedMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateRevised"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateRevisedYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateRevised"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.97 <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DescriptorNameDescriptorNameTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DescriptorName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DescriptorNameTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DescriptorNameType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DescriptorName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Type"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DescriptorNameMajorTopicYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DescriptorName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#MajorTopicYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.98 <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCreatedYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCreated"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCreatedMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCreated"/> .string">(1.99 <owl:Class rdf:ID="ELocationIDEIdType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ELocationID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#EIdType"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCreatedDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCreated"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.100 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCompletedYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCompleted"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> .string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCompletedDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCompleted"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.string">(1.1)</owl:hasValue> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateCompletedMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#DateCompleted"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.101 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CommentsCorrectionsRefType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrections"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#RefType"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> .102 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CommentsCorrectionsRefSource"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrections"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#RefSource"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CommentsCorrectionsListCommentsCorrections"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrectionsList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrections"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ChemicalRegistryNumber"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .103 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CommentsCorrectionsPMID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#CommentsCorrections"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PMID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.string">(1.

string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ChemicalNameOfSubstance"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Chemical"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#NameOfSubstance"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.104 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Chemical"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#RegistryNumber"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorValidYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ChemicalListChemical"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ChemicalList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Chemical"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorListCompleteYN"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AuthorList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CompleteYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .105 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ValidYN"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

string">(1.string">(1.106 <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorSuffix"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Suffix"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorListAuthor"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AuthorList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(0.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorLastName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#LastName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.107 <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorInitials"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Initials"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

108 <owl:Class rdf:ID="AuthorForeName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ForeName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AuthorCollectiveName"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Author"/> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticlePubModel"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PubModel"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticlePagination"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Pagination"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.109 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#CollectiveName"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(0.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticlePublicationTypeList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#PublicationTypeList"/> .

1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleIdIdType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleId"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#IdType"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleLanguage"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Language"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.110 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> .string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleJournal"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Journal"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleIdListArticleId"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleIdList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ArticleId"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.111 </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> .string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.

string">(0.112 </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleELocationID"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ELocationID"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleIdArticleIdTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> .N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleDateYear"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Year"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

string">(1.113 <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleId"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ArticleIdTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleGrantList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#GrantList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleDateDay"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(0.

N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleDateMonth"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Month"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.114 <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Day"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.string">(1.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleDateDateType"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#ArticleDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#DateType"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

string">(0.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> .string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.115 <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleArticleTitle"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ArticleTitle"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleArticleDate"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#ArticleDate"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.

string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AbstractTextNlmCategory"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AbstractText"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#NlmCategory"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleAuthorList"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#AuthorList"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .116 <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleAffiliation"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Affiliation"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AccessionNumberList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="QualifierName"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> .117 <owl:Class rdf:ID="ArticleAbstract"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Article"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Abstract"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.

string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AbstractTextAbstractTextTexto"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AbstractText"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#AbstractTextTexto"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.118 <owl:Class rdf:ID="DataBankList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DataBank"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="AbstractAbstractText"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#Abstract"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#AbstractText"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(0.

string">(1.119 <owl:Class rdf:ID="AbstractTextLabel"> <rdfs:subClassOf rdf:resource="#AssociationRelationship"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:allValuesFrom rdf:resource="#AbstractText"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:allValuesFrom rdf:resource="#Label"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:hasValue rdf:datatype="&xsd.string">(1.N)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="JournalIssue"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="main"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="ISSN"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Journal"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="MeshHeading"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="MeshHeadingList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="MedlineCitation"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="MedlineJournalInfo"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PMID"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PubDate"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="OtherID"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> .1)</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:hasValue rdf:datatype="&xsd.

120 <owl:Class rdf:ID="Pagination"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PubmedData"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PubMedPubDate"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PublicationTypeList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="PubmedArticle"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="ChemicalList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Chemical"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="AuthorList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Author"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DateCreated"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DateCompleted"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="CommentsCorrectionsList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="CommentsCorrections"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Grant"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="ELocationID"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DescriptorName"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DateRevised"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="InvestigatorList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Investigator"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="History"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> .

121 <owl:Class rdf:ID="GrantList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:ObjectProperty rdf:ID="SourceConcept"> <rdfs:domain rdf:resource="#Relationship"/> <rdfs:range rdf:resource="#Concept"/> </owl:ObjectProperty> <owl:Class rdf:ID="Relationship"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#SourceConcept"/> <owl:cardinality rdf:datatype="&xsd.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf rdf:resource="#Relationship"/> </owl:Class> <owl:Class rdf:ID="LexicalConcept"> <rdfs:subClassOf rdf:resource="#Concept"/> <owl:disjointWith rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:DatatypeProperty rdf:ID="DataType"> <rdfs:domain rdf:resource="#LexicalConcept"/> <rdfs:range rdf:resource="&xsd.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#TargetConcept"/> <owl:cardinality rdf:datatype="&xsd.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#InverseCardinality"/> <owl:cardinality rdf:datatype="&xsd.int">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="DirectCardinality"> <rdfs:domain rdf:resource="#AssociationRelationship"/> <rdfs:range rdf:resource="&xsd.string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="Concept"/> <owl:Class rdf:ID="NonLexicalConcept"> <rdfs:subClassOf rdf:resource="#Concept"/> <owl:disjointWith rdf:resource="#LexicalConcept"/> </owl:Class> <owl:Class rdf:ID="CompleteYN"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> .string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="TargetConcept"> <rdfs:domain rdf:resource="#Relationship"/> <rdfs:range rdf:resource="#Concept"/> </owl:ObjectProperty> <owl:Class rdf:ID="AssociationRelationship"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DirectCardinality"/> <owl:cardinality rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DateType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CitedMedium"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> .string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Country"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="DescriptorNameTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.122 <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CollectiveName"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="EIdType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleTitle"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.123 <owl:Class rdf:ID="Day"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="InverseCardinality"> <rdfs:domain rdf:resource="#AssociationRelationship"/> <rdfs:range rdf:resource="&xsd.string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="AbstractTextTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CitationSubset"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Affiliation"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Acronym"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Agency"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> .

string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="IssnType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlinePgn"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Issue"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Label"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleIdTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ISSNTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.124 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="LastName"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.125 </owl:Class> <owl:Class rdf:ID="MajorTopicYN"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Hour"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Language"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="GrantID"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ELocationIDTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> .string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ForeName"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ISOAbbreviation"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.126 <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="IdType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PMIDTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Initials"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PublicationStatus"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PublicationType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> .string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ISSNLinking"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="MedlineTA"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubModel"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="RefSource"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="QualifierNameTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="RefType"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.127 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PubStatus"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="NlmCategory"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="NameOfSubstance"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="NlmUniqueID"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.128 </owl:Class> <owl:Class rdf:ID="Minute"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Month"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="OtherIDTexto"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string"></owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Owner"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> .

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AbstractText"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Abstract"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="DataBankName"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.129 <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="AccessionNumber"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Year"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="CopyrightInformation"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ArticleIdList"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="ArticleId"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> .string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Volume"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Title"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="RegistryNumber"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Suffix"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.130 </owl:Class> <owl:Class rdf:ID="ArticleDate"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Article"> <rdfs:subClassOf rdf:resource="#NonLexicalConcept"/> </owl:Class> <owl:Class rdf:ID="Source"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> .string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Type"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Status"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.

string">integer</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ValidYN"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.131 </owl:Class> <owl:Class rdf:ID="Version"> <rdfs:subClassOf rdf:resource="#LexicalConcept"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#DataType"/> <owl:hasValue rdf:datatype="&xsd.string">string</owl:hasValue> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdf:RDF> .

2 Documento XML de saída da OntoRel <tabelas> <tabela> <nome>AccessionNumberList</nome> <coluna> <nome>cod_AccessionNumberList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>AccessionNumber</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_AccessionNumberList</coluna> </restricao> </tabela> <tabela> <nome>QualifierName</nome> <coluna> <nome>cod_QualifierName</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>QualifierNameTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>MajorTopicYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_QualifierName</coluna> </restricao> </tabela> <tabela> <nome>DataBankList</nome> <coluna> <nome>cod_DataBankList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DataBank</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> .132 B.

133 <nome>CompleteYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DataBankList</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_DataBank</coluna> <referencia>DataBank</referencia> </restricao> </tabela> <tabela> <nome>DataBank</nome> <coluna> <nome>cod_DataBank</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>DataBankName</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_AccessionNumberList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DataBank</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_AccessionNumberList</coluna> <referencia>AccessionNumberList</referencia> </restricao> </tabela> <tabela> <nome>JournalIssue</nome> <coluna> <nome>cod_JournalIssue</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Volume</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Issue</nome> <tipo>integer</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>cod_PubDate</nome> .

134 <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>CitedMedium</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_JournalIssue</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PubDate</coluna> <referencia>PubDate</referencia> </restricao> </tabela> <tabela> <nome>main</nome> <coluna> <nome>cod_main</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_main</coluna> </restricao> </tabela> <tabela> <nome>ISSN</nome> <coluna> <nome>cod_ISSN</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>IssnType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ISSNTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ISSN</coluna> </restricao> </tabela> <tabela> <nome>Journal</nome> <coluna> <nome>cod_Journal</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> .

135 <nome>cod_JournalIssue</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Title</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ISOAbbreviation</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_ISSN</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Journal</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_JournalIssue</coluna> <referencia>JournalIssue</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ISSN</coluna> <referencia>ISSN</referencia> </restricao> </tabela> <tabela> <nome>MeshHeading</nome> <coluna> <nome>cod_MeshHeading</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DescriptorName</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_MeshHeading</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_DescriptorName</coluna> <referencia>DescriptorName</referencia> </restricao> </tabela> <tabela> <nome>MeshHeadingList</nome> <coluna> <nome>cod_MeshHeadingList</nome> .

136 <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_MeshHeadingList</coluna> </restricao> </tabela> <tabela> <nome>MedlineCitation</nome> <coluna> <nome>cod_MedlineCitation</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Status</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_MeshHeadingList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_MedlineJournalInfo</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_InvestigatorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_PMID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Owner</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>CitationSubset</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_CommentsCorrectionsList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Article</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> .

137 <coluna> <nome>cod_ChemicalList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DateCreated</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DateRevised</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DateCompleted</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_MedlineCitation</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MeshHeadingList</coluna> <referencia>MeshHeadingList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MedlineJournalInfo</coluna> <referencia>MedlineJournalInfo</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_InvestigatorList</coluna> <referencia>InvestigatorList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PMID</coluna> <referencia>PMID</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_CommentsCorrectionsList</coluna> <referencia>CommentsCorrectionsList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Article</coluna> <referencia>Article</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ChemicalList</coluna> <referencia>ChemicalList</referencia> </restricao> <restricao> .

138 <tipo>chave_estrangeira</tipo> <coluna>cod_DateCreated</coluna> <referencia>DateCreated</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_DateRevised</coluna> <referencia>DateRevised</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_DateCompleted</coluna> <referencia>DateCompleted</referencia> </restricao> </tabela> <tabela> <nome>MedlineJournalInfo</nome> <coluna> <nome>cod_MedlineJournalInfo</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ISSNLinking</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Country</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>NlmUniqueID</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>MedlineTA</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_MedlineJournalInfo</coluna> </restricao> </tabela> <tabela> <nome>PMID</nome> <coluna> <nome>cod_PMID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Version</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> .

139 <nome>PMIDTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PMID</coluna> </restricao> </tabela> <tabela> <nome>PubDate</nome> <coluna> <nome>cod_PubDate</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PubDate</coluna> </restricao> </tabela> <tabela> <nome>OtherID</nome> <coluna> <nome>cod_OtherID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Source</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>OtherIDTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_OtherID</coluna> </restricao> </tabela> <tabela> <nome>Pagination</nome> .

140 <coluna> <nome>cod_Pagination</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>MedlinePgn</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Pagination</coluna> </restricao> </tabela> <tabela> <nome>PubmedData</nome> <coluna> <nome>cod_PubmedData</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_ArticleIdList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_History</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>PublicationStatus</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PubmedData</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ArticleIdList</coluna> <referencia>ArticleIdList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_History</coluna> <referencia>History</referencia> </restricao> </tabela> <tabela> <nome>PubMedPubDate</nome> <coluna> <nome>cod_PubMedPubDate</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> .

141 <nome>Hour</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Minute</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>PubStatus</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PubMedPubDate</coluna> </restricao> </tabela> <tabela> <nome>PublicationTypeList</nome> <coluna> <nome>cod_PublicationTypeList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>PublicationType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PublicationTypeList</coluna> </restricao> </tabela> <tabela> <nome>PubmedArticle</nome> <coluna> <nome>cod_PubmedArticle</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_MedlineCitation</nome> .

142 <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_PubmedData</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_PubmedArticle</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MedlineCitation</coluna> <referencia>MedlineCitation</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PubmedData</coluna> <referencia>PubmedData</referencia> </restricao> </tabela> <tabela> <nome>ChemicalList</nome> <coluna> <nome>cod_ChemicalList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Chemical</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ChemicalList</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Chemical</coluna> <referencia>Chemical</referencia> </restricao> </tabela> <tabela> <nome>Chemical</nome> <coluna> <nome>cod_Chemical</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>RegistryNumber</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>NameOfSubstance</nome> <tipo>string</tipo> .

143 <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Chemical</coluna> </restricao> </tabela> <tabela> <nome>AuthorList</nome> <coluna> <nome>cod_AuthorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>CompleteYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_AuthorList</coluna> </restricao> </tabela> <tabela> <nome>Author</nome> <coluna> <nome>cod_Author</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ValidYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Suffix</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>Initials</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>LastName</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>ForeName</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>CollectiveName</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> .

144 </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Author</coluna> </restricao> </tabela> <tabela> <nome>DateCreated</nome> <coluna> <nome>cod_DateCreated</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DateCreated</coluna> </restricao> </tabela> <tabela> <nome>DateCompleted</nome> <coluna> <nome>cod_DateCompleted</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DateCompleted</coluna> </restricao> </tabela> .

145 <tabela> <nome>CommentsCorrectionsList</nome> <coluna> <nome>cod_CommentsCorrectionsList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_CommentsCorrectionsList</coluna> </restricao> </tabela> <tabela> <nome>CommentsCorrections</nome> <coluna> <nome>cod_CommentsCorrections</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>RefType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>RefSource</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_PMID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_CommentsCorrections</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PMID</coluna> <referencia>PMID</referencia> </restricao> </tabela> <tabela> <nome>Grant</nome> <coluna> <nome>cod_Grant</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Acronym</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>Agency</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> .

146 </coluna> <coluna> <nome>Country</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>GrantID</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Grant</coluna> </restricao> </tabela> <tabela> <nome>ELocationID</nome> <coluna> <nome>cod_ELocationID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ELocationIDTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>ValidYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>EIdType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ELocationID</coluna> </restricao> </tabela> <tabela> <nome>DescriptorName</nome> <coluna> <nome>cod_DescriptorName</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>DescriptorNameTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>MajorTopicYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> .

147 <coluna> <nome>Type</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DescriptorName</coluna> </restricao> </tabela> <tabela> <nome>DateRevised</nome> <coluna> <nome>cod_DateRevised</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_DateRevised</coluna> </restricao> </tabela> <tabela> <nome>InvestigatorList</nome> <coluna> <nome>cod_InvestigatorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_InvestigatorList</coluna> </restricao> </tabela> <tabela> <nome>Investigator</nome> <coluna> <nome>cod_Investigator</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ValidYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> .

148 </coluna> <coluna> <nome>Initials</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ForeName</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>LastName</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Investigator</coluna> </restricao> </tabela> <tabela> <nome>History</nome> <coluna> <nome>cod_History</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_History</coluna> </restricao> </tabela> <tabela> <nome>GrantList</nome> <coluna> <nome>cod_GrantList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>CompleteYN</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_GrantList</coluna> </restricao> </tabela> <tabela> <nome>AbstractText</nome> <coluna> <nome>cod_AbstractText</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>NlmCategory</nome> <tipo>string</tipo> .

149 <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>AbstractTextTexto</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <coluna> <nome>Label</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_AbstractText</coluna> </restricao> </tabela> <tabela> <nome>Abstract</nome> <coluna> <nome>cod_Abstract</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>CopyrightInformation</nome> <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Abstract</coluna> </restricao> </tabela> <tabela> <nome>ArticleIdList</nome> <coluna> <nome>cod_ArticleIdList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ArticleIdList</coluna> </restricao> </tabela> <tabela> <nome>ArticleId</nome> <coluna> <nome>cod_ArticleId</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>IdType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ArticleIdTexto</nome> .

150 <tipo>string</tipo> <obrigatoria>false</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ArticleId</coluna> </restricao> </tabela> <tabela> <nome>ArticleDate</nome> <coluna> <nome>cod_ArticleDate</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Year</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Day</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>DateType</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Month</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_ArticleDate</coluna> </restricao> </tabela> <tabela> <nome>Article</nome> <coluna> <nome>cod_Article</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_DataBankList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>PubModel</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Pagination</nome> <tipo>integer</tipo> .

151 <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_PublicationTypeList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Language</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Journal</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_GrantList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>ArticleTitle</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_ArticleDate</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_AuthorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Abstract</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>Affiliation</nome> <tipo>string</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria</tipo> <coluna>cod_Article</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_DataBankList</coluna> <referencia>DataBankList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Pagination</coluna> <referencia>Pagination</referencia> .

cod_QualifierName</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MeshHeading</coluna> <referencia>MeshHeading</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_QualifierName</coluna> <referencia>QualifierName</referencia> </restricao> </tabela> <tabela> .152 </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PublicationTypeList</coluna> <referencia>PublicationTypeList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Journal</coluna> <referencia>Journal</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_GrantList</coluna> <referencia>GrantList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ArticleDate</coluna> <referencia>ArticleDate</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_AuthorList</coluna> <referencia>AuthorList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Abstract</coluna> <referencia>Abstract</referencia> </restricao> </tabela> <tabela> <nome>MeshHeadingQualifierName</nome> <coluna> <nome>cod_MeshHeading</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_QualifierName</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_MeshHeading.

153 <nome>MeshHeadingListMeshHeading</nome> <coluna> <nome>cod_MeshHeadingList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_MeshHeading</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_MeshHeadingList.cod_MeshHeading</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MeshHeadingList</coluna> <referencia>MeshHeadingList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MeshHeading</coluna> <referencia>MeshHeading</referencia> </restricao> </tabela> <tabela> <nome>MedlineCitationOtherID</nome> <coluna> <nome>cod_MedlineCitation</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_OtherID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_MedlineCitation.cod_OtherID</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_MedlineCitation</coluna> <referencia>MedlineCitation</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_OtherID</coluna> <referencia>OtherID</referencia> </restricao> </tabela> <tabela> <nome>mainPubmedArticle</nome> <coluna> <nome>cod_main</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> .

cod_Grant</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_GrantList</coluna> <referencia>GrantList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Grant</coluna> <referencia>Grant</referencia> </restricao> </tabela> <tabela> <nome>HistoryPubMedPubDate</nome> <coluna> <nome>cod_History</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_PubMedPubDate</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> .154 <coluna> <nome>cod_PubmedArticle</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_main.cod_PubmedArticle</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_main</coluna> <referencia>main</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PubmedArticle</coluna> <referencia>PubmedArticle</referencia> </restricao> </tabela> <tabela> <nome>GrantListGrant</nome> <coluna> <nome>cod_GrantList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Grant</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_GrantList.

cod_CommentsCorrections</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_CommentsCorrectionsList</coluna> .cod_PubMedPubDate</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_History</coluna> <referencia>History</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_PubMedPubDate</coluna> <referencia>PubMedPubDate</referencia> </restricao> </tabela> <tabela> <nome>InvestigatorListInvestigator</nome> <coluna> <nome>cod_InvestigatorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Investigator</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_InvestigatorList.cod_Investigator</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_InvestigatorList</coluna> <referencia>InvestigatorList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Investigator</coluna> <referencia>Investigator</referencia> </restricao> </tabela> <tabela> <nome>CommentsCorrectionsListCommentsCorrections</nome> <coluna> <nome>cod_CommentsCorrectionsList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_CommentsCorrections</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_CommentsCorrectionsList.155 <tipo>chave_primaria_composta</tipo> <coluna>cod_History.

156 <referencia>CommentsCorrectionsList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_CommentsCorrections</coluna> <referencia>CommentsCorrections</referencia> </restricao> </tabela> <tabela> <nome>AuthorListAuthor</nome> <coluna> <nome>cod_AuthorList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_Author</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_AuthorList.cod_ArticleId</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ArticleIdList</coluna> <referencia>ArticleIdList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ArticleId</coluna> <referencia>ArticleId</referencia> .cod_Author</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_AuthorList</coluna> <referencia>AuthorList</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Author</coluna> <referencia>Author</referencia> </restricao> </tabela> <tabela> <nome>ArticleIdListArticleId</nome> <coluna> <nome>cod_ArticleIdList</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_ArticleId</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_ArticleIdList.

cod_ELocationID</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Article</coluna> <referencia>Article</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_ELocationID</coluna> <referencia>ELocationID</referencia> </restricao> </tabela> <tabela> <nome>AbstractAbstractText</nome> <coluna> <nome>cod_Abstract</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_AbstractText</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_Abstract.157 </restricao> </tabela> <tabela> <nome>ArticleELocationID</nome> <coluna> <nome>cod_Article</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <coluna> <nome>cod_ELocationID</nome> <tipo>integer</tipo> <obrigatoria>true</obrigatoria> </coluna> <restricao> <tipo>chave_primaria_composta</tipo> <coluna>cod_Article.cod_AbstractText</coluna> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_Abstract</coluna> <referencia>Abstract</referencia> </restricao> <restricao> <tipo>chave_estrangeira</tipo> <coluna>cod_AbstractText</coluna> <referencia>AbstractText</referencia> </restricao> </tabela> </tabelas> .

MajorTopicYN varchar (50) not null. create table DataBank (cod_DataBank integer not null. create table JournalIssue (cod_JournalIssue integer not null.158 B. create table QualifierName (cod_QualifierName integer not null. cod_AccessionNumberList integer not null. create table DataBankList (cod_DataBankList integer not null. primary key (cod_AccessionNumberList)).3 Script SQL de saída da OntoRel create table AccessionNumberList (cod_AccessionNumberList integer not null. CitedMedium varchar (50) not null. cod_DataBank integer not null. AccessionNumber varchar (50) not null. primary key (cod_DataBank)). primary key (cod_DataBankList)). DataBankName varchar (50) not null. primary key (cod_JournalIssue)). CompleteYN varchar (50) not null. Issue integer. QualifierNameTexto varchar (50). primary key (cod_QualifierName)). . Volume integer not null. cod_PubDate integer not null.

primary key (cod_ISSN)). create table MeshHeadingList (cod_MeshHeadingList integer not null. Title varchar (50) not null. create table MeshHeading (cod_MeshHeading integer not null. cod_InvestigatorList integer not null. cod_DescriptorName integer not null. Status varchar (50) not null. create table ISSN (cod_ISSN integer not null. cod_MeshHeadingList integer not null. ISOAbbreviation varchar (50) not null. primary key (cod_MeshHeadingList)). create table MedlineCitation (cod_MedlineCitation integer not null. primary key (cod_main)). primary key (cod_MeshHeading)). cod_JournalIssue integer not null. ISSNTexto varchar (50). cod_ISSN integer not null. . cod_MedlineJournalInfo integer not null.159 create table main (cod_main integer not null. IssnType varchar (50) not null. primary key (cod_Journal)). create table Journal (cod_Journal integer not null.

cod_ChemicalList integer not null. cod_CommentsCorrectionsList integer not null. . create table MedlineJournalInfo (cod_MedlineJournalInfo integer not null. Month integer. create table PMID (cod_PMID integer not null. primary key (cod_MedlineCitation)). primary key (cod_MedlineJournalInfo)). Country varchar (50) not null. primary key (cod_PubDate)). create table OtherID (cod_OtherID integer not null. NlmUniqueID varchar (50) not null. ISSNLinking varchar (50) not null. PMIDTexto varchar (50). cod_DateCompleted integer not null. Year integer not null. Day integer. MedlineTA varchar (50) not null. CitationSubset varchar (50) not null. create table PubDate (cod_PubDate integer not null. Owner varchar (50) not null. cod_DateRevised integer not null.160 cod_PMID integer not null. cod_DateCreated integer not null. primary key (cod_PMID)). Version integer not null. cod_Article integer not null.

create table PublicationTypeList (cod_PublicationTypeList integer not null. create table PubmedData (cod_PubmedData integer not null. create table PubmedArticle (cod_PubmedArticle integer not null. primary key (cod_OtherID)). primary key (cod_Pagination)).161 Source varchar (50) not null. Minute integer not null. primary key (cod_PublicationTypeList)). MedlinePgn varchar (50) not null. cod_MedlineCitation integer not null. create table PubMedPubDate (cod_PubMedPubDate integer not null. . Day integer not null. primary key (cod_PubMedPubDate)). OtherIDTexto varchar (50). cod_ArticleIdList integer not null. Month integer not null. create table Pagination (cod_Pagination integer not null. PublicationType varchar (50) not null. Year integer not null. Hour integer not null. primary key (cod_PubmedData)). cod_History integer not null. PublicationStatus varchar (50) not null. PubStatus varchar (50) not null.

CollectiveName varchar (50).162 cod_PubmedData integer not null. Initials varchar (50). create table Author (cod_Author integer not null. ValidYN varchar (50) not null. primary key (cod_AuthorList)). create table ChemicalList (cod_ChemicalList integer not null. create table AuthorList (cod_AuthorList integer not null. RegistryNumber varchar (50) not null. ForeName varchar (50). create table Chemical (cod_Chemical integer not null. cod_Chemical integer not null. create table DateCreated (cod_DateCreated integer not null. Month integer not null. primary key (cod_PubmedArticle)). primary key (cod_Author)). NameOfSubstance varchar (50) not null. LastName varchar (50). Day integer not null. Year integer not null. primary key (cod_ChemicalList)). Suffix varchar (50). primary key (cod_Chemical)). . CompleteYN varchar (50) not null.

163

primary key (cod_DateCreated));

create table DateCompleted (cod_DateCompleted integer not null, Year integer not null, Month integer not null, Day integer not null, primary key (cod_DateCompleted));

create table CommentsCorrectionsList (cod_CommentsCorrectionsList integer not null, primary key (cod_CommentsCorrectionsList));

create table CommentsCorrections (cod_CommentsCorrections integer not null, RefType varchar (50) not null, RefSource varchar (50) not null, cod_PMID integer not null, primary key (cod_CommentsCorrections));

create table Grant (cod_Grant integer not null, Acronym varchar (50), Agency varchar (50) not null, Country varchar (50) not null, GrantID varchar (50), primary key (cod_Grant));

create table ELocationID (cod_ELocationID integer not null, ELocationIDTexto varchar (50), ValidYN varchar (50) not null, EIdType varchar (50) not null, primary key (cod_ELocationID));

164

create table DescriptorName (cod_DescriptorName integer not null, DescriptorNameTexto varchar (50), MajorTopicYN varchar (50) not null, Type varchar (50) not null, primary key (cod_DescriptorName));

create table DateRevised (cod_DateRevised integer not null, Day integer not null, Month integer not null, Year integer not null, primary key (cod_DateRevised));

create table InvestigatorList (cod_InvestigatorList integer not null, primary key (cod_InvestigatorList));

create table Investigator (cod_Investigator integer not null, ValidYN varchar (50) not null, Initials varchar (50) not null, ForeName varchar (50) not null, LastName varchar (50) not null, primary key (cod_Investigator));

create table History (cod_History integer not null, primary key (cod_History));

create table GrantList (cod_GrantList integer not null, CompleteYN varchar (50) not null,

165

primary key (cod_GrantList));

create table AbstractText (cod_AbstractText integer not null, NlmCategory varchar (50) not null, AbstractTextTexto varchar (50), Label varchar (50) not null, primary key (cod_AbstractText));

create table Abstract (cod_Abstract integer not null, CopyrightInformation varchar (50), primary key (cod_Abstract));

create table ArticleIdList (cod_ArticleIdList integer not null, primary key (cod_ArticleIdList));

create table ArticleId (cod_ArticleId integer not null, IdType varchar (50) not null, ArticleIdTexto varchar (50), primary key (cod_ArticleId));

create table ArticleDate (cod_ArticleDate integer not null, Year integer not null, Day integer not null, DateType varchar (50) not null, Month integer not null, primary key (cod_ArticleDate));

create table Article (cod_Article integer not null,

cod_OtherID)). create table MedlineCitationOtherID (cod_MedlineCitation integer not null. primary key (cod_Article)). cod_OtherID integer not null. create table MeshHeadingListMeshHeading (cod_MeshHeadingList integer not null. cod_Journal integer not null.cod_QualifierName)). primary key (cod_MedlineCitation.cod_MeshHeading)). PubModel varchar (50) not null. Affiliation varchar (50) not null. Language varchar (50) not null. . cod_Pagination integer not null. cod_PubmedArticle integer not null. cod_PublicationTypeList integer not null. create table mainPubmedArticle (cod_main integer not null. cod_MeshHeading integer not null. cod_AuthorList integer not null.cod_PubmedArticle)). create table MeshHeadingQualifierName (cod_MeshHeading integer not null. primary key (cod_MeshHeadingList. cod_QualifierName integer not null. cod_ArticleDate integer not null. cod_Abstract integer not null.166 cod_DataBankList integer not null. primary key (cod_MeshHeading. ArticleTitle varchar (50) not null. primary key (cod_main. cod_GrantList integer not null.

167 create table GrantListGrant (cod_GrantList integer not null. create table CommentsCorrectionsListCommentsCorrections (cod_CommentsCorrectionsList integer not null.cod_ArticleId)).cod_Investigator)). primary key (cod_GrantList. create table AuthorListAuthor (cod_AuthorList integer not null. create table HistoryPubMedPubDate (cod_History integer not null. cod_PubMedPubDate integer not null. primary key (cod_History. create table ArticleIdListArticleId (cod_ArticleIdList integer not null. create table InvestigatorListInvestigator (cod_InvestigatorList integer not null. cod_ArticleId integer not null. cod_Grant integer not null.cod_CommentsCorrections)). cod_Author integer not null. create table ArticleELocationID (cod_Article integer not null.cod_Author)). primary key (cod_AuthorList.cod_PubMedPubDate)). . primary key (cod_InvestigatorList. primary key (cod_CommentsCorrectionsList. primary key (cod_ArticleIdList.cod_ELocationID)). cod_CommentsCorrections integer not null. primary key (cod_Article.cod_Grant)). cod_ELocationID integer not null. cod_Investigator integer not null.

alter table DataBankList add foreign key (cod_DataBank) references DataBank.cod_AbstractText)). cod_AbstractText integer not null. primary key (cod_Abstract. alter table Journal add foreign key (cod_ISSN) references ISSN. alter table MedlineCitation add foreign key (cod_MedlineJournalInfo) references MedlineJournalInfo. alter table JournalIssue add foreign key (cod_PubDate) references PubDate. alter table MedlineCitation add foreign key (cod_InvestigatorList) references InvestigatorList. alter table Journal add foreign key (cod_JournalIssue) references JournalIssue. alter table MedlineCitation . alter table MeshHeading add foreign key (cod_DescriptorName) references DescriptorName.168 create table AbstractAbstractText (cod_Abstract integer not null. alter table MedlineCitation add foreign key (cod_MeshHeadingList) references MeshHeadingList. alter table DataBank add foreign key (cod_AccessionNumberList) references AccessionNumberList.

alter table MedlineCitation add foreign key (cod_Article) references Article. alter table ChemicalList .169 add foreign key (cod_PMID) references PMID. alter table PubmedArticle add foreign key (cod_PubmedData) references PubmedData. alter table MedlineCitation add foreign key (cod_ChemicalList) references ChemicalList. alter table MedlineCitation add foreign key (cod_CommentsCorrectionsList) references CommentsCorrectionsList. alter table PubmedArticle add foreign key (cod_MedlineCitation) references MedlineCitation. alter table MedlineCitation add foreign key (cod_DateRevised) references DateRevised. alter table MedlineCitation add foreign key (cod_DateCreated) references DateCreated. alter table PubmedData add foreign key (cod_History) references History. alter table MedlineCitation add foreign key (cod_DateCompleted) references DateCompleted. alter table PubmedData add foreign key (cod_ArticleIdList) references ArticleIdList.

alter table MeshHeadingQualifierName add foreign key (cod_MeshHeading) references MeshHeading. alter table MeshHeadingQualifierName add foreign key (cod_QualifierName) references QualifierName. alter table Article add foreign key (cod_Abstract) references Abstract.170 add foreign key (cod_Chemical) references Chemical. alter table Article add foreign key (cod_PublicationTypeList) references PublicationTypeList. alter table Article add foreign key (cod_AuthorList) references AuthorList. alter table Article add foreign key (cod_Pagination) references Pagination. alter table Article add foreign key (cod_ArticleDate) references ArticleDate. alter table Article add foreign key (cod_DataBankList) references DataBankList. alter table Article add foreign key (cod_Journal) references Journal. alter table Article add foreign key (cod_GrantList) references GrantList. alter table CommentsCorrections add foreign key (cod_PMID) references PMID. .

alter table GrantListGrant add foreign key (cod_Grant) references Grant. alter table HistoryPubMedPubDate add foreign key (cod_PubMedPubDate) references PubMedPubDate. alter table mainPubmedArticle add foreign key (cod_PubmedArticle) references PubmedArticle. . alter table MeshHeadingListMeshHeading add foreign key (cod_MeshHeading) references MeshHeading. alter table InvestigatorListInvestigator add foreign key (cod_InvestigatorList) references InvestigatorList. alter table GrantListGrant add foreign key (cod_GrantList) references GrantList. alter table MedlineCitationOtherID add foreign key (cod_OtherID) references OtherID. alter table MedlineCitationOtherID add foreign key (cod_MedlineCitation) references MedlineCitation.171 alter table MeshHeadingListMeshHeading add foreign key (cod_MeshHeadingList) references MeshHeadingList. alter table HistoryPubMedPubDate add foreign key (cod_History) references History. alter table mainPubmedArticle add foreign key (cod_main) references main.

alter table CommentsCorrectionsListCommentsCorrections add foreign key (cod_CommentsCorrections) references CommentsCorrections. . alter table AbstractAbstractText add foreign key (cod_Abstract) references Abstract. alter table ArticleELocationID add foreign key (cod_Article) references Article. alter table ArticleELocationID add foreign key (cod_ELocationID) references ELocationID. alter table AuthorListAuthor add foreign key (cod_AuthorList) references AuthorList. alter table AuthorListAuthor add foreign key (cod_Author) references Author. alter table ArticleIdListArticleId add foreign key (cod_ArticleIdList) references ArticleIdList. alter table CommentsCorrectionsListCommentsCorrections add foreign key (cod_CommentsCorrectionsList) references CommentsCorrectionsList.172 alter table InvestigatorListInvestigator add foreign key (cod_Investigator) references Investigator. alter table AbstractAbstractText add foreign key (cod_AbstractText) references AbstractText. alter table ArticleIdListArticleId add foreign key (cod_ArticleId) references ArticleId.

Sign up to vote on this title
UsefulNot useful