90
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO VERUSKA CARRETTA ZAMBORLINI Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade VITÓRIA 2008

Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

  • Upload
    dohanh

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO

VERUSKA CARRETTA ZAMBORLINI

Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade

VITÓRIA 2008

Page 2: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

VERUSKA CARRETTA ZAMBORLINI

Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade

Monografia apresentada ao Curso de Ciência da Computação do Departamento de Informática da Universidade Federal do Espírito Santo, como requisito parcial para obtenção do Grau de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Giancarlo Guizzardi

VITÓRIA 2008

Page 3: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

VERUSKA CARRETTA ZAMBORLINI

Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade

Monografia apresentada ao Curso de Ciência da Computação do Departamento de Informática da Universidade Federal do Espírito Santo, como requisito parcial para obtenção do Grau de Bacharel em Ciência da Computação.

Aprovada em ___ de fevereiro de 2008

COMISSÃO EXAMINADORA ___________________________________ Prof. Dr. Giancarlo Guizzardi Departamento de Informática - UFES Orientador ___________________________________ Prof. Dr. Saulo Bortolon Departamento de Informática – UFES ___________________________________ Bernardo Nunes Gonçalves Mestrando em Informática – UFES Vitória, 22 de fevereiro de 2008.

Page 4: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

Resumo

Este trabalho aborda o assunto de implementação de ontologias de referência,

considerando-se a utilização dos métodos de Engenharia de Ontologia. A

implementação pode ser vista como uma versão da ontologia de referência de

domínio, porém, com a expressividade (possivelmente) reduzida conforme o limite

imposto pela linguagem de implementação e/ou a fim de atender eventuais

requisitos computacionais, como tratabilidade e decidibilidade. Os objetivos gerais

deste trabalho são: (i) implementar a Ontologia de Eletrocardiograma proposta em

(GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), utilizando a linguagem OWL +

SWRL, e mostrar que a implementação responde as questões de competência que

guiaram o projeto da ontologia; (ii) fazer uma análise da perda de expressividade

que ocorre na implementação de uma ontologia, considerando-se o limite imposto

pela linguagem. O estudo parte da implementação da Ontologia de

Eletrocardiograma e busca identificar os pontos críticos e encontrar possíveis

soluções ou mesmo apontar a necessidade de uma maior expressividade da

linguagem. Para isso foram realizados estudos teóricos sobre ontologias, através de

revisão bibliográfica em artigos e trabalhos relacionados. Também foram estudadas

as linguagens de representação (OntoUML) e implementação (OWL+SWRL) de

ontologias. Como resultados finais, tem-se a implementação da Ontologia de

Eletrocardiograma que, validada pelos resultados obtidos em resposta às questões

de competência, torna-se objeto legítimo da análise proposta neste trabalho; e a

análise da perda de expressividade em relação ao modelo conceitual, que permitiu

identificar alguns pontos críticos como a representação da relação material e a

distinção entre estereótipos como espécie, papel e fase (kind, role e phase). Por fim,

são sugeridos aprofundamentos em trabalhos futuros, a fim de estudar possíveis

soluções para as limitações encontradas na implementação da ontologia.

Page 5: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

LISTA DE FIGURAS

Figura 2.1 - Triângulo de Ullmann: ............................................................................................................. 18 Figura 2.2 - Relações entre Conceituação, Abstrações, Linguagens de Representação e Modelo. ........ 19 Figura 2.3 - Uma Linguagem de Representação para o Domínio de Genealogia ..................................... 19 Figura 2.4 - Um Modelo do Domínio de Genealogia, instância da linguagem mostrada na figura 2.3. .... 20 Figura 2.5 - Aplicação de ontologias na criação e avaliação de Linguagens de Representação.............. 21 Figura 2.6 - Uma Ontologia de Referência para o Domínio de Genealogia. ............................................. 22 Figura 2.7 - Primitivas de uma Linguagem de Modelagem do Domínio de Genealogia isomórfica à ontologia mostrada na figura 2.6................................................................................................................. 22 Figura 2.8 - Exemplos de Modelos inválidos (a-c) e de um Modelo válido (d) na linguagem mostrada na figura 2.7................................................................................................................................................. 23 Figura 2.9 - Instância do padrão da figura 2.5 para o exemplo do Domínio de Genealogia. .................... 23 Figura 2.10 - Meta-Conceituação e (Meta)Linguagens usadas para compor Modelos Conceituais. ........ 24 Figura 2.11 - Aplicação de Ontologias Fundacionais na criação e avaliação de Modelos Conceituais/Ontologias de Referência. ....................................................................................................... 25 Figura 2.12 - Instância do padrão da figura 2.11 para o exemplo do Domínio de Genealogia. ................ 26 Figura 2.13 - Ontologias Leves são modelos conceituais baseados em uma Ontologia de Referência de Domínio. ................................................................................................................................................. 29 Figura 2.14 - Instância do padrão da figura 2.13 para o Domínio de Eletrocardiografia. .......................... 30 Figura 2.15 - Fragmento da UFO usado para desenvolver a Ontologia de Eletrocardiograma. ............... 33 Figura 2.16 - Fragmento do Metamomdelo da linguagem OntoUML......................................................... 37 Figura 3.1 - Sub-ontologia do Coração. ..................................................................................................... 56 Figura 3.2 - Sub-ontologia de Fenômenos Bioelétricos. ............................................................................ 57 Figura 3.3 - Sub-ontologia de Fenômeno Circulatório. .............................................................................. 59 Figura 3.4 - Sub-ontologia de Protocolo Humano. ..................................................................................... 61 Figura 3.5 - Sub-ontologia de Eletrocardiografia........................................................................................ 62 Figura 3.6 - Combinações (Leads) de eletrodos posicionados nos membros. .......................................... 63 Figura 3.7 - A forma de onda em um ciclo normal de ECG. ...................................................................... 64 Figura 4.1 - Resposta da questão de competência CQ1. .......................................................................... 69 Figura 4.2 - Resposta da questão de competência CQ2. .......................................................................... 71 Figura 4.3 - Resposta da questão de competência CQ3. .......................................................................... 72 Figura 4.4 - Resposta da questão de competência CQ4. .......................................................................... 73 Figura 4.5 - Resposta da questão de competência CQ5. .......................................................................... 74 Figura 4.6 - Resposta da questão de competência CQ6. .......................................................................... 75 Figura 4.7 - Resposta da questão de competência CQ7. .......................................................................... 76 Figura 4.8 - Resposta da questão de competência CQ8. .......................................................................... 77 Figura 4.9 - Resposta da questão de competência CQ9. .......................................................................... 78 Figura 4.10 - Restrições da classe HumanHeart. ...................................................................................... 81 Figura 4.11 - Restrição da classe LeftVentricle.......................................................................................... 82 Figura 4.12 - Classes disjuntas (disjoints) à classe NonPacemakerCells. ................................................ 83 Figura 4.13 - Restrição da classe completa HeartCells. ............................................................................ 83

Page 6: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

LISTA DE TABELAS

Tabela 2.1 - Tabela de estereótipos definidos no perfil da OntoUML ........................................................ 38 Tabela 2.2 - Sintaxe e semântica dos construtores de DL. ........................................................................ 42 Tabela 2.3 - Sintaxe Abstrata OWL, Sintaxe DL e Semântica de OWL. .................................................... 48

Page 7: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

SUMÁRIO

1. Introdução.........................................................................................................................10 2. Pressupostos Teóricos ......................................................................................................14

2.1. Ontologia ..................................................................................................................14 2.1.1. Ontologia como Modelo Conceitual ....................................................................18 2.1.2. Ontologia como Implementação...........................................................................27 2.2. Linguagem para Modelagem Conceitual..................................................................30 2.2.1. UFO-A/B (Unified Foundational Ontology) ........................................................31 2.2.2. OntoUML .............................................................................................................36 2.3. Linguagem para Implementação ..............................................................................39 2.3.1. Lógicas Descritivas (DL – Description Logics) ...................................................40 2.3.2. OWL (Ontology Web Language) .........................................................................45 2.3.3. SWRL (Semantic Web Rule Language)...............................................................49

3. Domínio de Estudo ...........................................................................................................53 3.1. Domínio de Eletrocardiografia .................................................................................53 3.2. Ontologia de Eletrocardiograma...............................................................................55

4. Implementação .................................................................................................................66 4.1. Aspectos Técnicos ....................................................................................................66 4.2. Resultados.................................................................................................................67 4.3. Análise ......................................................................................................................78

5. Conclusão .........................................................................................................................87 5.1. Resultados Finais......................................................................................................87 5.2. Trabalhos Futuros .....................................................................................................89

Bibliografia...............................................................................................................................90 Anexo A....................................................................................................................................92

Page 8: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

10

1. Introdução

Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da

Computação. Sua aplicabilidade tem sido reconhecida em diversas áreas, como

Inteligência Artificial (IA), Engenharia de Software e Web Semântica, possibilitando a

criação de modelos conceituais claros, concisos e não ambíguos. Esses modelos

devem abranger todas as características do domínio e impedir que sejam modeladas

situações impossíveis. Por exemplo, uma ontologia do domínio de genealogia não

deve permitir que seja modelada uma situação em que um indivíduo é pai do seu pai

ou de si próprio.

A palavra ontologia, em latim, significa “o estudo da existência”, e desde o século

XVII é usada para se referir tanto a uma disciplina filosófica quanto a um sistema de

categorias independente de domínio (GUIZZARDI, 2007). No campo da Ciência da

Computação, ela foi usada pela primeira vez na área de Sistemas de Informação,

em 1967, como um sistema de categorias independente de linguagem.

Posteriormente, foi usada também em IA e em outras áreas para designar, porém,

“um artefato concreto [...], projetado com um propósito específico e representado em

uma linguagem específica” (GUIZZARDI, 2007, p. 2).

Contudo, essas linguagens usadas para representar ontologias de domínio devem

ser suficientemente expressivas para caracterizar formalmente as distinções

ontológicas. Para isso, elas devem ser isomórficas a uma ontologia fundacional, que

é um sistema de categorias formal (independente de domínio). Em sua tese,

Guizzardi (2005) propõe a Ontologia Fundacional UFO (Unified Foundational

Ontology) para analisar, (re)projetar e prover semântica de mundo real para

linguagens de modelagem conceitual. O autor também realiza um estudo de caso,

produzindo uma versão ontologicamente correta da Linguagem de Modelagem UML

(Unified Modeling Language), chamada posteriormente de OntoUML. Essa

linguagem permite produzir ontologias de qualidade, e usá-las como um modelo

conceitual de alta expressividade.

Deve-se ainda observar que, para utilizar ontologias em aplicações computacionais,

em geral, é necessário preocupar-se com propriedades específicas, tais como

Page 9: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

11

decidibilidade e tratabilidade. Porém, esses requisitos não só são irrelevantes na

construção de uma ontologia como modelo conceitual, como são opostos à alta

expressividade necessária para melhor representar o domínio em questão. Torna-se

então necessário restringir convenientemente a expressividade da ontologia de

domínio para atender aos requisitos computacionais, e assim produzir uma

implementação da ontologia.

Assim como um sistema desenvolvido sem projeto tem grandes chances de ter

problemas, também as ontologias necessitam de métodos específicos para serem

adequadamente implementadas. A esse respeito, Guizzardi (2007) faz uma analogia

à Engenharia de Software, mostrando a necessidade dos métodos de Engenharia de

Ontologia. Dessa forma, é possível analisar e ponderar a perda de expressividade

em função dos requisitos computacionais e/ou das limitações da linguagem.

Dentre as linguagens que têm sido usadas para implementar ontologias, a OWL

(Ontology Web Language) é um padrão recomendado pela W3C (World Wide Web

Consortium) bastante utilizado na área de Web Semântica. Sendo assim, sua

utilização permite que a implementação produzida seja melhor aproveitada em

outros trabalhos. Neste trabalho é utilizada a linguagem OWL DL, uma espécie de

OWL que tem como base a Lógica Descritiva (DL - Description Logics) chamada de

SHOIN(D). Este último é um subconjunto da lógica de primeira ordem devidamente

restringido para ser decidível. Dessa forma, o poder de expressividade de OWL DL

torna-se limitado, sendo necessário, em muitos casos, utilizar extensões, como a

linguagem SWRL (Semantic Web Rule Language). Esta linguagem estende o

conjunto de axiomas de OWL para incluir regras do tipo Horn.

Neste trabalho, propõe-se uma implementação em OWL+SWRL da Ontologia de

Eletrocardiograma apresentada em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,

2007) na linguagem OntoUML. O objetivo principal desta ontologia é ser uma teoria

de eletrocardiograma independente de aplicações específicas do domínio. Chama-

se de Eletrocardiograma (ECG) o registro resultante da aplicação da

Eletrocardiografia, que é a técnica de registro de sinais elétricos gerados pela

atividade do coração. De acordo com Geselowitz (1989 apud GONÇALVES;

GUIZZARDI; PEREIRA FILHO, 2007), o ECG foi, possivelmente, o primeiro sinal de

diagnóstico a ser estudado para possibilitar sua interpretação automática por

Page 10: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

12

programas computacionais. Uma possível aplicação desta implementação seria no

contexto da Telecardiologia, em que a transmissão de ECGs (por meio das

tecnologias mobile e wireless) possibilitaria o provimento de telemonitoramento

cardíaco a qualquer hora e em qualquer lugar, e a sua interpretação automática

facilitaria e agilizaria a identificação de vários tipos de doenças cardíacas.

Uma vez que os objetivos gerais deste trabalho são implementar a Ontologia de

Eletrocardiograma proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,

2007), utilizando a linguagem OWL+SWRL e fazer uma análise da perda de

expressividade considerando-se o limite imposto pela linguagem, foram

estabelecidos os seguintes objetivos específicos:

(i) Ressaltar a importância de ontologias para modelagem conceitual de um

domínio e a necessidade de se utilizar os métodos de Engenharia de

Ontologia para implementá-las.

(ii) Realizar um estudo sobre linguagens usadas na representação e

implementação de ontologias para melhor entender a perda de

expressividade que ocorre ao ser implementada uma ontologia de referência

domínio.

(iii) Estudar e implementar em OWL+SWRL a Ontologia de

Eletrocardiograma, e mostrar que a implementação responde as questões de

competência que guiaram o projeto da ontologia.

(iv) Analisar a implementação proposta, considerando as limitações da

linguagem OWL+SWRL.

Como metodologia de desenvolvimento deste trabalho foi utilizada a leitura de

artigos, trabalhos e documentações relacionados a ontologias, às linguagens usadas

para representá-las e implementá-las e às ferramentas necessárias para a

implementação.

No Capítulo 2, visando atingir os objetivos (i) e (ii), faz-se uma revisão da utilização

de ontologias historicamente e atualmente, e apresenta-se sua aplicação como

modelo conceitual e como implementação. São abordadas as linguagens OntoUML

e OWL+SWRL, juntamente com suas respectivas bases ontológica (UFO) e lógica

(DL).

Page 11: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

13

No Capítulo 3, faz-se uma contextualização e apresentação da Ontologia de

Eletrocardiograma, buscando fundamentos conceituais que auxiliem a

implementação proposta neste trabalho. Este capítulo corresponde, então, à base

teórica do objetivo (iii).

As implementações dos axiomas que respondem as questões de competência

apresentadas no Capítulo 4 como resultados obtidos, ilustrados com algumas

instâncias. Juntamente com a implementação da ontologia, cujo código está

disponível no Anexo A, esses resultados atendem à parte prática do objetivo (iii).

Também nesse capítulo, para atingir o objetivo (iv), é realizada a análise da

implementação, em que são identificados pontos críticos, mostrando-se algumas

possíveis soluções ou apontando-se a necessidade de uma maior expressividade da

linguagem utilizada.

A partir dessa análise, o capítulo 5 apresenta as conclusões e considerações finais,

e mostra as dificuldades encontradas no desenvolvimento deste trabalho. São

sugeridos alguns trabalhos futuros no contexto de implementação de ontologia em

geral e de possíveis aplicações da implementação proposta.

Page 12: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

14

2. Pressupostos Teóricos

Neste capítulo são abordados os estudos teóricos que se fizeram necessários para o

entendimento de como se deve/pode ser feito o mapeamento de uma ontologia

como modelo conceitual de um domínio em uma ontologia como implementação.

Inicialmente, na Seção 2.1, é feita uma visão geral de ontologia, seu surgimento, sua

relevância e seus significados. Busca-se ainda mostrar a importância da utilização

de ontologias para realizar a modelagem conceitual de um domínio e destacar a

necessidade dos métodos de Engenharia de Ontologia para realizar a

implementação de ontologias. Na Seção 2.2 é apresentada brevemente a

Linguagem de Representação de Ontologias chamada OntoUML e sua

fundamentação ontológica dada pela UFO. Finalmente, a Seção 2.3 aborda a

Linguagem de Implementação de Ontologias OWL+SWRL e sua fundamentação

lógica chamada de Lógica Descritiva.

2.1. Ontologia

Esta seção é uma adaptação do artigo Guizzardi (2007) e apresenta uma visão geral

das aplicações do termo ontologia, em especial no campo da Ciência da

Computação. Nesta seção, onde a referência for omitida, entende-se que se trata

deste mesmo artigo.

Ontologia é uma palavra de origem latina cujo significado pode ser entendido como

“o estudo da existência”. Etimologicamente, ont- vem do particípio presente do verbo

grego enai (ser) e logia em latim significa estudo. São dadas pelo dicionário on-line

Webster (2004 apud GUIZZARDI, 2007) três definições para o termo em questão:

(D1): o ramo da metafísica que se preocupa com a natureza e relações do ser;

(D2): uma teoria particular sobre a natureza do ser ou os tipos existentes;

(D3): uma teoria sobre os tipos de entidades e especificamente os tipos de entidades

abstratas que são admitidos em um sistema de linguagem.

Page 13: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

15

Aristóteles, no século IV a.C, foi o primeiro filósofo ocidental a estudar metafísica

sistematicamente, sendo também o primeiro a estudar ontologia no sentido D1,

embora não utilizasse este termo em particular. Em Methaphiysics e Categories, ele

a descreveu como “a ciência do ser enquanto ser” e desenvolveu a primeira

ontologia no sentido D2, que é o conjunto de teorias de Substância e Acidentes.

O termo ontologia “[..] foi cunhado no século XVII em paralelo pelos filósofos Rudolf

Göckel em Lexicon philosophicum e por Jacob Lorhard em Ogdoas Scholastica [..]”.

Porém, apenas no século XVIII foi popularizado no meio filosófico “[..] com a

publicação de Philosophia prima sive Ontologia pelo filósofo alemão Christian Wolff”.

Usava-se esse termo para se referir “[..] tanto a uma disciplina filosófica (Ontologia,

com ‘O’ maiúsculo) quanto a um sistema de categorias independente de domínio

apropriado para conceituação de teorias científicas de domínio específico”

(GUIZZARDI, 2007, p.1).

No início do século XX, o filósofo germânico Edmund Husserl usou o termo

Ontologia Formal para se referir a uma parte específica da disciplina filosófica de

Ontologia. Fazendo-se uma analogia com a Lógica Formal, enquanto esta “lida com

estruturas lógicas formais (por exemplo, verdade, validade, consistência)

independentemente de sua veracidade, a Ontologia Formal lida com estruturas

ontológicas formais (por exemplo, teoria das partes, teoria do todo, tipos e

instanciação, identidade, dependência, unidade), isto é, com aspectos formais de

objetos independentemente da sua natureza particular” (GUIZZARDI, 2007, p. 1).

Desde Aristóteles, várias teorias ontológicas têm sido propostas por diversos autores

em filosofia e, recentemente, também em Ciência da Computação. Neste campo, o

termo ontologia foi usado pela primeira vez em 1967, na área de processamento de

dados, por S. H. Mealy, num trabalho sobre os fundamentos da modelagem de

dados. O termo aparece numa passagem em que ele discute sobre a existência das

coisas no mundo independentemente das suas (possíveis) múltiplas representações

e alega que “Esta é uma questão de ontologia, ou a questão do que existe” (MEALY,

1967, p. 525 apud GUIZZARDI, 2007, p. 2). Na de Sistemas de Informação, o termo

ontologia tem sido usado em conformidade com sua definição em filosofia (em

ambos sentidos D1 e D2), ou seja, como um sistema de categorias independente de

linguagem. Por exemplo, a ontologia de Aristóteles é a mesma se representada em

Page 14: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

16

Português, Inglês, ou Lógica de Primeira Ordem. Também no campo da Inteligência

Artificial (IA) começou-se a usar o que passou a ser conhecido como Ontologias de

Domínio. Nessa área, o termo foi usado inicialmente em 1978 por Hayes (1978 apud

GUIZZARDI, 2007), que chegou a desenvolver uma teoria de senso comum sobre

líquidos. Em IA, assim como na maioria das outras áreas de Ciência da

Computação, a palavra ontologia é usada, em geral, para designar “um artefato

concreto de engenharia, projetado para um propósito específico, e representado em

uma linguagem específica” (GUIZZARDI, 2007, p. 2).

Posteriormente, a Ontologia Fundacional surgiu para dar subsídios ontológicos

formais às linguagens propostas para representação de Ontologias de Domínio

Específico. “Um conhecido exemplo de Ontologia Fundacional é a Ontologia Bunge-

Wand-Weber (BWW), proposta por Wand and Weber em uma série de artigos (por

exemplo, Wand & Weber, 1990, 1995) e baseada na teoria metafísica original

desenvolvida por Bunge (1977, 1979)” (GUIZZARDI; WAGNER, 2005, p. 2). Em

Guizzardi (2005) e outras publicações subseqüentes, o autor propõe a Ontologia

Fundacional UFO (Unified Foundational Ontology), que será abordada na seção

2.2.1.

Nos últimos anos tem crescido o interesse na aplicação de ontologias no campo da

Ciência da Computação. Elas têm sido usadas em diversas áreas, como IA,

Engenharia de Software, Web Semântica, possibilitando a criação de modelos

conceituais claros, concisos e não ambíguos. Vale ressaltar, porém, que para a

criação e implementação de ontologias de qualidade, devem ser usados os métodos

de Engenharia de Ontologia, analogamente à necessidade dos métodos de

Engenharia de Software para se desenvolver softwares de qualidade.

Resumidamente, são enumerados a seguir significados diferentes, porém

relacionados, da palavra ontologia, usados neste trabalho.

(a) Ontologia (com ‘O’ maiúsculo): uma disciplina filosófica que representa o

ramo mais importante da metafísica, e que pode ser descrita “a ciência do ser

enquanto ser”;

(b) Ontologia Formal (Formal Ontology): é uma parte da disciplina filosófica de

Ontologia. Ela estuda o desenvolvimento de teorias gerais que levam em

Page 15: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

17

conta aspectos da realidade que não são específicos de nenhum campo da

ciência. Essas teorias, chamadas Meta-Conceituações, “descrevem o

conhecimento sobre a realidade de uma forma independente de linguagem,

estados do mundo (states of affairs) particulares e estados epistêmicos de

agentes do conhecimento (knowledgeable agents)” (Guizzardi, 2007, p. 16) ;

(c) Ontologia Ideal ou Ontologia de Referência (Ideal Ontology / Reference

Ontology): é a representação de uma (Meta)Conceituação em termos de um

artefato concreto; é focada na adequação da representação para caracterizar

da forma mais acurada possível a (Meta)Conceituação com a qual ela se

compromete, de forma a descrever todos e somente os estados de mundo

admissíveis pela (Meta)Conceituação. O objetivo é ser entendida por

humanos;

Ontologia Fundacional (Foundational Ontology): é uma Ontologia

Ideal que representa uma Meta-Conceituação, ou seja, uma Ontologia

de Referência Independente de Domínio, construída utilizando-se as

teorias desenvolvidas pela Ontologia Formal;

Ontologia de Domínio (Domain Ontology): é Ontologia Ideal que

representa a Conceituação de um Domínio Específico, ou seja, uma

Ontologia de Referência de Domínio, construída com base numa

Ontologia Fundacional;

(d) Ontologias Leves (Lightweigth Ontology): são versões (leves) das Ontologias

de Referência, focadas não na adequação da representação, mas em garantir

propriedades computacionais desejáveis. São também chamadas de

Implementação de Ontologia, e para representá-las utiliza-se uma linguagem

de implementação com a expressividade convenientemente restringida. O

objetivo é ser entendida/utilizada por máquinas.

Em sua tese, Guizzardi (2005) mostra como Linguagens de

Representação/Modelagem podem ser avaliadas e (re)projetadas com o propósito

de melhorar sua adequação ontológica, propondo um método sistemático de

avaliação para comparar o metamodelo de uma linguagem com a Ontologia Ideal da

(Meta)Conceituação correspondente. Nas subseções seguintes, é feito um resumo

deste método para ilustrar a aplicação e a necessidade do uso de ontologias.

Page 16: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

18

2.1.1. Ontologia como Modelo Conceitual

Para modelar conceitualmente um domínio, é necessário primeiramente conhecer os

seus conceitos relevantes, que compreendem o que se pode chamar de

Conceituação de Domínio. Os elementos constituintes dessa Conceituação são

usados para articular abstrações de certas situações do mundo real que podem ser

chamadas de Abstrações de Domínio. Essas Abstrações, assim como as

Conceituações, são entidades não-materiais, ou seja, modelos mentais

compartilhados por uma comunidade de usuários de uma linguagem. Faz-se

necessário, então, utilizar uma linguagem para representar esses modelos mentais

em termos de um artefato concreto e assim poder documentar, comunicar e analisar

adequadamente as Conceituações e Abstrações. Para isso utiliza-se uma

Linguagem de Representação, que deve prover aos seus usuários um conjunto de

primitivas de modelagem que possam expressar diretamente o conceitos relevantes

do domínio de uma forma concisa, completa e não ambígua.

O Triângulo de Ullmann (ULLMANN, 1972), representado na figura 2.1, mostra as

relações entre Linguagem, Conceituação e a porção da Realidade que esta

Conceituação abstrai.

Figura 2.1 - Triângulo de Ullmann:

Relações entre algo (coisa) na realidade, sua conceituação e a representação simbólica desta conceituação.

Fonte: Guizzardi, 2007, p. 3 (adaptado).

A relação entre Linguagem e Realidade é sempre intermediada por uma

Conceituação. Esta relação é destacada na figura 2.1 pela linha pontilhada e é

ilustrada com mais detalhes na figura 2.2. Esta figura mostra as relações entre uma

Page 17: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

19

Conceituação, suas Abstrações, suas Linguagens de Representação e suas

Especificações de Modelo.

Figura 2.2 - Relações entre Conceituação, Abstrações, Linguagens de Representação e Modelo.

Fonte: Guizzardi, 2007, p. 3 (adaptado).

A representação de uma Abstração de Domínio em termos de uma linguagem é

chamada de Especificação de Modelo (ou simplesmente Modelo) e a linguagem

usada para a sua criação é chamada de Linguagem de Representação/Modelagem. Esta linguagem representa uma Conceituação de Domínio usada para compor a abstração representada por uma especificação de

modelo. Por exemplo, uma conceituação para o domínio de genealogia pode ser

construída considerando conceitos como Man, Woman, partenOf, Father, Mother,

entre outros. Usando estes conceitos, pode-se articular várias abstrações de

domínio, por exemplo, que uma mulher (Woman) chamada Mônica é mãe (Mother)

de um homem (Man) chamado Agostinho. Para esses exemplos de Conceituação e

Abstração, as figuras 2.3 e 2.4 exemplificam os conceitos de Linguagem de

Representação e Especificação de Modelo respectivamente.

Figura 2.3 - Uma Linguagem de Representação para o Domínio de Genealogia

Page 18: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

20

Figura 2.4 - Um Modelo do Domínio de Genealogia, instância da linguagem mostrada na figura 2.3.

Pode-se dizer que, para um Modelo representar fielmente uma Abstração, as

primitivas de modelagem da Linguagem usadas para produzir esse modelo devem

representar fielmente a Conceituação usada para articular essa Abstração. Quanto

mais forte a correspondência entre uma Abstração da Realidade e seu Modelo de

Representação, mais fácil é comunicar e raciocinar com esse modelo. A força dessa

correspondência está diretamente ligada à qualidade da Linguagem de

Representação usada, e pode ser medida através de critérios como Adequação ao Domínio e Adequação à Compreensão. O primeiro mede a capacidade de uma

linguagem de se adequar aos fenômenos de um domínio. O outro mede a

adequação pragmática da linguagem, ou seja, refere-se ao quão fácil é para um

usuário reconhecer o significado dos construtores da linguagem e entender,

comunicar e raciocinar com as especificações produzidas utilizando-a.

Uma Conceituação de Domínio delimita todas as possíveis Abstrações que são

admissíveis no domínio (GUARINO, 1998 apud GUIZZARDI, 2007). Por exemplo,

uma Conceituação do Domínio de Genealogia não pode admitir uma Abstração em

que uma pessoa seja pai do seu próprio pai, pois tal estado do mundo não pode

acontecer na realidade. Da mesma forma, “uma Linguagem de Representação pode

ser vista como delimitadora de todas as possíveis especificações que podem ser

construídas utilizando-a, isto é, toda especificação gramaticalmente válida da

linguagem” (GUIZZARDI, 2007, p. 6). Retornando ao exemplo anterior, também uma

Linguagem de Representação do Domínio de Genealogia não pode permitir que tal

Abstração seja representada. Sendo assim, pode-se dizer que uma Linguagem Ideal de Representação (de domínio) é aquela é fiel ao seu domínio, ou seja, que

tem como Especificações de Modelo Válidas (gramaticalmente corretas) apenas

Page 19: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

21

as que representam Abstrações admissíveis pela Conceituação daquele domínio.

Isso é possível quando o metamodelo da Linguagem de Representação é isomórfico

à Ontologia Ideal de Domínio, como mostra a figura 2.5.

Figura 2.5 - Aplicação de ontologias na criação e avaliação de Linguagens de Representação.

Ontologia Ideal ou Ontologia de Referência é aquela que descreve todos e

somente os estados de mundo admissíveis pela (Meta)Conceituação com a qual ela

se compromete. Uma Ontologia de Referência de Domínio é, portanto, uma

descrição explícita e formal da porção da realidade correspondente ao domínio em

termos de um artefato concreto, através do qual a estrutura de Conceituação do

Domínio deve também ser acessível. Seu objetivo é “fazer a melhor descrição

possível do domínio da realidade com respeito a um certo nível de granularidade e

perspectiva” (Guizzardi, 2007, p. 6).

Voltando ao exemplo do domínio de Genealogia, as figuras 2.6, 2.7 e 2.8 ilustram

respectivamente uma Ontologia de Referência de Domínio, as primitivas de

modelagem de uma Linguagem Ideal de Representação e alguns Modelos válidos e

inválidos nesta linguagem.

Page 20: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

22

Figura 2.6 - Uma Ontologia de Referência para o Domínio de Genealogia.

Fonte: Guizzardi, 2007, p. 13.

Figura 2.7 - Primitivas de uma Linguagem de Modelagem do Domínio de Genealogia isomórfica à

ontologia mostrada na figura 2.6. Fonte: Guizzardi, 2007, p. 14.

Page 21: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

23

Figura 2.8 - Exemplos de Modelos inválidos (a-c) e de um Modelo válido (d) na linguagem mostrada

na figura 2.7. Fonte: Guizzardi, 2007, p. 14.

Na figura 2.8, os modelos (a-c) são exemplos de modelos inválidos que, apesar de

serem gramaticalmente corretos conforme a linguagem, não devem ser admitidos

por ela, uma vez que não são semanticamente válidos conforme a ontologia em que

se baseia a linguagem.

Instanciando o padrão da figura 2.5 para o exemplo do Domínio de Genealogia,

obtemos a correspondência mostrada na figura 2.9.

Figura 2.9 - Instância do padrão da figura 2.5 para o exemplo do Domínio de Genealogia.

Para construir a Linguagem da figura 2.7 foi utilizada como metamodelo a Ontologia

de Domínio de Genealogia representada na figura 2.6. Contudo, para se produzir

Page 22: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

24

Ontologias de Domínio como esta, é necessário utilizar uma Linguagem de Representação de Ontologia “cujas primitivas incluem teorias que ajudem na

caracterização formal de uma Linguagem Ideal de Representação de Domínio

Específico, restringindo seus modelos lógicos àqueles admissíveis pela

Conceituação” (GUIZZARDI, 2007, p. 9). Essas teorias são desenvolvidas pela

Ontologia Formal, que é uma parte da disciplina filosófica de Ontologia.

A figura 2.10 é análoga à figura 2.2, porém num nível acima (meta-nível), em que se

considera a existência da Meta-Conceituação e de (Meta)Linguagens de

Modelagem, usadas para compor Modelos Conceituais.

Meta-Conceituação

Conceituações

Linguagens de Modelagem Conceiual

representada por

interpretada como

representada por

interpretada como

usada para compor

instância de usada para compor

instância de

Modelos Conceiuais

Figura 2.10 - Meta-Conceituação e (Meta)Linguagens usadas para compor Modelos Conceituais.

Uma Meta-Conceituação define o conjunto de todas as conceituações de domínio

que são fieis à realidade. Em outras palavras, ela é um conjunto de meta-conceitos

independentes de domínio que são usados para articular conceituações dos

diversos domínios, por exemplo, conceitos como parte, todo, papel e evento. Esses

conceitos devem ser devidamente capturados pelas Linguagens de Modelagem Conceitual para serem utilizados nos Modelos Conceituais. Estes são propostos

para representar as Conceituações de um Domínio, e também são usados como

Metamodelos para construir Linguagens de Representação de Domínio Específico.

Um Metamodelo de Linguagem é a descrição da sintaxe abstrata da linguagem,

que define “um conjunto de construtores, selecionados com o propósito de realizar

tarefas específicas, bem como um conjunto de regras bem formadas para combinar

Page 23: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

25

estes construtores a fim de criar modelos gramaticalmente válidos na linguagem”

(GUIZZARDI, 2007, p. 5).

Uma Linguagem Ideal de Modelagem Conceitual é aquela que representa

fielmente os conceitos da Meta-Conceituação com a qual se compromete. Para isso,

ela deve ser suficientemente expressiva para caracterizar formalmente as distinções

ontológicas, sendo também uma Linguagem Ideal de Representação de Ontologias. Utilizando-se esta linguagem, cujo metamodelo é isomórfico à

Ontologia Ideal Fundacional, pode-se construir Ontologias de Referência de

Domínio, que é um tipo específico de Modelo Conceitual, como mostra a figura 2.11.

Figura 2.11 - Aplicação de Ontologias Fundacionais na criação e avaliação de Modelos

Conceituais/Ontologias de Referência.

Uma Ontologia Ideal Fundacional ou Ontologia de Referência Fundacional é

aquela independente de domínio, construída utilizando-se as teorias desenvolvidas

pela Ontologia Formal, e que “provê os conceitos fundamentais sobre os quais as

Ontologias de Domínio Específico devem ser construídas” (GUIZZARDI; WAGNER,

2005, p. 1).

A Ontologia de Domínio representada na figura 2.6 foi construída utilizando-se a

Linguagem Ideal de Representação de Ontologias OntoUML, cujo Metamodelo é

isomórfico à Ontologia de Referência Fundacional chamada UFO. Ambas, UFO e

OntoUML, são abordadas na seção 2.2. De fato, uma ontologia como a da figura 2.6

é mais acurada do que se tivesse sido representada em ER, OWL, LINGO (FALBO

et al., 2002) ou UML padrão, que são Linguagens de Modelagem Conceitual, mas

não são ideais.

Page 24: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

26

Instanciando o padrão da figura 2.11 para o exemplo do Domínio de Genealogia

obtém-se a correspondência mostrada na figura 2.12.

Figura 2.12 - Instância do padrão da figura 2.11 para o exemplo do Domínio de Genealogia.

Em resumo, para um certo Domínio, uma Ontologia de Referência (deste Domínio)

pode ser vista como o seu Modelo Conceitual mais adequado pois permite

representar todos e apenas os estados de mundo que a sua Conceituação admite.

Além disso, essa ontologia precisa ser escrita numa linguagem ontologicamente bem

fundamentada. Para isso, é necessário que o Metamodelo dessa Linguagem de

Representação de Ontologias seja isomórfico a uma Ontologia Fundacional, que

represente fielmente a Meta-Conceituação usada para compor a Conceituação do

Domínio.

A alta expressividade necessária para modelar adequadamente um domínio, não é

favorável à construção de aplicações computacionais. Entretanto, isso não elimina a

necessidade de Ontologias de Referência bem fundamentadas como foi visto até

então. A seção seguinte mostra a ontologia usada como Implementação e sua

relação com a ontologia como Modelo Conceitual, e ressalta a importância de cada

uma delas.

Page 25: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

27

2.1.2. Ontologia como Implementação

Para se utilizar ontologias em aplicações computacionais, em geral, é necessário

preocupar-se com propriedades computacionais tais como decidibilidade,

tratabilidade e outros. Esses requisitos não só são irrelevantes na construção de

uma Ontologia como Modelo Conceitual, como são opostos à alta expressividade

geralmente necessária para melhor representar o domínio em questão. Torna-se

então necessário restringir convenientemente a expressividade da Ontologia de

Referência de Domínio para atender aos requisitos computacionais, produzindo

assim uma Ontologia como Implementação.

Se por um lado uma Ontologia de Domínio altamente expressiva pode ser

computacionalmente desinteressante pela dificuldade/impossibilidade de ser

implementada eficientemente, por outro lado, uma Ontologia implementada sem uma

boa fundamentação poderá ter sua qualidade comprometida.

Segundo Guizzardi (2007), até o momento, não existe uma linguagem de

representação de ontologia capaz de atender a esses requisitos conflitantes. Ele

defende a posição de que são necessárias duas classes de linguagens que

permitam produzir tanto a Ontologia de Referência de Domínio, com toda a

expressividade necessária, quanto a Ontologia Leve, que atenda aos requisitos

computacionais desejáveis. Porém a construção dessas ontologias deve seguir

métodos análogos aos de engenharia nas disciplinas de Engenharia de Software e

de Sistemas de Informação, em que existe uma clara distinção entre Modelagem

Conceitual, Projeto e Implementação. “Em Modelagem Conceitual, uma

especificação independente de solução é produzida visando uma descrição clara e

precisa dos elementos do domínio com o propósito de comunicação, aprendizado e

solução de problemas. Na fase de Projeto, essa especificação conceitual é

transformada em uma especificação de projeto levando em consideração várias

questões como estilos de arquitetura, critérios de qualidade não-funcionais a serem

maximizados, ambiente de implementação, etc. Finalmente, na fase de

Implementação, o projeto é codificado em uma linguagem alvo para ser então

implantado em um ambiente computacional. O Projeto, então, liga o Modelo

Conceitual à Implementação” (GUIZZARDI, 2007, p. 16).

Page 26: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

28

Analogamente, para a Engenharia de Ontologia, devem existir essas três fases. Na

fase de Modelagem Conceitual é criada a Ontologia de Referência de Domínio,

focada na adequação da representação, que pode ser usada por humanos em

tarefas como comunicação, análise de domínio, negociação de significados,

estabelecimento de consensos e solução de problemas. Na fase de Implementação,

uma vez que os usuários já concordaram com uma Conceituação comum, versões

da Ontologia de Referência podem ser criadas com foco em garantir propriedades

computacionais desejáveis. Essas versões têm sido chamadas na literatura de

Ontologias Leves. Para representá-las podem ser usadas linguagens como OWL e

LINGO. “Finalmente, uma fase é necessária para ligar a modelagem conceitual à

implementação dessas ontologias. Questões que podem ser abordadas nesta fase

são, por exemplo, determinar como lidar com a diferença de expressividade das

linguagens que podem ser usadas em cada uma das fases, ou, como produzir

especificações leves que maximizem requisitos não-funcionais (por exemplo,

capacidade de evolução versus performance de raciocínio automático)”

(GUIZZARDI, 2007, p. 16).

Todavia, é importante ressaltar que essas linguagens usadas para implementação

de Ontologias são linguagens de nível epistemológico1 (não de nível ontológico), e,

portanto, o termo Linguagens de Representação de Ontologias, neste caso, é

utilizado inadequadamente. “O projeto de linguagens epistemológicas põe forte

ênfase no processo de inferência, e o estudo do conhecimento é limitado à sua

forma, ou seja, é independente do significado dos próprios conceitos. Dessa forma, o

foco dessas linguagens é mais no raciocínio formal do que na representação

(formal)” (GUIZZARDI, 2007, p. 11). Sendo assim, elas não devem ser usadas para

representar Ontologias Conceituais de Domínio, mas para implementar as ontologias

construídas numa linguagem de representação apropriada.

As duas classes de linguagens sugeridas por Guizzardi são: (i) linguagens de

representação de ontologias bem fundamentadas, focadas na adequação da

representação; (ii) linguagens de representação leves que considerem as

propriedades computacionais desejáveis. Linguagens do tipo (i) devem ter alta

expressividade para caracterizar formalmente as distinções ontológicas. Entretanto,

1 Epistemologia é o ramo da metafísica que estuda a natureza e as origens do conhecimento.

Page 27: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

29

linguagens do tipo (ii) utilizam linguagens lógicas expressividade limitada para

atender aos requisitos não funcionais. Por exemplo, a linguagem OWL DL utiliza

lógicas descritivas e tem sido cuidadosamente projetada para manter propriedades

interessantes tais como tratabilidade computacional e decidibilidade, que, em geral,

faltam em linguagens mais expressivas. A figura 2.13 ilustra as Linguagens Ideais de

Representação de Ontologia (i), e também as Linguagens(*) de Representação de

Ontologia (ii). Esta última é marcada com um asterisco para enfatizar que, nesses

casos, este termo é utilizado de forma imprecisa.

Figura 2.13 - Ontologias Leves são modelos conceituais baseados em uma Ontologia de Referência

de Domínio.

Também é ilustrada nessa figura a necessidade de se construir Ontologias Leves

sempre baseadas em uma Ontologia de Referência de Domínio. É importante

destacar que a necessidade das “[...] Ontologias de Referência tem sido reconhecida

em muitos casos na prática. Por exemplo, Guizzardi (2006) ilustra exemplos de

problemas de interoperabilidade semântica que podem não ser detectados quando

interoperando ontologias leves. Igualmente, Fielding et al. (2004) discute como uma

Ontologia Fundacional pode ser usada para detectar inconsistências e prover

soluções para problemas em Ontologias Leves Biomédicas” (GUIZZARDI, 2007, p.

16).

A figura 2.14 mostra a instanciação do padrão da figura 2.13 no contexto deste

trabalho, em que uma Ontologia de Referência de ECG (Modelo Conceitual), na

linguagem OntoUML, é mapeada em uma Ontologia Leve (Implementação), na

linguagem OWL.

Page 28: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

30

Figura 2.14 - Instância do padrão da figura 2.13 para o Domínio de Eletrocardiografia.

As seções seguintes abordam as linguagens utilizadas para criar a Ontologia de

ECG como Modelo Conceitual e como Implementação.

2.2. Linguagem para Modelagem Conceitual

A Ontologia de Eletrocardiograma (ver Capítulo 3), que é o objeto de estudo deste

trabalho, foi escrita na Linguagem de Representação de Ontologias OntoUML, cujo

metamodelo é isomórfico à Ontologia Fundacional UFO (Unified Foundational

Ontology).

A UFO foi proposta inicialmente em (Guizzardi, 2005) e aplicada no método de

avaliação de linguagens de modelagem também proposto pelo autor. Ela é dividida

em três partes incrementais:

− UFO-A: é o núcleo da UFO e define termos relacionados a aspectos estruturais

como conceitos gerais de objetos, suas propriedades intrínsecas e relacionais, os

tipos que eles instanciam, os papéis que eles desempenham, etc.;

− UFO-B: define, como incremento da UFO-A, termos relacionados a

processos/eventos;

− UFO-C: define, como incremento da UFO-B, termos relacionados à esfera de

entidades intencionais e sociais, incluindo-se entidades lingüísticas.

Page 29: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

31

“Essa divisão reflete uma certa estratificação do mundo, com diferentes graus de

consenso: existe mais consenso sobre a ontologia de objetos do que sobre ontologia

de processos/eventos, assim como existe mais consenso sobre esta última do que

sobre ontologia de entidades intencionais e sociais” (GUIZZARDI; WAGNER, 2005,

p. 4). Os autores esperam que essa divisão em diferentes partes facilite tanto a

evolução da UFO quanto a sua adoção em Engenharia de Ontologia.

Também a Linguagem OntoUML foi proposta em (GUIZZARDI, 2005) como

resultado da aplicação do método de avaliação (ver seção 2.1) à Linguagem de

Modelagem Conceitual UML 2.0 (Unified Modeling Language – Linguagem de

Modelagem Unificada) tendo a UFO como Ontologia de Referência Fundacional. Em

outras palavras, ela é uma versão estendida da UML 2.0 ontologicamente bem

fundamentada.

Na próxima seção são abordados alguns elementos das UFO’s A e B, usados para

construir a Ontologia de Eletrocardiograma. A UFO-C não será abordada uma vez

que não faz parte do escopo deste trabalho. Ao leitor interessado, recomenda-se

(GUIZZARDI, R.; GUIZZARDI, G., 2008), (GUIZZARDI; WANGER, 2005) e

(GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008). Na seção 2.2.2 é dada uma visão

geral da linguagem OntoUML focando também nos estereótipos usados na

construção da Ontologia de Eletrocardiograma.

2.2.1. UFO-A/B (Unified Foundational Ontology)

A UFO é a síntese de uma seleção de ontologias fundacionais. Dentre elas, a

GFO/GOL é a Ontologia GFO (General Formal Ontology) subjacente à Linguagem

GOL (General Ontology Language) desenvolvida pelo grupo de pesquisa OntoMed

da Universidade de Leipzig (DEGEN et al., 2001 apud GUIZZARDI; WAGNER,

2005); e a OntoClean/DOLCE é a junção da ontologia OntoClean (WELTY;

GUARINO, 2001 apud GUIZZARDI; WAGNER, 2005) com a Ontologia Descritiva

para Engenharia Lingüística e Cognitiva, desenvolvida pelo grupo de pesquisa ISTC-

CNRLOA (GUIZZARDI; WAGNER, 2005).

Page 30: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

32

Segundo Guizzardi e Wagner (2005), essas ontologias fundacionais, assim como

outras então existentes, apresentam propriedades interessantes, mas também

limitações consideráveis na habilidade de capturar os conceitos básicos de

Linguagens de Modelagem Conceitual. A proposta da UFO é justamente unificar

essas ontologias aproveitando suas características positivas e sanando as limitações

detectadas. A representação da UFO tem como base um modelo MOF/UML (OMG,

2004 apud GUIZZARDI; WAGNER 2005), recomendado pela OMG. Além deste

modelo, em (GUIZZARDI, 2005) é apresentada uma caracterização formal completa

da UFO-A. A UFO-B é apresentada em artigos subseqüentes, como (GUIZZARDI,

G.; FALBO; GUIZZARDI, R., 2008). Nesta seção, é apresentado um fragmento das

UFOs A e B em língua inglesa, como foram concebidas, devido à

dificuldade/impossibilidade de se traduzir alguns termos.

O elemento fundamental da UFO é chamado de Entidade (Entity), ou seja, todos os

outros elementos representados da UFO são fundamentalmente chamados de

entidades. A distinção principal da UFO é entre Universais (Universals) e

Particulares (Particulars). O primeiro se refere a tipos de entidades (types of

entities), ou seja, padrões de características que podem ser percebidos em

diferentes Particulares. Estes, por sua vez, são entidades que existem na realidade e

possuem uma identidade única (GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008).

Cada Particular é, portanto, instância de um Universal. No escopo deste trabalho,

porém, são considerados apenas os Universais, omitindo-se o termo Universal ou

Type após cada entidade, ou seja, quando for usado, por exemplo, o termo como

Objeto, este se refere a um Objeto Universal.

A Figura 2.15 mostra um fragmento da UFO com os conceitos necessários para o

entendimento da Ontologia de Eletrocardiograma apresentada na Seção 3.2.

Page 31: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

33

Figura 2.15 - Fragmento da UFO usado para desenvolver a Ontologia de Eletrocardiograma.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 4 (adaptado).

A distinção principal para um Universal é entre Endurant e Perdurant, que pode ser

compreendida em termos da distinção entre Objetos e Eventos, e reflete o

comportamento dessas entidades em relação ao tempo. Endurants são tipos de

indivíduos duradouros, totalmente presentes sempre que estiverem presentes, como

uma pessoa, um buraco, um monte de areia. Em outras palavras, se um Endurant E

tem uma propriedade P1 em uma circunstância C1 e, numa circunstância C2, tem a

propriedade P2, trata-se sempre do mesmo Endurant E nas duas situações. Por

exemplo, um indivíduo A que pesa X kg em C1 e Y kg em C2 é sempre o mesmo

indivíduo A. Perdurants, por sua vez, são tipos de indivíduos compostos de partes

temporais, que ocorrem no tempo, no sentido de que se prolongam no tempo

acumulando tais partes. São exemplos de Perdurant uma conversa, um jogo de

futebol e uma festa. Sempre que um Perdurant está presente, não é o caso que

todas as suas partes temporais estão presentes. Por exemplo, seja um processo

empresarial “comprar produto” em diferentes instantes de tempo em que ele está

presente, em cada um desses instantes apenas algumas das suas partes próprias

temporais estão presentes. Como conseqüência, Perdurants não apresentam

mudanças no tempo em um sentido genuíno uma vez que nenhuma de suas partes

Page 32: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

34

temporais mantém a sua identidade através do tempo (GUIZZARDI, G.; FALBO;

GUIZZARDI, R., 2008).

Um Perdurant pode ser chamado também de Evento (Event) e este, por sua vez,

pode ser um Evento Atômico (Atomic Event) ou um Evento Complexo (Complex

Event). Eventos Atômicos são aqueles que não têm partes impróprias (não podem

ser divididos), enquanto Eventos Complexos são agregações de pelo menos dois

Eventos (Atômicos ou Complexos) (GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008).

Entidades Monádicas (Monadic) e Relações são especializações de Endurants. O

primeiro é aplicado a um único indivíduo, enquanto o outro é aplicado a dois ou mais

indivíduos. Instâncias de Entidades Monádicas podem ser Objetos (Objects) ou

Propriedades (Properties). Objetos, por sua vez, podem ser Sortais (Sortals) ou

Mixin. Sortal é o tipo de entidade que dá suporte ao uso do Princípio da Identidade

pelos particulares que o instanciam. O Princípio da Identidade, por sua vez, permite

julgar se dois particulares são o mesmo, ou seja, em quais circunstâncias a relação

de identidade vale. Mixin é o tipo de entidade que representa Universais Dispersivos

(Dispersive Universal), ou seja, cobrem conceitos com diferentes princípios de

Identidade (GUIZZARDI, 2005).

Espécie (Kind), Subespécie (Subkind), Coleção (Collection), Fase (Phase) e Papel

(Role) são especializações de Sortal. Espécie é um tipo que provê o Princípio de

Identidade às suas instâncias, que são chamadas de complexos funcionais, ou seja,

entidades cujas partes exercem diferentes papéis. Por exemplo, Pessoa é uma

Espécie composta de várias partes, cada qual desempenha um papel distinto.

Subespécie é uma especialização de Espécie que herda desta entidade o Princípio

de Identidade. Por exemplo, sendo Pessoa uma Espécie, pode-se definir Homem e

Mulher como suas Subespécies. Um grupo de pessoas, porém, é uma instância do

tipo Coleção. Este tipo, assim como Espécie, provê o Princípio de Identidade a suas

instâncias, que são, porém, conjuntos de objetos que exercem o mesmo papel.

Pode-se dizer ainda que um indivíduo (ou coleção) que é instância de uma

Espécie/Subespécie (ou Coleção), é necessariamente instância deste (em todos os

mundos possíveis). Já o tipo Fase é um Sortal instanciado em determinado mundo

ou período de tempo, mas não necessariamente em todos. Por exemplo, Criança,

Adolescente e Adulto são fases da Espécie Pessoa. Também Papel é um tipo de

Page 33: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

35

Sortal instanciado eventualmente, mais precisamente na Participação em um Evento

ou numa determinada Relação. Por exemplo, Mãe é um Papel para a Subespécie

Mulher mediante a existência da relação de maternidade com uma instância do

Papel Filho da Espécie Pessoa. (GUIZZARDI, 2005).

Categoria (Category) é um tipo de Mixin, que classifica as entidades que pertencem

a Espécies diferentes, mas que compartilham uma propriedade comum essencial (ou

seja, uma propriedade que eles não podem perder). Por exemplo, uma Categoria

Entidade Racional pode ser especializada pelas Espécies Pessoa e Agente Artificial

(GUIZZARDI, 2005).

Propriedade é um tipo que denota as possíveis propriedades de um indivíduo, cujas

instâncias são existencialmente dependentes de entidades singulares (Qualidades -

Qualities) ou entidades múltiplas (Relators). Por exemplo, as Qualidades cor de uma

maçã e carga de um condutor dependem respectivamente da maçã e do condutor

para existir. Elas podem ainda ser simples (por exemplo, peso, idade e temperatura)

ou complexas, ou seja, uma agregação de qualidades (por exemplo, a qualidade

cor é a agregação das qualidades matiz, saturação e brilho). Exemplos de Relator

incluem um casamento, uma ligação covalente ou uma matrícula. Uma vez que

Relators são entidades existencialmente dependentes de várias outras, eles

estabelecem uma Relação Material entre essas entidades das quais eles dependem

(GUIZZARDI, 2005).

Relação Material (Material Relation) e Relação Formal (Formal Relation) são

especializações do tipo Relação (Relation). Relações Materiais são aquelas entre

indivíduos intermediadas por um Relator, como ‘ser casado com’, ‘estar ligado a’,

‘trabalhar em’, ‘estudar em’, etc. Relações Formais (Formal Relations), em

contrapartida, ocorrem diretamente entre indivíduos. Todo-Parte (Parthood),

Participação e Mediação (Mediation) são especializações de Relações formais. Para

a relação Todo-Parte, são consideradas neste trabalho a relação Parte Essencial (Essential Parthood), em que um todo não pode existir sem aquela parte específica; e

a relação Parte Inseparável (Inseparable Parthood), em que uma parte não pode

existir sem aquele todo específico. Uma Mediação é a relação de dependência

existencial entre um Relator e um indivíduo que ele intermedia. Participação é uma

Page 34: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

36

relação definida entre objetos e os eventos nos quais eles participam (GONÇALVES;

GUIZZARDI; PEREIRA FILHO, 2007).

Finalmente, uma Entidade pode ser ainda uma Estrutura de Qualidade (Quality

Structure). Esta pode ser entendida como uma estrutura de medição (ou um espaço

de valores) em que qualidades individuais podem tomar seus valores. Ou seja, uma

Qualidade está associada a uma Estrutura de Qualidade. Por exemplo, a

Qualidade ‘peso’ está associada a um espaço de valores que é uma estrutura linear

isomórfica ao eixo positivo dos números reais. A Qualidade ‘cor’, ao contrário, está

associada a uma estrutura de qualidade tridimensional composta das dimensões

matiz, saturação e brilho. Portanto, cada cor individual tem o seu valor como um

ponto neste espaço conceitual tridimensional (GUIZZARDI, 2005).

Algumas dessas entidades do fragmento da UFO apresentado nesta seção são

mostrados na próxima seção como parte do Metamodelo da Linguagem OntoUML.

2.2.2. OntoUML

Várias Linguagens de Modelagem Conceitual têm sido usadas para Representação

de Ontologias, por exemplo, EER, ORM e UML. Porém, foi verificado em Guizzardi

(2005) que essas não são linguagens adequadas para isso, pois não são

ontologicamente bem fundamentadas, conforme discutido na Seção 2.1.

Em particular, a linguagem UML (Unified Modeling Language) foi proposta como

Linguagem de Representação de Ontologia em Cranefield (1999 apud Guizzardi et

al., 2004). Neste artigo, argumenta-se que, apesar da falta de definição precisa da

semântica formal da UML, essa dificuldade poderia ser superada com

desenvolvimentos feitos pela comunidade UML. Entretanto, em Guizzardi et al.

(2004) defende-se que definir construtores da UML apenas em termos de sua

semântica matemática, apesar de ser essencial, não é suficiente para torná-la uma

Linguagem de Representação de Ontologias. Como mostrado na seção 2.1, para

modelar a realidade, uma Linguagem de Modelagem Conceitual deve ser

fundamentada em Ontologias Fundacionais. Em síntese, ela deve ter tanto a

semântica formal (matemática) quanto a ontológica. Foi demonstrado em Guizzardi e

Page 35: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

37

Wagner (2008) as inconsistências ontológicas que a UML possui como não-

completude, não-consistência, não-lucidez e não-laconicidade. Essas

inconsistências são sanadas em Guizzardi (2005), produzindo-se uma versão

ontologicamente bem fundamentada da UML 2.0 que é chamada de OntoUML, cujo

metamodelo é isomórfico à UFO. A Figura 2.16 mostra um fragmento do

metamodelo dessa linguagem.

Figura 2.16 - Fragmento do Metamomdelo da linguagem OntoUML.

Fontes: Guizzardi, 2005 p. 334; Guizzardi, 2007, p. 13; Guizzardi; Wagner, 2008, p. 15 (adaptado)

“A Linguagem de Modelagem Unificada (UML) tem mecanismos de extensão built-in

que permitem modificar os elementos da linguagem para se adaptar a certas

necessidades de modelagem [...]. Um conjunto coerente de tais extensões, definido

de acordo com um propósito ou domínio específicos, constitui um perfil UML (OMG,

2003)” (GUIZZARDI et al., 2004). O perfil UML é composto por: um conjunto de

Page 36: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

38

estereótipos que representam distinções ontológicas sobre os tipos de

classificadores propostos na teoria (por exemplo, Kind, Role, Phase, Category,

Mixin); e restrições sobre relações estabelecidas entre estes elementos, que

representam os postulados da teoria. (GUIZZARDI; WAGNER, 2008)

A tabela 2.1 mostra resumidamente as definições de estereótipos definidos no perfil

que implementa as metaclasses do metamodelo da OntoUML, e de possíveis

relações entre esses estereótipos conforme Guizzardi (2005) e Guizzardi, G., Falbo

e Guizzardi, R. (2008). São considerados apenas aqueles usados para modelar a

ontologia de Eletrocardiografia, apresentada na Seção 3.2.

Tabela 2.1 - Tabela de estereótipos definidos no perfil da OntoUML Estereótipos Descrição

«kind» (espécie)

Representa um tipo de objeto sortal cujas instâncias são complexos funcionais, que o instanciam em todos os mundos possíveis. Provê o princípio da identidade a suas instâncias. Exemplos: espécies naturais: Pessoa, Cão e Árvore; artefatos: Cadeira, Carro e Televisão.

«collective» (coleção)

Representa um tipo de objeto sortal cujas instâncias são coleções, que o instanciam em todos os mundos possíveis. Provê o princípio da identidade a suas instâncias. Exemplos: Baralho, Floresta e Grupo de Pessoas.

«subkind» (subespécie)

Representa um tipo de objeto sortal que especializa um sortal e herda dele o princípio da identidade. Exemplos: Homem e Mulher são subespécies da espécie Pessoa.

«phase» (fase)

Representa um tipo de objeto sortal que particiona um sortal e herda dele o princípio da identidade. Exemplos: Criança, Adolescente e Adulto são fases da espécie Pessoa.

«role» (papel)

Representa um tipo de objeto sortal que define o papel de um sortal, mediante a existência de uma relação ou da participação em um evento, e herda dele o princípio da identidade. Exemplos: Mãe é o papel da subespécie Mulher mediante a existência de uma relação com uma instância do papel Filho da espécie Pessoa.

«category» Representa um tipo de mixin que agrega propriedade essenciais que são comuns a diferentes objetos sortais. Exemplo: EntidadeRacional generaliza as espécies Pessoa e AgenteInteligente.

Page 37: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

39

«relator» Representa um tipo de propriedade que media dois ou mais sortais, e é existencialmente dependente deles. Exemplos: Casamento media os papéis Marido e Mulher.

«atomic event»

Representa um tipo de evento que não tem partes impróprias. Exemplos: Aula pode ser um evento atômico para uma certa granularidade.

«complex event»

Representa um tipo de evento que é agregação de pelo menos dois outros eventos. Exemplos: SemestreLetivo pode ser um evento complexo composto de vários eventos do tipo Aula, para um certa granularidade.

Relações Descrição «material» Representa um tipo de relação que é induzida por um relator.

Exemplo: Estudante estudaEm Universidade (relação induzida pelo relator matrícula).

«mediation» Representa um tipo de relação formal que relaciona um relator aos objetos que ele media. Exemplo: O universal Casamento media os papéis Esposo e Esposa.

«participation» Representa um tipo de relação formal que relaciona objetos aos eventos em que eles participam. Exemplo: Os papéis Professor e Aluno participam do evento Aula.

2.3. Linguagem para Implementação

A Linguagem escolhida neste trabalho para a implementação da Ontologia é a

Linguagem OWL (Ontology Web Language) baseada na Lógica Descritiva

SHOIN(D), e estendida com a linguagem de regras SWRL (Semantic Web Rule

Language). A escolha de OWL se deu por ser um padrão recomendado pela W3C,

permitindo que a implementação resultante deste trabalho possa ser melhor

aproveitada em trabalhos futuros que visem a criação de aplicações no contexto de

Eletrocardiografia.

Na seção 2.3.1 são abordadas as Lógicas Descritivas (DL). Elas fornecem a

fundamentação lógica das linguagens OWL DL e Lite, que por sua vez são

apresentadas na seção 2.3.2. Por fim, a seção 2.3.3 descreve alguns aspectos da

linguagem de regras SWRL, que estende a OWL possibilitando a utilização de

cláusulas de Horn para aumentar a expressividade.

Page 38: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

40

2.3.1. Lógicas Descritivas (DL – Description Logics)

Lógicas Descritivas (DL - Description Logics) são uma família de subconjuntos da

lógica de primeira ordem (FOL - First Order Logic), decidíveis em sua maioria,

usados para formalizar a representação do conhecimento e o raciocínio em

aplicações inteligentes. Entende-se como inteligência/raciocínio a habilidade de

encontrar conseqüências implícitas a partir de representações explícitas do

conhecimento. Essas aplicações são chamadas Sistemas de Representação do

Conhecimento (KRS - Knowledge Representation System). Esta seção é baseada

principalmente em (NARDI; BRACHMAN, 2003), e quando forem omitidas as

referências, entende-se que se trata desta última.

A Representação do Conhecimento (KR - Knowledge Representation) ganhou

grande popularidade por volta dos anos 70. Havia duas categorias de KR:

formalismos baseados em lógica e representações não baseadas em lógica. A

primeira era mais geral e permitia capturar fatos sobre o mundo de forma não

ambígua. A outra, porém, obteve maior aceitação, pois se mostrou mais adequada

do ponto de vista cognitivo, usando, geralmente, representações gráficas e estrutura

de redes para representar os conceitos e as relações entre eles. Redes semânticas

e frames são exemplos de representações não baseadas em lógica que obtiveram

grande sucesso, também chamados de sistemas baseados em redes.

Entretanto, foi constatado que os KRS baseados em redes não apresentavam

caracterização semântica precisa. Reconheceu-se que a lógica de primeira ordem

poderia ser usada como complemento semântico desses sistemas (HAYES, 1979

apud NARDI; BRACHMAN, 2003), de forma que os conceitos seriam representados

por predicados unários e as relações por predicados binários. No entanto, verificou-

se que frames e redes semânticas não exigem todo o maquinário da lógica de

primeira ordem, mas pode-se considerar apenas fragmentos dela (BRACHMAN;

LEVESQUE, 1985 apud NARDI; BRACHMAN, 2003). Além disso, diversos aspectos

da linguagem de representação levam a diferentes fragmentos da lógica de primeira

ordem e o raciocínio nesses diferentes fragmentos leva a problemas computacionais

de diferente complexidade. Diante disso iniciaram-se os estudos sobre a relação

entre a expressividade e a complexidade computacional dos subconjuntos da FOL

Page 39: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

41

que culminaram no surgimento das Lógicas Descritivas. As pesquisas sobre DL

foram desenvolvidas com grande sucesso devido principalmente à grande interação

entre estudos teóricos e aplicações práticas em diversas áreas.

Para a sintaxe de DL é definido um tipo de linguagem abstrata em que dois alfabetos

de símbolos distintos denotam conceitos e papéis atômicos, que podem ainda ser

combinados utilizando-se construtores. Conceitos representam conjuntos de

indivíduos e são designados por predicados unários. Papéis representam relações

entre os conceitos são designados por predicados binários. Pode-se usar, por

exemplo, a sentença C para representar uma expressão de conceito. Essa

expressão representa a sentença C(x) da FOL onde a variável x é livre de contexto,

ou seja, representa arbitrariamente todos os indivíduos do domínio de interpretação,

e C(x) é verdadeiro apenas para indivíduos que pertencem ao conceito C. Uma

expressão de conceito também pode ser construída combinando-se conceitos

atômicos através de construtores. Por exemplo, a interseção de conceitos é

denotada por C⊓D que corresponde à expressão C(x) ∧D(x) na FOL. Outros

construtores podem ser usados para estabelecer relações entre conceitos. Por

exemplo, a restrição de valores (value restriction) é denotada pela expressão ∀R.C,

onde R é uma papel atômico e C é um conceito atômico. A expressão

correspondente a esta na FOL é ∀y(R(x, y) → C(y)) onde x é novamente livre de

contexto. Outra regra de restrição é a restrição numérica, denotada, por exemplo, na

forma (≥ n R), onde n é um número inteiro positivo e R é um papel atômico, e que

não tem representação correspondente na FOL.

A técnica padrão para especificar o significado de uma DL é via uma semântica de

teoria de modelos tarskiana (NARDI; BRACHMAN, 2003), cuja proposta é explicar a

relação entre a sintaxe da linguagem e o(s) modelo(s) pretendido(s) do domínio. Um

modelo consiste de um domínio (ΔI ) e de uma função de interpretação (.I), onde o

domínio é o conjunto de objetos e a função de interpretação é um mapeamento de

nomes de indivíduos, classes ou propriedades em elementos do domínio,

subconjuntos do domínio ou relações binárias do domínio, respectivamente. A

função de interpretação pode ser estendida de nomes de classes para descrições de

Page 40: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

42

classes complexas. A tabela 2.2 mostra a sintaxe e a semântica para os

construtores.

O domínio de interpretação pode ser escolhido arbitrariamente e pode ser infinito.

Considera-se também a hipótese de mundo aberto, ou seja, não se pode assumir

que uma dada informação é falsa unicamente pela ausência de uma afirmação

sobre sua veracidade. A veracidade da informação deve ser definida explicitamente

num axioma ou ser deduzida a partir de outros axiomas existentes, caso contrário,

nada pode-se afirmar sobre ela.

Tabela 2.2 - Sintaxe e semântica dos construtores de DL. Construtor Sintaxe Semântica Exemplo

conceito atômico A Humano

papel atômico R gostar Para C, D conceitos e R papel

conjunção C ⊓ D Bom ⊓ Rico disjunção C ⊔ D Humano ⊔ Vegetalnegação ┐C ┐Chato restrição

existencial ∃ R.C ∃ temFilho.Humanorestrição de

valores ∀ R.C ∀ temFilho.Loiro

Fonte: HAARSLEV ; MOLLER, 2001 (adaptado)

O exemplo de conjunção Bom ⊓ Rico representa o conjunto de indivíduos do

domínio que satisfazem simultaneamente aos dois conceitos em questão, ou seja,

indivíduos que são bons e ricos. Já a expressão Humano ⊔ Vegetal, exemplo da

disjunção, representa o conjunto de indivíduos que satisfazem pelo menos a um dos

conceitos humano ou vegetal. Para a negação, a expressão ┐Chato representa o

conjunto de todos os indivíduos do domínio que não são chatos. O exemplo da

restrição existencial ∃temFilho.Humano representa o conjunto de indivíduos que tem

pelo menos um filho humano e o da restrição de valores ∀temFilho.Loiro representa

o conjunto de indivíduos cujos filhos, se existirem, são todos loiros.

Uma regra de restrição numérica restringe a cardinalidade do conjunto de

preenchedores (fillers) do papel. Por exemplo, a expressão (≥3temFilho) ⊓

Page 41: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

43

(≤2temParentesMulheres) representa o conjunto de indivíduos que possuem três

filhos ou mais e que têm no máximo dois parentes que são mulheres.

Na representação de conhecimento há uma distinção entre conhecimento geral

sobre o domínio do problema, e o conhecimento específico de um problema

particular. Em DL eles estão contidos, respectivamente, em dois componentes: TBox

e ABox.

A TBox contém o conhecimento geral na forma de uma terminologia e é construída

através de declarações que descrevem propriedades gerais de conceitos. A forma

básica de declaração em uma TBox é a definição de conceito, isto é, a definição de

um novo conceito em termos de outros previamente definidos. Em DL, uma

terminologia é constituída por um conjunto de definições de conceito da forma:

A ≡ B ⊔ C, ou ainda A ≡ ∀R.B ⊓ ∃Q.C

Entretanto, há algumas considerações importantes sobre terminologias DL:

− é permitida apenas uma definição para cada conceito;

− definições são acíclicas, no sentido de que os conceitos não são definidos em

termos deles mesmos, nem em termos de outros conceitos que indiretamente se

referem a eles.

Já a ABox contém o conhecimento específico sobre o domínio de interesse, isto é,

afirmações sobre indivíduos, por exemplo:

Pessoa(Monica) ou temFilho(Monica, Agostinho).

A primeira afirmação especifica que o indivíduo Monica é uma pessoa, e a segunda,

que o indivíduo Monica tem um filho que é o indivíduo Agostinho.

Como uma família de linguagens, as lógicas descritivas têm seus membros

construídos a partir da combinação de características pertencentes a um conjunto

sub-linguagens básicas previamente convencionado. Cada um deles é formado

restringindo-se a expressividade da FOL de uma forma particular. Conforme a

Page 42: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

44

necessidade de diferentes expressividades, são feitas as combinações entre as sub-

linguagens. Eles são identificados da seguinte forma:

AL - Linguagem Atributiva (Attributive Language). É a linguagem base que permite:

– Negação Atômica

– Interseção de Conceitos

– Restrições Universais

– Quantificação Existencial Limitada

FL− - Uma sub-linguagem de AL, que é obtida proibindo a negação atômica.

FLo - Uma sub-linguagem de FL−, que é obtida proibindo a quantificação

existencial limitada.

C - Negação complexa dos conceitos.

S - Uma abreviação de AL e C com propriedades transitivas.

H - Hierarquia de papéis.

R - Regra de inclusão de axiomas complexa e limitada; reflexividade e

irreflexividade; Regra de disjunção.

O - Indivíduos.

I - Propriedades inversas.

N - Restrições de cardinalidade.

Q - Restrições de cardinalidade qualificadas.

F - Propriedade funcional.

E - Qualificação existencial completa.

U - União de conceitos.

(D ) - Uso de propriedades de tipos de dados, valores de dados ou tipo de dados.

Finalmente, DLs são neutras com respeito aos compromissos ontológicos e é

exatamente essa neutralidade que as torna interessantes para serem usadas no

desenvolvimento de ontologias, uma vez que as primitivas da linguagem não

possuem interpretação ontológica definida a priori (GUIZZARDI, 2007). A próxima

Page 43: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

45

seção aborda a linguagem OWL, cujas bases lógicas usadas em duas das suas

espécies são as DLs SHOIN(D) e SHIF(D).

2.3.2. OWL (Ontology Web Language)

OWL é uma linguagem formal para representação de ontologias na Web Semântica,

desenvolvida pelo grupo de trabalho em Ontologia Web da World Wide Web

Consortium (W3C). Ela foi projetada para representar categorias de objetos e as

relações entre eles, além de informações sobre os próprios objetos (HORROCKS et

al., 2003). Diversas linguagens surgidas anteriormente com propósitos semelhantes

influenciaram no desenvolvimento de OWL, visando aproveitar propriedades

interessantes e/ou manter a compatibilidade.

No final da década de 90, um grande número de esforços de pesquisa explorou

como a idéia de representação de conhecimento da inteligência artificial poderia ser

utilizada na Web. Estes esforços incluíram linguagens baseadas em HTML, XML,

frames e abordagens de aquisição de conhecimento. Em 1999, a W3C endossou e

recomendou a RDF (Resource Description Framework) como uma linguagem padrão

para representar informação na Internet. Arquivos RDF são modelos ou fontes de

dados, também conhecidos como metadados (dados sobre dados), tendo como

principais objetivos criar um modelo simples de dados, usar o vocabulário baseado

em URL e uma sintaxe baseada em XML e suportar o uso de XML. Com a intenção

de estruturar recursos de RDF, criou-se o RDFS ou RDF Schema, que é uma

linguagem de representação do conhecimento extensível que provê elementos

básicos para descrição de ontologias, também chamados de vocabulários RDF2.

Porém, foi identificado um número considerável de casos de uso caracteríscos para

Ontologias na Web, os quais requeriam maior expressividade que a oferecida pelas

linguagens RDF e RDFS (ANTONIOU; VAN HARMELEN, 2003). Alguns grupos de

pesquisa nos Estados Unidos e na Europa haviam percebido a necessidade de uma

linguagem de modelagem de ontologias mais poderosa e criaram, respectivamente,

as linguagens DAML-ONT e OIL.

2 Disponível em http://en.wikipedia.org/wiki/Web_Ontology_Language. Acessado em junho 2007.

Page 44: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

46

Sendo assim, o ponto de partida para a W3C no desenvolvimento da OWL foi a

junção dessas duas linguagens, chamada DAML+OIL. Segundo Antoniou e Van

Harmelen (2003), buscou-se ainda atender às seguintes restrições: (i) manter a

compatibilidade com RDF/RDFS, estendendo, porém, a capacidade de expressar o

conhecimento ontológico; (ii) ter sintaxe e semântica bem definidas e um poder de

expressividade que mantenha propriedades computacionais desejáveis, para servir

como linguagem de implementação de ontologias.

Diante dessas restrições, percebeu-se que não seria possível satisfazê-las

simultaneamente. Foram criadas, então, três espécies de OWL:

• OWL Full: A linguagem inteira é chamada de OWL Full, e usa todas as primitivas

de linguagem OWL. Também permite combinar essas primitivas arbitrariamente

com RDF e RDFS. A vantagem é que é totalmente compatível com RDF, sintática

e semanticamente: qualquer documento RDF legal é também um documento OWL

Full legal, e qualquer conclusão RDF/RDFS válida é também uma conclusão OWL

Full válida. A desvantagem é que a linguagem se torna indecidível, resultando num

suporte de raciocínio não completo e não eficiente.

• OWL DL: Para ganhar eficiência computacional, OWL DL é uma sublinguagem de

OWL Full que restringe a forma como os construtores de OWL e RDF podem ser

usados. Por exemplo, não é permitido que os construtores OWL sejam usados uns

nos outros. A linguagem OWL DL é baseada na DL SHOIN(D). A vantagem é que

esta é decidível e permite suporte de raciocínio eficiente, e a desvantagem é a

restrição da expressividade. Perde-se ainda a compatibilidade total com RDF: um

documento RDF deverá geralmente ser estendido de uma forma e restringido de

outra para ser um documento OWL DL legal. Inversamente, todo documento OWL

DL legal é um documento RDF legal.

• OWL Lite: Uma restrição ainda maior limita OWL DL a um subconjunto de

construtores. Por exemplo, OWL Lite exclui classes enumeradas, termos disjuntos

e cardinalidade arbitrária, entre outros. É baseada na DL SHIF(Dn). A vantagem é

que a linguagem torna-se mais simples de ser implementada e usada. A

desvantagem é a restrição ainda maior da expressividade.

Page 45: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

47

Entre as espécies de OWL existe a seguinte relação de compatibilidade:

• Toda ontologia OWL Lite legal é uma ontologia OWL DL legal.

• Toda ontologia OWL DL legal é uma ontologia OWL Full legal.

• Toda conclusão OWL Lite válida é uma conclusão OWL DL válida.

• Toda conclusão OWL DL válida é uma conclusão OWL Full válida.

A OWL usa XML como sintaxe normativa, da mesma forma como é usado em RDF.

Porém, RDF/XML não provê uma sintaxe muito legível. Por isso, foram definidas

outras formas sintáticas para OWL (ANTONIOU; VAN HARMELEN, 2003):

− Uma sintaxe baseada em XML que não segue as convenções RDF. Essa sintaxe

é significativamente mais fácil de ser lida por humanos.

− Uma sintaxe abstrata que é usada no documento de especificação de linguagem.

Essa sintaxe é ainda mais legível que a sintaxe XML.

− Uma sintaxe gráfica baseada em convenções da linguagem UML (Universal

Modelling Language). Uma vez que UML é amplamente usada, esta é uma

maneira para as pessoas se familiarizarem com OWL. Isto é chamado de ODM

(Ontology Definition Metamodel – Metamodelo de Definição de Ontologia)

A teoria semântica de OWL é compatível com o modelo teórico semântico de RDF.

Em particular, a teoria semântica de OWL DL e Lite também é equivalente ao

modelo teórico semântico da DL (HORROCKS et al., 2003). A tabela 2.3 mostra os

termos da Sintaxe Abstrata OWL (Abstract Syntax) e da Sintaxe DL (DL Syntax)

assim como seus significados semânticos (Semantics), considerando um domínio

(ΔI) e de uma função de interpretação (.I ), como explicado na seção 2.3.1. Pode-se

dizer ainda que uma interpretação satisfaz uma ontologia se e somente se ela

satisfaz cada axioma e fatos da ontologia; uma ontologia é consistente se e somente

se ela é satisfeita por ao menos uma interpretação; e uma ontologia O2 é envolvida

por uma ontologia O1 se e somente se cada interpretação que satisfaz O1 também

satisfaz O2.

Page 46: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

48

Tabela 2.3 - Sintaxe Abstrata OWL, Sintaxe DL e Semântica de OWL.

Fonte: HORROCKS et al., 2003, p. 21.

Classes OWL podem ser especificadas como combinações lógicas de outras classes

(interseções, uniões e complementos, respectivamente intersectionOf, unionOf e

complentOf), ou como enumerações de objetos específicos (oneOf). É possível

também estabelecer Intervalos de Dados (Data Range), predefinidos ou enumerados

(oneOf). Pode-se ainda declarar Propriedades (Properties) diretas e/ou inversas,

organizá-las em uma hierarquia de subpropriedades, e prover domínio e imagem

dessas, tanto para Objetos (Objects) (relação binária entre classes) quanto para

Tipos de Dados (Datatypes) (relação binária entre uma classe e um intervalo de

dados). Há também regras de restrição (restriction) (existe, para todo, tem valor e

cardinalidade mínima e máxima, respectivamente correspondentes a

someValuesFrom, allValuesFrom, hasValue, minCardinality e maxCardinality) que

podem ser aplicadas a Propriedades de Objetos ou Tipos de Dados. Por fim, pode-

Page 47: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

49

se declarar indivíduos (Individuals) e valores (Data Values) específicos para uma

certa interpretação.

Apesar de OWL DL ser suficientemente rica para tarefas de raciocínio automático no

contexto da web, seu poder de expressividade é limitado para manter-se a

decidibilidade. Algumas extensões para OWL foram desenvolvidas para tentar

contornar essa limitação. Por exemplo, a linguagem de regras SWRL, introduzida na

próxima seção, provê uma forma mais expressiva para estabelecer relações de

conseqüência entre os conceitos e relações.

2.3.3. SWRL (Semantic Web Rule Language)

A linguagem SWRL (Semantic Web Rule Language) é baseada numa combinação

das sublinguagens OWL DL e OWL Lite com as linguagens Unária/Binária Datalog

RuleML, sublinguagens de RuleML (Rule Markup Language). Trata-se de uma

extensão de OWL, que permite aumentar sua expressividade, estendendo o

conjunto de axiomas de OWL para incluir regras do tipo Horn. Em outras palavras,

essa linguagem torna possível escrever regras do tipo Horn, expressadas em termos

dos conceitos OWL, para raciocinar sobre indivíduos, inferindo novos conhecimentos

a partir da base de conhecimentos OWL (O’CONNOR, 2005).

As cláusulas de Horn3 são um tipo especial de FNC4 (forma normal conjuntiva) que

têm formas eficientes para verificar sua satisfabilidade. Segundo Huth e Ryan

(2004), uma cláusula de Horn na lógica proposicional pode ser gerada como uma

instância de C na seguinte gramática5:

P ::= ⊥ | ⊤ | p

A ::= P | P ∧ A

C ::= A → P

3 O nome Horn é uma homenagem ao logicista Alfred Horn. 4 Diz-se que uma fórmula α está na FNC se e somente se α está na forma β1 ∧ β2 ∧ ... ∧ βn , onde cada βi , 1 ≤ i ≤ n, é um literal ou uma disjunção de literais. Literal é uma fórmula atômica ou sua negação. 5 Intuitivamente, pode-se dizer que uma gramática é formada por um alfabeto e por regras gramaticais, sendo capaz de gerar todas as fórmulas bem formadas da linguagem.

Page 48: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

50

onde as constante lógicas ⊥ e ⊤ denotam respectivamente uma contradição

(fórmula insatisfatível) e uma tautologia (fórmula válida), e ‘p’ é uma proposição.

Analogamente, pode-se usar a mesma gramática para gerar cláusulas de Horn na

lógica de predicados, considerando ‘p’ como sendo um predicado com variável

quantificada universalmente. Por exemplo, dadas as fórmulas (i) p ∧ q ∧ s → r, (ii), p

∧ q → s ∧ r e (iii) ┐p ∧ q → r, tem-se que, conforme essa gramática, (i) é uma cláusula

de Horn, porém (ii) e (iii) não são, pois, a conclusão da cláusula (ii) tem uma

conjunção, logo, não é do tipo P; e a premissa da cláusula (iii) tem uma negação,

logo, não é do tipo A.

As regras SWRL, como as cláusulas de Horn, têm a forma de uma implicação entre

um antecedente (corpo) e um conseqüente (cabeça). Ambos, antecedente e

conseqüente, consistem de zero ou mais átomos. Múltiplos átomos são tratados

como conjunção. Porém, as regras com conseqüentes conjuntivos podem ser

facilmente transformadas em múltiplas regras cada uma com apenas um

conseqüente atômico.

SWRL possui uma sintaxe XML abstrata para as regras baseada em RuleML e que

estende a sintaxe de apresentação OWL XML. Ela abstrai a sintaxe concreta RDF,

baseada na sintaxe de troca OWL RDF/XML, para facilitar o acesso e avaliação da

linguagem. Apesar de a sintaxe abstrata ser consistente com a especificação OWL e

ser útil para definir serializações XML e RDF, ela é ainda muito prolixa e

particularmente difícil de entender. Por este motivo, criou-se uma sintaxe informal

alternativa, legível por humanos, da forma:

antecedente → conseqüente

onde tanto o antecedente quanto o conseqüente são conjunções de átomos escritos

como a1 ∧ ... ∧ an (HORROCKS, I. et al).

Variáveis são quantificadas universalmente e indicadas usando-se a convenção de

prefixar com um sinal de interrogação (?x). Conforme essa sintaxe, é possível

escrever a seguinte regra, que pode ser entendida como a definição da relação

éTio(x, y):

Page 49: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

51

éPai(?z, ?y) ∧ éIrmao(?x, ?z) → éTio(?x, ?y).

O significado pretendido para essas regras pode ser lido como: sempre que as

condições especificadas no antecedente forem atendidas, aquelas especificadas no

conseqüente também precisam ser. Além disso, um antecedente vazio é tratado

como uma verdade trivial (satisfeita por qualquer interpretação), então, o

conseqüente precisa ser verdadeiro para qualquer interpretação; um conseqüente

vazio é tratado como uma falsidade trivial (não satisfeita por nenhuma interpretação),

logo, o antecedente também deve ser falso para qualquer interpretação.

A semântica de teoria de modelos tarskiana para SWRL é uma extensão direta da

semântica para OWL. A idéia básica é definir ligações (bindings), extensões de

interpretações OWL que também mapeiam variáveis em elementos do domínio. Uma

regra é satisfeita por uma interpretação se e somente se cada ligação que satisfaz o

antecedente também satisfaz o conseqüente. As condições semânticas relacionadas

a axiomas e ontologias não são mudadas, por exemplo, uma interpretação satisfaz

uma ontologia se e somente se ela satisfaz cada axioma, incluindo-se as regras

(HORROCKS, I. et al).

Em resumo, as regras SWRL são úteis para estabelecer relações de conseqüência

de uma maneira mais expressiva do que se consegue fazer em OWL. Por exemplo,

nesta última, pode-se declarar restrições apenas sobre classes e ainda como

condição necessária e/ou necessária e suficiente. Isso significa que uma definição

como o exemplo “éTio” não tem como ser feita em OWL, pois é a definição de uma

propriedade (e não de uma classe), e trata-se apenas de uma condição suficiente (e

não necessária ou necessária e suficiente). Portanto, como a SWRL é usada para

fazer inferências sobre os indivíduos que povoam o domínio, a partir do exemplo

anterior pode-se inferir quem “éTio” de quem para uma dada interpretação.

Existe ainda um recurso de executar consultas à base de conhecimento de uma

ontologia OWL, utilizando-se a biblioteca SWRL Query Built-In. Ela define um

conjunto de construtores que podem ser usados para realizar essas consultas. A

linguagem de consulta resultante não altera a semântica SWRL e usa o mesmo

padrão de sintaxe. No contexto deste trabalho, são utilizados apenas os construtores

select e orderBy. Por exemplo, a regra de consulta:

Page 50: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

52

éTio(?x, ?y) → query:select(?x, ?y) ∧ query:orderBy(?x, ?y).

retorna a informação de quais indivíduos são tios e seus respectivos sobrinhos,

ordenados alfabeticamente nessa ordem (PROTÉGÉ, 2007).

Contudo, Horrocks et al., (2005) mostra que a extensão da OWL DL para inclusão

das regras SWRL torna-a indecidível. Este, porém, é o preço a ser pago para se ter

uma expressividade maior que aquela estudada e prevista para linguagem.

Page 51: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

53

3. Domínio de Estudo

Este capítulo é baseado no trabalho desenvolvido em (GONÇALVES; GUIZZARDI;

PEREIRA FILHO, 2007) e compreende a descrição do domínio de

Eletrocardiograma (ECG) e da ontologia que o modela. Foram necessárias, porém,

adaptações em alguns axiomas da ontologia para que se tornassem mais

apropriados para a implementação. Para as referências omitidas neste capítulo,

entende-se que se trata deste mesmo artigo.

O propósito da ontologia de ECG desenvolvida é “prover uma teoria de ECG para: (i)

permitir interoperabilidade semântica e integração de dados e padrões entre

sistemas de saúde, os quais são atualmente pontos chave de pesquisa em

Informática Médica; (ii) permitir uma nova abordagem de inteligência artificial para

análise automática de ECG; e (iii) convencionar um repositório de conhecimento

sobre ECG. A ontologia proposta cobre o domínio de vários pontos de vista

complementares. Dessa forma, é provida uma visão integral da atividade cardíaca

da perspectiva microscópica até a macroscópica” (GONÇALVES; GUIZZARDI;

PEREIRA FILHO, 2007, p. 2).

3.1. Domínio de Eletrocardiografia

Eletrocardiografia é a técnica de registro de sinais elétricos gerados pela atividade

do coração. Enquanto um impulso elétrico cardíaco é conduzido no coração

humano, correntes elétricas passam em volta dos tecidos próximos a ele e

levemente alcançam a superfície do corpo. Assim, o potencial elétrico gerado pelo

coração pode ser medido através de pequenos sensores (eletrodos) colocados em

pontos opostos da superfície do corpo (GUYTON; HALL, 1996 apud GONÇALVES;

GUIZZARDI; PEREIRA FILHO, 2007). Essa técnica foi introduzida por Einthoven em

1902, com a invenção do galvanômetro string, pela qual ele recebeu o Prêmio

Nobel.

O surgimento da Eletrocardiografia, que é um procedimento relativamente rápido,

fácil e não invasivo, foi de suma importância, uma vez que as doenças do coração

Page 52: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

54

constituem uma das maiores causas de mortalidade no mundo. Chama-se de

Eletrocardiograma (ECG) o registro resultante da aplicação dessa técnica

(GESELOWITZ, 1989 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007). De

acordo com SCP (2002 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007),

mais de 100 milhões de ECGs são registrados anualmente na Europa Ocidental.

Sabe-se ainda que várias cardiopatias podem ser identificadas por anomalias

específicas em algumas características do ECG. Essas características são: a

morfologia das ondas e complexos que compõem um ciclo cardíaco; e o tempo dos

eventos e variações de padrão em várias batidas.

Com o avanço tecnológico foram obtidas muitas melhorias em instrumentação e

computadores digitais. Surgiu também a possibilidade de se fazer interpretação

automática de ECG por programas computacionais. De acordo com Geselowitz

(1989 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), o ECG foi

possivelmente o primeiro sinal de diagnóstico a ser estudado com este propósito.

Em especial, as novas tecnologias de informação e comunicação (ICT) permitiram o

surgimento da Telecardiologia. A transmissão de ECGs está entre os serviços

médicos de Cardiologia que podem ser providos remotamente, de uma forma

econômica e eficiente. “Esses serviços vão desde um simples monitoramento

remoto, através da transmissão de um ECG (por meio das tecnologias mobile e

wireless), até a transmissão de ECG ambulatório (AECG), possibilitando o

provimento de telemonitoramento cardíaco a qualquer hora e em qualquer lugar”

(GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007, p. 2). Assim, utilizando-se a

transmissão e interpretação de ECGs, torna-se possível ajudar e agilizar a

identificação de vários tipos de doenças cardíacas.

Contudo, nota-se que, para melhor explorar o potencial desses serviços, é

importante a padronização do armazenamento e transmissão dos registros ECG.

Dentre os principais padrões, o AHA/MIT-BIH e o SCP-ECG são usados para

armazenamento e transmissão de registros respectivamente. Também o HL7,

FDADF e ecgML são novos padrões criados tentar prover soluções para o problema

de interoperabilidade utilizando a Internet. Apesar de tais formatos serem

considerados padrões de referência em Cardiologia, eles não são favorecem a

interoperabilidade semântica sobre aplicações baseadas em ECG, como a

Page 53: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

55

integração de dados. Isso se dá, em geral, por se representar o domínio com

modelos conceituais de baixa expressividade e clareza, e/ou por haver um forte

acoplamento com ambientes de programação específicos e linguagens cujos

metamodelos misturam conceitos de domínio com os de apresentação.

Tendo em vista essas questões, foi desenvolvida em (GONÇALVES; GUIZZARDI;

PEREIRA FILHO, 2007) uma ontologia de Eletrocardiograma com o objetivo

principal de obter uma teoria de eletrocardiograma independente de aplicações

específicas do domínio. Essa ontologia é apresentada na próxima seção.

3.2. Ontologia de Eletrocardiograma

A ontologia de Eletrocardiograma está representada na Linguagem OntoUML e para

desenvolvê-la foi aplicado o método SABIO (Systematic Approach for Building

Ontologies - Abordagem Sistemática para Construção de Ontologias) proposto em

Falbo (2004 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007) . Esta

ontologia está dividida em cinco sub-ontologias, conectadas por relações entre os

conceitos e por axiomas. São elas:

(i) Sub-ontologia do coração;

(ii) Sub-ontologia dos fenômenos bioelétricos;

(iii) Sub-ontologia do fenômeno circulatório;

(iv) Sub-ontologia protocolo humano de ECG;

(v) Sub-ontologia de Eletrocardiografia.

Uma das atividades do método SABIO é a identificação do propósito ontológico por

meio das questões de competência. Em (GONÇALVES; GUIZZARDI; PEREIRA

FILHO, 2007) são definidas nove dessas questões para esta ontologia, descritas a

seguir. Elas levam a um mapeamento entre a atividade do coração e os conceitos de

eletrocardiografia.

QC1: Quais condições devem ser satisfeitas para o coração exercer o papel de

bomba de sangue?

Page 54: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

56

QC2: Quais condições devem ser satisfeitas para o coração estar apto a bombear

sangue para a circulação sistêmica e pulmonar?

QC3: O que está por trás de uma sessão de registro ECG?

QC4: Qual a origem de um registro ECG?

QC5: Como podem ser obtidos os registros ECG adquiridos no escopo de um

tratamento?

QC6: Como um dispositivo de registro de ECG adquire um registro ECG?

QC7: O que uma onda P representa em uma forma de onda ECG?

QC8: O que um complexo QRS representa em uma forma de onda ECG?

QC9: Que tipo de informação um médico usa para identificar variações na

morfologia e no tempo de eventos em uma forma de onda ECG para inferir

uma interpretação?

A seguir são apresentadas as sub-ontologias e indicados os axiomas que

respondem a cada uma das questões de competência. Os termos correspondentes

aos estereótipos do perfil de modelagem usados estão sublinhados no texto.

SUB-ONTOLOGIA DO CORAÇÃO

Esta sub-ontologia, mostrada na figura 3.1, captura a estrutura do coração humano

num alto nível de abstração.

Figura 3.1 - Sub-ontologia do Coração.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 8

Um coração humano (HumanHeart), que é parte de um corpo humano

(HumanBody), é composto essencialmente por átrios e ventrículos esquerdo e direito

Page 55: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

57

(LeftAtrium, RightAtrium, LeftVentricle e RightVentricle), e estes, por sua vez, são

partes inseparáveis do coração. Átrios e ventrículos, como espécies, são disjuntos

uns dos outros. São também categorizados como músculos (Muscle) e câmaras

(Chamber), assim como o próprio coração. O corpo humano, porém, é categorizado

apenas como câmara.

SUB-ONTOLOGIA DE FENÔMENOS BIOELÉTRICOS

Esta sub-ontologia, mostrada na figura 3.2, descreve os fenômenos bioelétricos que

ocorrem no coração humano.

Figura 3.2 - Sub-ontologia de Fenômenos Bioelétricos. Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 9

“A atividade do coração de bombear é conseqüência natural dos fenômenos

bioelétricos gerados em células especiais do coração chamadas células pacemaker

[(PacemakerCells)]. Essas células do corpo humano existem apenas no coração

(GESELOWITZ, 1989). Os nós SA e AV constituem as principais regiões do músculo

miocárdio onde essas células [(SANodeCells e AVNodeCells)] espontaneamente

Page 56: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

58

dão origem a [(givesRiseTo)] impulsos [(SAElectricalImpulse e AVElectricalImpulse)]

gerados por sua estimulação” (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007).

Em resposta aos impulsos elétricos, ocorrem as contrações dos átrios (LA e

RAContraction) e ventrículos (LV e RVContraction). Essas contrações sãos os

relators que caracterizam a relação material contração (contraction) entre os

impulsos elétricos e o papel dos átrios e ventrículos como bombas

(Left/RigthAtriumAsPump e Left/RigthVentricleAsPump). Os papéis dos ventrículos e

átrios como bomba compõem o papel do coração como bomba (HeartAsPump). O

impulso elétrico SA (SAElectricalImpulse) provoca contrações em ambos os átrios

como bombas. Durante essas contrações o impulso elétrico do nó SA também é

conduzido para o nó AV e se sobrepõe ao impulso deste nó (AVElectricalImpulse).

Surge então o impulso elétrico His-Purkinje (HisPurkinjeElectricalImpulse) como uma

composição dos impulsos AV e SA. Ele tem uma fase (HisElectricalImpulse) no

agrupamento (bundle) de His e outra fase (PurkinjeElectricalImpulse) nas fibras

Purkinje, sendo que, nesta última fase, o impulso provoca as contrações nos

ventrículos como bombas.

A questão de competência QC1 é respondida pelos axiomas A1, A2 e A3. Os

axiomas A1 e A2 formalizam as condições necessárias e suficientes para os

ventrículos direito e esquerdo exercerem o papel de bomba. O axioma A3 define que

um coração exerce o papel de bomba se e somente se seus ventrículos funcionarem

como bomba. Nota-se que o funcionamento dos átrios como bomba não interfere

neste fato.

(A1) ∀x ( LeftVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ LVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A2) ∀x ( RightVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ RVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A3) ∀z ( HeartAsPump(z) ↔ ∃x,y ( LeftVentricleAsAPump(x) ∧ ΡightVentricleAsAPump(y) ∧ isPartOf(x,z) ∧ isPartOf(y,z) ) )

SUB-ONTOLOGIA DE FENÔMENO CIRCULATÓRIO

Esta sub-ontologia, mostrada na figura 3.3, descreve o Fenômeno de Circulação do sangue no corpo humano.

Page 57: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

59

Figura 3.3 - Sub-ontologia de Fenômeno Circulatório.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 10

O coração como bomba (HeartAsPump) é responsável por bombear (pumps) sangue

pelo corpo humano (BloodInHumanBody). Os pulmões (Lungs), periféricos

(Peripherals), átrios e ventrículos exercem o papel de câmaras de sangue

(*AsBloodContainer) que armazenam (storing) “porções de sangue” (BloodIn*).

Essas porções compõem o sangue presente no corpo humano. Entretanto, o sangue

é movido (isMovedTo) constantemente dos ventrículos para os pulmões e

periféricos, destes para os átrios, e ainda destes para os ventrículos. O conceito de

relator armazenador de sangue (*BloodStoring) caracteriza a relação material

armazenagem (storing) entre o papel das câmaras de sangue e as respectivas

“porções de sangue”. Além disso, os pulmões e periféricos (isto é, cabeça, tronco e

membros) compõem o corpo humano, e também os átrios e ventrículos como

câmaras de sangue compõem o papel do coração como câmara de sangue

(HeartAsBloodContainer).

Por se tratar de um fenômeno intrinsecamente dinâmico, “[...] é difícil definir um

critério de identidade para a entidade ‘porção de sangue’ no corpo humano. [Sabe-

se que] [...] uma porção de sangue contida em uma câmara num ponto no tempo

provavelmente mudará todas as suas propriedades (por exemplo, volume, nível de

Page 58: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

60

oxigênio) e sua câmara em outro ponto no tempo. Assim, o problema de

homeomerosidade de quantidades tratado em (GUIZZARDI, 2005) é mais

complicado no caso da circulação sangüínea”. Porém, é importante observar que as

ontologias produzidas “[...] têm a intenção de focar no aspecto estrutural do domínio

(ao contrário do aspecto dinâmico). Por esta razão, a representação da circulação

sangüínea [é feita de um modo não trivial] [...] chamado de representação de

porções de sangue (a entidade localizada em cada câmara específica em cada

ponto específico no tempo) como entidades instantâneas que compõem todo o

sangue contido no corpo humano”. (GONÇALVES; GUIZZARDI; PEREIRA FILHO,

2007, p. 10)

A seguir são definidos os axiomas que respondem a questão QC2. As condições

necessárias e suficientes para os ventrículos direito e esquerdo exercerem o papel

de câmara de sangue são formalizadas nos axiomas A4 e A5. O axioma A6 define

que, se um coração bombeia sangue no corpo humano, seus ventrículos devem

exercer o papel de câmaras de sangue. Novamente, o funcionamento dos átrios

como câmaras de sangue não influencia neste fato.

(A4) ∀x ( LeftVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInLeftVentricle(y) ∧ LVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A5) ∀x ( RightVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInRightVentricle(y) ∧ RVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A6) ∀x,y ( (HeartAsAPump(x) ∧ ΒloodInHumanBody(y) ∧ pumps(x,y)) → ∃z,w (LeftVentricleAsABloodContainer(z)

∧ RightVentricleAsABloodContainer(w) ∧ isPartOf(z,x) ∧ isPartOf(w,x)) )

SUB-ONTOLOGIA DE PROTOCOLO HUMANO DE ECG

Esta sub-ontologia, mostrada na figura 3.4, descreve o protocolo humano que

orienta o desenvolvimento de sessões de registro de ECG.

Page 59: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

61

Figura 3.4 - Sub-ontologia de Protocolo Humano.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 11

Uma sessão de registro de ECG (ECGRecordingSession) é requerida por

(isRequestedBy) um médico (Physician) que trata (treats) de um paciente (Patient).

Essa é uma relação material entre o médico e o paciente, mediada pelo relator

tratamento (Treatment). Uma sessão sempre está associada a (isAssociatedTo) um

tratamento e é também um evento complexo que tem a participação de um

dispositivo de registro de ECG (ECGRecordingDevice) e do paciente que está em

tratamento. Tanto médico quanto paciente são papéis exercidos por alguma pessoa.

Cada sessão de registro de ECG produz (produces) exatamente um registro ECG

(ECGRecord). Este registro é adquirido pelo (isAcquiredBy) dispositivo usado na

sessão e pertence ao (belongsTo) paciente que foi o sujeito da sessão. Este

paciente tem (has) um registro eletrônico (EPR) em que são agregados os seus

registros ECG.

As questões de competência QC3, QC4 e QC5 são respondidas pelos axiomas A7,

A8 e A9 respectivamente. Esses axiomas enfatizam relações existentes no modelo.

O axioma A7 ressalta que, para toda sessão de registro de ECG, existe um

dispositivo, um paciente, um médico e um tratamento relacionados a ela. O axioma

A8 mostra que para todo registro ECG há uma sessão, um dispositivo e um paciente

associados a ele. Já, o axioma A9 acrescenta a relação “produzido no escopo de”

(producedInScopeOf) entre um registro ECG e um tratamento, que pode ser

derivada das relações entre o tratamento, o registro ECG e a sessão de registro de

ECG.

Page 60: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

62

(A7) ∀x (ECGRecordingSession(x) → ∃!rd,pt,ph,tr (ECGRecordingDevice(rd) ∧ Patient(pt) ∧ Physician(ph) ∧ Treatment(tr) ∧ participates(rd,x) ∧ participates(pt,x) ∧ isRequestedBy(x,ph) ∧ ∧ (isAssociatedWith(x,tr) ∧ mediates(tr, ph) ∧ mediates(tr, pt) ) )

(A8) ∀x (ECGRecord(x) → ∃!rs,rd,pt (ECGRecordingSession(rs) ∧ ECGRecordingDevice(rd) ∧ Patient(pt) ∧ produces(rs,x) ∧ isAcquiredBy(x,rd) ∧ belongsTo(x,pt) ) )

(A9) ∀x,y ( (Treatment(x) ∧ ECGRecord(y)) → ( producedInScopeOf(y,x) ↔ ( ∃z ECGRecordingSession(z) ∧ isAssociatedWith(z,x) ∧ produces(z,y) ) ) )

SUB-ONTOLOGIA DE ELETROCARDIOGRAFIA

Esta sub-ontologia, mostrada na figura 3.5, convenciona os conceitos e relações da própria Eletrocardiografia (KADISH et al., 2001 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007).

Figura 3.5 - Sub-ontologia de Eletrocardiografia.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 12

O objetivo de uma sessão de registro de ECG (ECGRecordingSession) é produzir

um registro de ECG (ECGRecord) que dê evidências diretas e indiretas de certas

Page 61: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

63

características e do funcionamento do coração. Para isso, um dispositivo de ECG

(ECGRecordingDevice) realiza (performs) observações (Observation) medindo a

diferença de potencial elétrico na superfície do corpo humano (HumanBody),

conforme o posicionamento (placement) de eletrodos (Electrode) no corpo. A relação

material entre os eletrodos e o corpo humano é intermediada pelo relator lead

(ECGLead). Um lead é uma combinação específica de eletrodos que provê um ponto

de vista da atividade do coração. Por exemplo, a figura 3.6 mostra várias

combinações (leads) de eletrodos posicionados nos membros. Várias observações

são desenvolvidas em (isDevelopedIn) um mesmo lead, e compõem uma série de

observações (ObservationSeries). As séries de observações feitas em diferentes

leads compõem uma série de observações correlacionadas

(CorrelatedObservationSeries), à qual o registro de ECG produzido na sessão está

associado (isAssociatedWith).

Figura 3.6 - Combinações (Leads) de eletrodos posicionados nos membros.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 7

Cada observação dá origem a (givesRiseTo) uma amostra (Sample), que é tomada

em um valor de freqüência (SampleRate) e registra o valor de potencial elétrico

medido em uma observação. Uma série de observações constitui uma forma de

onda (WaveForm) que é composta por tais exemplos. As formas de onda, por sua

vez, são compostas por ciclos (Cycle). Finalmente, um ciclo, que representa uma

batida do coração, é composto por formas elementares (ElementaryForm) que

mapeiam os impulsos elétricos. Em particular, as formas chamadas onda P (Pwave)

Page 62: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

64

e complexo QRS (QRScomplex) mapeiam respectivamente os impulsos elétricos

SA, responsável pela contração dos átrios, e HisPurkinje, responsável pela

contração dos ventrículos. A figura 3.7 mostra a forma de onda em um ciclo normal

de ECG.

Figura 3.7 - A forma de onda em um ciclo normal de ECG.

Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 7

Uma forma elementar tem como propriedades os tipos de dados (datatype)

estruturados Anotação (Annotation) e Medida (Measurement). Essas propriedades

estão relacionadas à morfologia e ao tempo dos eventos na forma de onda, que

provêem significado para os médicos, e por isso são consideradas as principais

características de um ECG.

Existem ainda vários tipos de dados relacionados aos conceitos do modelo.

“Seguindo as orientações metodológicas (GUIZZARDI, 2005), estas propriedades

são representadas usando explicitamente um espaço conceitual em que eles são

medidos, isto é, em que eles podem obter seus valores. Estes espaços conceituais

podem ser unidimensionais, por exemplo, taxas de amostragem (SampleRate) e

freqüência cardíaca (CardiacFrequency), ou multidimensionais, por exemplo, data e

tempo, e são representados no modelo como tipos de dados simples e estruturados

respectivamente” (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007, p. 12) .

As questões de competência QC6, QC7, QC8 e QC9 são respondidas pelos

axiomas A10, A11, A12 e A13 respectivamente. Também esses axiomas enfatizam

relações existentes no modelo. O axioma A10 ressalta que para toda observação

existe um dispositivo, ao menos um eletrodo, um lead, um corpo humano e um

Page 63: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

65

exemplo relacionados a ela. Os axioma A11 e A12 mostram que a onda P e o

complexo QRS mapeiam os impulsos elétricos SA e HisPurkinje respectivamente.

Já, o axioma A13 mostra que as formas elementares têm uma medida e uma

anotação, que são as informações principais utilizadas pelos médicos.

(A10) ∀x ( Observation(x) → ∃et, ∃!rd,ld,hb,sp,tm ( ECGRecordingDevice(rd) ∧ performs(rd,x) ∧ Electrode(et) ∧ isPartOf(et,rd) ∧ ECGLead(ld) ∧ mediates(ld,et) ∧ HumanBody(hb) ∧ mediates(ld,hb) ∧ participates(et,x) ∧ participates(hb,x) ∧ Sample(sp) ∧ givesRiseTo(x,sp) ∧ time(tm) ∧ isProprietyOf(tm,x) ) )

(A11) ∀x ( Pwave(x) → ∃!y ( SAElectricalImpulse(y) ∧ maps(x,y) ) ) (A12) ∀x ( QRScomplex(x) → ∃!y ( HisPurkinjeElectricalImpulse(y) ∧ maps(x,y) ) ) (A13) ∀x ( ElementaryForm(x) → ∃!y,z ( Measurement(y) ∧ Annotation(z) ∧ isPropertyOf(y,x)

∧ isPropertyOf(z,x) ) )

No próximo capítulo são mostrados alguns aspectos da implementação dessas sub-

ontologias, resultando na implementação da ontologia de ECG apresentada neste

capítulo.

Page 64: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

66

4. Implementação

Este capítulo trata da implementação da ontologia de Eletrocardiograma discutida no

Capítulo 3, realizada na linguagem OWL + SWRL, e cujo código está disponibilizado

no Anexo A. Primeiramente, na Seção 4.1, são relacionadas as ferramentas

utilizadas para implementar a ontologia e obter os resultados. Estes, por sua vez,

são mostrados na Seção 4.2, e consistem em responder as questões de

competência apresentadas na Seção 3.2, buscando mostrar a validade da

implementação realizada. Na Seção 4.3 é realizada uma análise da implementação,

em que são identificados pontos críticos, mostrando-se algumas possíveis soluções

ou apontando-se a necessidade de uma maior expressividade da linguagem

utilizada.

4.1. Aspectos Técnicos

Foi utilizada a ferramenta Protégé6 3.3 para implementar a Ontologia de ECG

(discutida no Capítulo 3) na linguagem OWL DL + SWRL. O Protégé é uma

ferramenta gratuita e open-source que permite abrir e salvar arquivos no formato

OWL e RDF; editar e visualizar classes, propriedades e regras SWRL; definir

características lógicas das classes como expressões OWL; e editar indivíduos OWL.

Além disso, tem uma arquitetura flexível que permite fácil integração com outras

ferramentas, como máquinas de inferência.

Foram utilizadas, através do Protégé, as máquinas de inferência Racer Pro7 para

realizar a verificação da consistência da ontologia, a inferência de subsunção de

classes e a classificação de indivíduos; e Jess8 para realizar as inferências das

regras SWRL9. A verificação da consistência da ontologia é feita para saber se

existe alguma contradição nas condições lógicas declaradas para as classes. A

inferência de subsunção é feita para saber se, dadas essas as condições, uma

classe está contida em outra. E a classificação de indivíduos é feita para descobrir a 6 Disponível em http://protege.stanford.edu 7 Disponível em http://www.racer-systems.com 8 Disponível em http://www.jessrules.com 9 Para utilizar o Racer Pro e o Jess foi necessário solicitar as respectivas licenças de uso acadêmico.

Page 65: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

67

qual(is) classe(s) pertence um dado indivíduo, dadas essas mesmas condições e as

informações conhecidas sobre ele.

A aba de Regras SWRL do Protégé funciona como editor de regras. Utilizando o

plugin do Jess, pode-se também realizar inferências sobre classificação de

indivíduos e propriedades entre eles, conforme as regras criadas. Ainda podem ser

criadas regras na forma de consulta à base de instâncias. Este recurso foi utilizado

para representar os axiomas que não acrescentam informação à ontologia, mas

reúnem as informações existentes no modelo, pertinentes à respectiva questão de

competência.

A implementação da ontologia foi dividida em sub-ontologias seguindo o modelo

conceitual original (Heart.owl, BioelectricPhen.owl, CirculatoryPhen.owl,

HumanProtocol.owl e ECG.owl). Também foi criada uma ontologia base

(baseECG.owl), por questão de organização, para compartilhar alguns conceitos

comuns. Conforme a necessidade, uma sub-ontologia importa a outra. Além disso,

foi criado um arquivo separado (TestECG.owl) para acrescentar as regras SWRL,

instanciar as classes e realizar as inferências para verificar as respostas das

questões de competência. Optou-se por acrescentar as regras SWRL

separadamente, pois a extensão da linguagem para usar SWRL faz com que a

implementação se torne OWL Full, e pode trazer problemas, por exemplo, na

verificação de consistência da ontologia.

4.2. Resultados

Nesta seção mostra-se como a implementação pode responder as questões de

competência apresentadas na seção 3.2. Para ilustrar as questões foram criadas no

Protégé algumas instâncias para os conceitos da ontologia de ECG.

CQ1: Quais condições devem ser satisfeitas para o coração exercer o papel de

bomba de sangue?

Respondem esta questão os axiomas A1, A2 e A3, que foram implementados

em OWL. Para melhor exemplificar o resultado, também foi feita uma pequena

Page 66: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

68

modificação na ontologia, permitindo que a relação de mediação (mediation)

entre os papéis (role) dos ventrículos como bomba e as respectivas

contrações fosse estendida para a espécie (kind) ventrículo. Dessa forma, é

possível que a máquina de inferência conclua se um determinado ventrículo,

diante das circunstâncias descritas nos axiomas, funciona como bomba. E

assim, conforme o axioma A3, se um coração possui ambos ventrículos

funcionando como bomba, pode-se inferir que ele também funciona como

bomba.

Os axiomas foram representados no Protégé como condições necessárias e

suficientes (para as classes mostradas em itálico) descritas como segue:

Axiomas originais:

(A1) ∀x ( LeftVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ LVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A2) ∀x ( RightVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ RVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A3) ∀z ( HeartAsPump(z) ↔ ∃x,y ( LeftVentricleAsAPump(x) ∧ RightVentricleAsAPump(y) ∧ isPartOf(x,z) ∧ isPartOf(y,z) ) )

Axiomas implementados: (A1) LeftVentricleAsPump: isMediatedBy some (LVContraction

and (mediates some PurkinjeElectricalImpulse) )

(A2) RightVentricleAsPump: isMediatedBy some (RVContraction

and (mediates some PurkinjeElectricalImpulse) )

(A3) HeartAsPump: hasPart some LeftVentricleAsPump

hasPart some RightVentricleAsPump

A figura 4.1 mostra a aba de Indivíduos (Individuals) do Protégé, em que a

instância HumanHeart1, que havia sido criada como Coração Humano

(HumanHeart), foi inferida como um coração humano que funciona como

bomba (HeartAsPump). Vale ressaltar que os números entre parênteses à

frente das classes, na forma (a) ou (a / b), representam quantas instâncias

foram criadas manualmente (a) e quantas foram inferidas pela máquina de

inferência (b). Assim, pode-se observar que também as instâncias que haviam

sido criadas como ventrículos direito e esquerdo (RightVentricle e

Page 67: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

69

LeftVentricle) foram inferidas como ventrículos que exercem o papel de

bomba (RightVentricleAsPump e LeftVentricleAsPump).

Figura 4.1 - Resposta da questão de competência CQ1.

CQ2: Quais condições devem ser satisfeitas para o coração estar apto a bombear

sangue para a circulação sistêmica e pulmonar?

Os axiomas A4, A5 e A6, relativos a esta questão, foram implementados

como regras SWRL, pois neste caso é necessário inferir a existência de uma

relação e, como visto na seção 2.3.3, não é possível de se implementar

usando apenas OWL. Conforme A4 e A5 foram criadas duas regras que

permitem à máquina de inferência concluir se um determinado ventrículo

(direito ou esquerdo) funciona como câmara de sangue. Outra regra (A6’)

define a relação material “armazena” (stores) entre um dos ventrículos e o

sangue contido nele, para complementar a regra do axioma A6. Ela foi

acrescida para vincular a entidade “sangue no corpo humano” com o coração,

mais especificamente, com o sangue contido num dos seus ventrículos. A

regra relativa ao axioma (A6), então, usa as anteriores para inferir se um

coração tem a relação de bombear com o sangue no corpo humano.

Page 68: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

70

Os axiomas foram representados da seguinte forma:

Axiomas originais:

(A4) ∀x ( LeftVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInLeftVentricle(y) ∧ LVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A5) ∀x ( RightVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInRightVentricle(y) ∧ RVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )

(A6) ∀x,y ( (HeartAsAPump(x) ∧ ΒloodInHumanBody(y) ∧ pumps(x,y)) → ∃z,w (LeftVentricleAsABloodContainer(z)

∧ RightVentricleAsABloodContainer(w) ∧ isPartOf(z,x) ∧ isPartOf(w,x)) )

Axiomas implementados: (A4) LeftVentricle(?lv) ∧ BloodInLeftVentricle(?blv) ∧ LVBloodStoring(?lvbs)

∧ mediates(?lvbs, ?lv) ∧ mediates(?lvbs, ?blv)

→ LeftVentricleAsBloodContainer(?lv)

(A5) RightVentricle(?rv) ∧ BloodInRightVentricle(?brv) ∧ RVBloodStoring(?rvbs)

∧ mediates(?rvbs, ?rv) ∧ mediates(?rvbs, ?brv)

→ RightVentricleAsBloodContainer(?rv)

(A6’) LeftVentricleAsBloodContainer(?lvbc) ∧ BloodInLeftVentricle(?blv) ∧

∧ LVBloodStoring(?lvbs) ∧ mediates(?lvbs, ?lvbc) ∧ mediates(?lvbs, ?blv)

→ stores_LVBC_BloodInLV(?lvbc, ?blv)

(A6) HeartAsPump(?hp) ∧ BloodInHumanBody(?bhb)

∧ LeftVentricleAsBloodContainer(?lvbc)

∧ RightVentricleAsBloodContainer(?rvbc) ∧ BloodInLeftVentricle(?blv)

∧ stores_LVBC_BloodInLV(?lvbc, ?blv) ∧ isDirectPartOf(?blv, ?bhb)

∧ hasDirectPart(?hp, ?lvbc) ∧ hasDirectPart(?hp, ?rvbc)

→ base:pumps(?hp, ?bhb)

Page 69: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

71

Figura 4.2 - Resposta da questão de competência CQ2.

A figura 4.2 mostra a aba de Regras SWRL do Protégé com o plugin do Jess.

Pode-se observar que as instâncias dos ventrículos direito e esquerdo

(RightVentricle1 e LeftVentricle1) foram inferidas como sendo ventrículos que

exercem o papel de câmara de sangue (Left/RightVentricleAsBloodContainer).

Também foi inferida a existência a relação bombear (pumps) de um coração

(HumanHeart1) com o sangue no corpo humano (BloodInHumanBody1).

CQ3: O que está por trás de uma seção de registro ECG?

O axioma A7, relativo a esta questão, foi implementado como consulta SWRL

com seguinte representação:

Axioma original:

(A7) ∀x (ECGRecordingSession(x) → ∃!rd,pt,ph,tr (ECGRecordingDevice(rd) ∧ Patient(pt) ∧ Physician(ph) ∧ Treatment(tr) ∧ participates(rd,x) ∧ participates(pt,x) ∧ isRequestedBy(x,ph) ∧ (isAssociatedWith(x,tr) ∧ mediates(tr, ph) ∧ mediates(tr, pt) ) )

Page 70: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

72

Axioma implementado: (A7) Physician(?ph) ∧ Patient(?pt) ∧ ECGRecordingDevice(?rd)

∧ ECGRecordSession(?rs) ∧ Treatment(?t) ∧ isRequestedBy(?rs, ?ph)

∧ hasParticipationOf(?rs, ?pt) ∧ hasParticipationOf(?rs, ?rd)

∧ isAssociatedWith(?rs, ?t) ∧ mediates(?t, ?pt) ∧ mediates(?t, ?ph)

→ query:select(?rs, ?ph, ?pt, ?t, ?rd)

Essa consulta, exemplificada na figura 4.3, mostra qual médico (Physician_P),

paciente (Patient_A), tratamento (Treatment_AP) e dispositivo

(ECGRecordingDevice_1) estão relacionados a uma determinada seção de

registro de ECG (ECGRecordingSession A1 e A2).

Figura 4.3 - Resposta da questão de competência CQ3.

CQ4: O que é a origem de um registro ECG?

Para responder esta questão foi implementado como consulta SWRL o

axioma A8. Para complementá-lo, foi usada também uma regra SWRL que

define a relação belongsTo. Ambos foram representados como segue:

Axioma original:

(A8) ∀x (ECGRecord(x) → ∃!rs,rd,pt (ECGRecordingSession(rs) ∧ ECGRecordingDevice(rd) ∧ Patient(pt) ∧ produces(rs,x) ∧ isAcquiredBy(x,rd) ∧ belongsTo(x,pt) ) )

Page 71: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

73

Axioma implementado: (A8’) ECGRecord(?r) ∧ Patient(?pt) ∧ ECGRecordSession(?rs)

∧ hasParticipationOf(?rs, ?pt) ∧ produces(?rs, ?r) → belongsTo(?r, ?pt)

(A8) ECGRecord(?r) ∧∧ ECGRecordSession(?rs) ∧ ECGRecordingDevice(?rd)

∧ produces(?rs, ?r) ∧ isAcquiredBy(?r, ?rd) ∧ Patient(?pt) ∧ belongsTo(?r, ?pt)

→ query:select(?r, ?pt, ?rs, ?rd)

A figura 4.4 ilustrada essa consulta que informa qual paciente (Patient_A),

seção (ECGRecordSessionA1 e A2) e dispositivo (ECGRecordingDevice_1)

estão relacionados a um dado registro de ECG (ECGRecordA1 e A2).

Figura 4.4 - Resposta da questão de competência CQ4.

CQ5: Como podem ser obtidos os registros ECG adquiridos no escopo de um

tratamento?

O axioma A9, que responde esta questão, introduz a relação “ser produzida

no escopo de” (isProducedInScopeOf) para a qual foi criada uma regra SWRL.

Esta regra e a consulta SWRL relativa ao axioma 9 foram implementadas

como:

Axioma original:

(A9) ∀x,y ( (Treatment(x) ∧ ECGRecord(y)) → ( producedInScopeOf(y,x) ↔ ( ∃z ECGRecordingSession(z) ∧ isAssociatedWith(z,x) ∧ produces(z,y) ) ) )

Page 72: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

74

Axioma implementado: (A9’) Treatment(?t) ∧ ECGRecord(?r) ∧ ECGRecordSession(?rs)

∧ isAssociatedWith(?rs, ?t) ∧ produces(?rs, ?r) → isProducedInScopeOf(?r, ?t)

(A9) Treatment(?t) ∧ ECGRecord(?r) ∧ isProducedInScopeOf(?r, ?t)

→ query:select(?t, ?r)

Um resultado exemplificando essa consulta é mostrado na figura 4.5, que

mostra os registros ECG (ECGRecordA1 e A2) que foram produzidos no

escopo de um determinado tratamento (TreatmentAP).

Figura 4.5 - Resposta da questão de competência CQ5.

CQ6: Como um dispositivo de registro de ECG adquire um registro ECG?

Esta questão é respondida pelo axioma A10, que foi implementado como

consulta SWRL da seguinte forma:

Axioma original:

(A10) ∀x ( Observation(x) → ∃et, ∃!rd,ld,hb,sp,tm ( ECGRecordingDevice(rd) ∧ performs(rd,x) ∧ Electrode(et) ∧ isPartOf(et,rd) ∧ ECGLead(ld) ∧ mediates(ld,et) ∧ HumanBody(hb) ∧ mediates(ld,hb) ∧ participates(et,x) ∧ participates(hb,x) ∧ Sample(sp) ∧ givesRiseTo(x,sp) ∧ time(tm) ∧ isProprietyOf(tm,x) ) )

Page 73: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

75

Axioma implementado: (A10) ECGRecordingDevice(?rd) ∧ Observation(?obs) ∧ HumanBody(?hb)

∧ Electrode(?el) ∧ ECGLead(?ld) ∧ Sample(?smp) ∧ performs(?rd, ?obs)

∧ isDirectPartOf(?el, ?rd) ∧ mediates(?ld, ?el) ∧ mediates(?ld, ?hb)

∧ hasParticipationOf(?obs, ?el) ∧ hasParticipationOf(?obs, ?hb)

∧ givesRiseTo(?obs, ?smp)

→ query:select(?rd, ?obs, ?hb, ?el, ?ld,?smp)

A figura 4.5, ilustra essa consulta, que informa as observações

(ObservationA122 e A211) que foram realizadas num dado dispositivo

(ECGRecordingDevice1), os eletrodos (Electrode1) que foram posicionados

no corpo (HumanBodyA) de um paciente de acordo com um lead

(ECGLead1), e os exemplos (SampleA122 e A211) que foram gerados pelas

observações e que, por fim, constituem um registro de ECG.

Figura 4.6 - Resposta da questão de competência CQ6.

CQ7: O que uma onda P representa em uma forma de onda ECG?

Para responder esta questão foi implementado o axioma A11 como consulta

SWRL, representado como segue:

Axioma original:

(A11) ∀x ( Pwave(x) → ∃!y ( SAElectricalImpulse(y) ∧ maps(x,y) ) )

Page 74: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

76

Axioma implementado: (A11) Pwave(?pw) ∧ ElectricalImpulse(?x) ∧ maps(?pw, ?x) → query:select(?pw, ?x)

Essa consulta é exemplificada na figura 4.7 e mostra qual impulso elétrico

(SAEletricalImpulseA11, A12, A21, A22) é representado por uma onda P

(PwaveA11, A12, A21, A22).

Figura 4.7 - Resposta da questão de competência CQ7.

CQ8: O que o complexo QRS representa em uma forma de onda ECG?

Esta questão é respondida pelo axioma A12, que foi implementado como

consulta SWRL da seguinte forma:

Axioma original:

(A12) ∀x ( QRScomplex(x) → ∃!y ( HisPurkinjeElectricalImpulse(y) ∧ maps(x,y) ) ) Axioma implementado:

(A12) QRScomplex(?qrs) ∧ ElectricalImpulse(?ei) ∧ maps(?qrs, ?ei) → query:select(?qrs, ?ei)

A figura 4.8 ilustra essa consulta que informa qual impulso elétrico

(HisPurkinjeEletricalImpulseA11, A12, A21, A22) é representado por um

complexo QRS (QRScomplexA11, A12, A21, A22).

Page 75: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

77

Figura 4.8 - Resposta da questão de competência CQ8.

CQ9: Que tipo de informação um médico usa para identificar variações na

morfologia e tempo de eventos em uma forma de onda ECG para inferir uma

interpretação?

O axioma A13, que responde esta questão, foi implementado como consulta

SWRL da seguinte forma:

Axioma original:

(A13) ∀x ( ElementaryForm(x) → ∃!y,z ( Measurement(y) ∧ Annotation(z) ∧ isPropertyOf(y,x) ∧ isPropertyOf(z,x) ) )

Axioma implementado: (A13) ECGRecord(?er) ∧ CorrelatedObservationSeries(?cos) ∧ WaveForm(?wf)

∧ Cycle(?c) ∧ ElementaryForm(?em) ∧ Measurement(?m) ∧ Annotation(?a)

∧ isAssociatedWith(?er, ?cos) ∧ constitutes(?cos, ?wf)

∧ isDirectPartOf(?c, ?wf) ∧ isDirectPartOf(?ef, ?c) ∧ isPropertyOf(?m, ?em)

∧ isPropertyOf(?a, ?em) ∧ hasDuration-Time(?m, ?duration)

∧ hasAmplitude-mV(?m, ?amplitude) ∧ hasOnSet-Time(?a, ?onset)

∧ hasOffSet-Time(?a, ?offset) ∧ hasPeak-Time(?a, ?peak)

→ query:select(?er, ?ef, ?duration, ?amplitude, ?onset, ?offset, ?peak)

∧ query:orderBy(?er, ?ef)

Page 76: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

78

O resultado dessa consulta é exemplificado na figura 4.9, e mostra quais os

valores de duração (duration), amplitude (amplitude), onset, offset, e pico

(peak) das formas elementares (Pwave, QRScomplex, Twave e Uwave A1 e

A2) relacionadas a um registro ECG (ECGRecordA1).

Figura 4.9 - Resposta da questão de competência CQ9.

4.3. Análise

Nesta seção é feita uma análise de alguns aspectos da implementação realizada e

dos pontos críticos observados diante da limitação de expressividade da linguagem

OWL DL + SWRL. Em alguns casos, foi possível propor soluções, em outros,

apontou-se a necessidade de maior expressividade.

Primeiramente, buscou-se classificar e restringir os conceitos implementados

conforme seus os estereótipos. Para isso, pensou-se inicialmente em implementar a

UFO com suas classificações e restrições para que fossem usadas na

implementação da ontologia de domínio. Porém verificou-se que não é possível usar

a ontologia fundacional e a de domínio no mesmo nível. Para exemplificar a

inviabilidade dessa idéia, seja A uma espécie (kind) e sua fase (phase) A’. Na

implementação, A é declarada como uma classe, e A’ sua subclasse que herda

Page 77: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

79

todas as restrições impostas sobre A. Supondo agora que exista uma

implementação da UFO que possua as classes Kind e Phase com suas respectivas

restrições. Para que A herde as restrições de Kind, é necessário que A seja

declarado como subclasse de Kind. Porém, como A’ é subclasse de A, também será

classificada como espécie (Kind) e herdará as suas restrições, quando na verdade

se trata de uma fase (Phase). Conclui-se então que seria necessário algum outro

mecanismo, como a lógica de 2ª ordem, para predicar sobre predicados, e assim

poder utilizar conceitos e restrições da ontologia fundacional sobre as classes da

ontologia leve de domínio. Ou ainda, pode-se utilizar uma linguagem de

representação em que as distinções ontológicas e suas características são definidas

como parte da linguagem.

Vale ainda destacar a necessidade da expressividade da lógica modal para distinguir

certos estereótipos, como espécie e fase (kind e phase). Uma espécie é um tipo de

entidade que um indivíduo instancia necessariamente (em todos os mundos

possíveis) e uma fase é um tipo de entidade que um indivíduo instancia em algum

período (possivelmente), mas não necessariamente em todos. Essas características

de necessidade e possibilidade são tipicamente representadas pela lógica modal.

Como a DL é subconjunto da lógica de primeira ordem, não é possível com OWL DL

classificar e restringir os conceitos conforme seus os estereótipos (pois seria

necessária a lógica de 2ª ordem) nem tampouco representar suas características

modais (pois seria necessária a lógica modal). Vale destacar, porém, que há uma

linguagem chamada DL modal que pretende aumentar a expressividade da DL com

a lógica modal, mas que ainda está sendo estudada para manter a decibilidade e

tratabilidade (RIFAIEH, 2004). Dessa forma, não foi possível distinguir na

implementação os estereótipos como espécie (kind), papel (role) e fase (phase).

Sendo assim, todos os estereótipos que especializam Classe (Class) no metamodelo

da OntoUML foram representados simplesmente como classes, ou seja, como

conceito em OWL.

Observou-se também que não é possível impor restrições sobre as relações usando

apenas OWL, pois a linguagem permite impô-las apenas sobre as classes que são

imagem ou domínio da relação. Por exemplo, as relações de dependência devem ter

cardinalidade mínima (lower bound) igual a um para origem (source) e destino

Page 78: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

80

(target) (ver Figura 2.16). Neste caso, seria interessante poder criar uma propriedade

(property) RelaçaoDeDependencia com a cardinalidade restringida e ter eventuais

relações de dependência como sub-propriedades (sub-properties) desta. Como isso

não é possível, não se pode estabelecer o padrão de que toda relação de

dependência deve ter a cardinalidade mínima igual a um. Então, é necessário

restringir a cardinalidade para cada classe que seja origem ou destino de uma

relação de dependência. Sendo assim, os estereótipos que especializam Relação

(Relationship) foram representados como relações simplesmente, ou seja, como

papel (role) em OWL.

Por causa da necessidade de se restringir a cardinalidade das relações, em geral,

não é possível criar uma única relação e usá-la para relacionar várias classes. Por

exemplo, se for usada a mesma relação “tem parte” (hasPart) para relacionar a

classe coração humano com as classes ventrículo direito e esquerdo, ao se criar a

restrição de cardinalidade, tem-se o seguinte problema: se a cardinalidade for

restringida para um, então um coração só poderá ter um ventrículo, direito ou

esquerdo; e se for restringido para dois, então será possível que um coração tenha

dois ventrículos diretos ou dois esquerdos10. Torna-se então necessário criar uma

relação para cada par de classes, neste caso, uma do coração com o ventrículo

direito (hasPart_HH_RV) e outra com o esquerdo (hasPart_HH_LV). Dessa forma, é

possível restringir as relações de forma que o coração tenha um e somente um

ventrículo direito e um e somente um esquerdo. A figura 4.10 ilustra essas e outras

restrições da classe coração humano (HumanHeart) no Protégé. Apesar de esse

problema não ocorrer para todas as relações, convencionou-se criá-las dessa forma

para ser mantido um padrão e também para se poder restringir o domínio e a

imagem de cada uma delas.

10 Neste caso em particular, poderia ser usado o artifício de se restringir a cardinalidade máxima para 4, considerando os átrios e ventrículos direito e esquerdo, e usar o quantificador existencial para dizer que o coração deve ter como partes um de cada. Porém, se fossem, por exemplo, 2 de cada, esse método já na não funcionaria, pois deveria ser usada a restrição de cardinalidade mínima que não permite especificar a imagem.

Page 79: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

81

Figura 4.10 - Restrições da classe HumanHeart.

Por questão de organização, essas relações específicas são agrupadas em uma

relação genérica. Por exemplo, as relações isPartOf_HH_HB e isPartOf_HB_LV são

representadas como sub-propriedades da propriedade isDirectPartOf11. Observou-

se, porém, que a relação genérica deveria ser usada como um tipo de relação

abstrata, para que não fosse possível instanciá-la diretamente. Isso porque, como

essas relações são genéricas, não há domínio, imagem ou restrições definidas para

elas, e assim torna-se possível instanciar, por exemplo, que uma coisa qualquer é

parte de outra coisa qualquer. Destaca-se, portanto, neste caso, a relevância de se

ter um tipo de relação abstrata.

Também foi necessário representar o inverso da relação para se impor restrições

quanto à imagem. Por exemplo, a relação “é parte de” (isPartOf), inversa de “tem

parte”, é necessária para declarar que também um ventrículo (direito ou esquerdo) é

parte de um e apenas um coração humano. A figura 4.11 mostra essa restrição para

o ventrículo esquerdo (LeftVentricle) no Protégé. Porém, em (RECTOR, A.; WELTY,

2005) aconselha-se a não criar o inverso das relações desnecessariamente, pois isso

provoca um crescimento da complexidade.

11 O termo Diretc foi acrescentado em isDirectPartOf apenas para enfatizar que não se trata de relações de parte transitivas.

Page 80: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

82

Figura 4.11 - Restrição da classe LeftVentricle.

Outra particularidade relativa à restrição de cardinalidade em OWL DL, é que não é

possível declarar a relação como transitiva se for necessário restringir sua

cardinalidade (BECHHOFER et al., 2004). Uma relação transitiva pode ser derivada

sem ter sido declarada explicitamente. Por exemplo, se a relação “é parte de” é tida

como transitiva e sabe-se que “x é parte de y” e “y é parte de w”, pode-se derivar

que “x é parte de w”. Assim, se a cardinalidade dessa relação fosse um, a derivação

traria um problema pois x não é mais parte apenas de y, mas de y e w. Como a

restrição de cardinalidade é bastante importante no modelo, optou-se por não

representar a transitividade, mas a cardinalidade.

A representação das características de classe disjunta (disjoint) e completa

(complete) no Protégé é bem simples. Para representar classes disjuntas, há para

cada classe uma relação das classes disjuntas a ela. Na figura 4.12 está

representado que a classe de células não-pacemaker (NonPacemakerCells) é

disjunta da classe de células pacemaker (PacemakerCells). Isso implica também o

inverso. Para representar uma classe (completa) que é completamente abrangida

por algumas subclasses, declara-se como condição necessária e suficiente que todo

indivíduo desssa classe pertença a uma das subclasses. A figura 4.13 mostra que as

células do coração são Pacemaker ou não-Pacemaker.

Page 81: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

83

Figura 4.12 - Classes disjuntas (disjoints) à classe NonPacemakerCells.

Figura 4.13 - Restrição da classe completa HeartCells.

Ainda quanto à restrição de cardinalidade, foram utilizadas as seguintes formas de

representação:

− Quantificação existencial: para representar cardinalidade mínima 1. Por

exemplo, a figura 4.11 mostra uma quantificação existencial para a relação “é

parte de” isPartOf entre o ventrículo esquerdo (LeftVentricle) e o coração

humano (HumanHeart). Essa restrição exige que cada ventrículo esquerdo

seja parte de pelo menos um coração.

− Relação Funcional: para representar cardinalidade máxima 1. Por exemplo, a

relação do exemplo anterior é definida como funcional. Essa restrição exige

que cada ventrículo esquerdo seja parte de no máximo um coração

− Restrição de cardinalidade: para outros tipos de cardinalidade máxima e

mínima. Por exemplo, a relação “tem parte” (hasPart) entre a entidade série

de observações correlacionadas (CorrelatedObservationSeries) e a entidade

Page 82: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

84

série de observações (ObservationSeries) tem a restrição de cardinalidade

implementada como condições necessárias como segue:

CorrelatedObservationSeries:

hasPart_CorObsSeries_ObsSeries min 2

hasPart_CorObsSeries_ObsSeries max 12

Por fim, a relação material é particularmente difícil de representar considerando-se

as limitações da linguagem. Ela precisa ser representada em partes, que incluem

restrições OWL e regras SWRL. As restrições representadas em OWL DL são

impostas sobre as classes que são o domínio e a imagem da relação material e

sobre a classe que representa o relator. Por exemplo, as partes que representam a

relação material de contração entre o ventrículo esquerdo e o impulso elétrico

Purkinje são implementadas no Protégé como condições necessárias e suficientes

(para as classes mostradas em itálico) como segue:

(i) LeftVentricleAsPump:

isMediatedBy some (LVContraction

and (mediates some PurkinjeElectricalImpulse) )

isContractedBy some PurkinjeElectricalImpulse

(ii) PurkinjeElectricalImpulse:

isMediatedBy some (LVContraction

and (mediates some LeftVentricleAsPump) )

contracts some LeftVentricleAsPump

(iii) LVContraction:

mediates some LeftVentricleAsPump

mediates some PurkinjeElectricalImpulse

A regra SWRL é necessária para impor a condição necessária sobre a relação

material. Porém, como é possível apenas o uso do quantificador universal, a regra

criada é menos intuitiva e expressiva do que a condição necessária, em que para

toda contração do ventrículo esquerdo deve existir o ventrículo (como bomba) e o

impulso elétrico mediados por um relator contração. Neste caso, apenas pode-se

declarar que para todo ventrículo esquerdo e impulso mediados por um relator

chamado contração, tem-se a relação de contração entre o ventrículo e o impulso

em questão, como segue:

Page 83: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

85

(iv) LeftVentricleAsPump(?lv) ∧ PurkinjeElectricalImpulse(?pei) ∧ LVContraction(?lvc) ∧ mediates(?lvc, ?lv) ∧ mediates(?lvc, ?pei) → contraction(?lv, ?pei)

Seria interessante tentar provar se a conjunção dessas partes equivale à semântica

pretendida da relação. Tal prova não é realizada neste trabalho, porém, vale

ressaltar que, intuitivamente, pode-se perceber que a semântica pretendida da

relação material é, pelo menos, aproximada.

Voltando ao exemplo anterior, seja um ventrículo esquerdo LV1 qualquer, pode-se

concluir pela condição (i), que ele é mediado por um relator contração LVC1, que por

sua vez media um impulso elétrico Purkinje PEI1. Pela regra (iv), pode-se concluir

que então que há uma relação material contração entre LV1 e PEI1 (lembrando que

a relação isMediatedBy é inversa da relação mediates). Analogamente, seja um

impulso elétrico Purkinje PEI2 qualquer, que pela a condição (ii) é mediado por um

relator contração LVC2 que media um ventrículo esquerdo LV2, pode-se concluir

que há uma relação material contração entre PEI2 e LV2. Além disso, seja um

relator contração LVC3 qualquer, pela condição (iii), conclui-se que ele media um

ventrículo esquerdo LV3 e um impulso elétrico Purkinje PEI3. Novamente, pela regra

(iv), pode-se concluir que há a relação material contração entre LV3 e PEI3.

Considera-se a semântica pretendida da relação material conforme os axiomas

abaixo:

(a) ∀ lvc ( LVContraction(lvc) → ∃ lv, pei ( LeftVentricleAsPump(lv) ∧PurkinjeElectricalImpulse(pei)

∧ contraction(lv, pei) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )

(b) ∀ lv,pei ( (LeftVentricleAsPump(lv) ∧PurkinjeElectricalImpulse(pei) ∧ contraction(lv, pei) )

→ ∃ lvc ( LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )

Por (iii) e (iv) pode-se concluir que, para um relator contração qualquer, existe um

ventrículo esquerdo e um impulso elétrico Purkinje, que são mediados por ele, e uma

relação material de contração entre o ventrículo e o impulso. Isso é exatamente o

que é dito no axioma (a).

O axioma (b), porém, não tem relação direta com as condições e regras

implementadas. O que se pode concluir por (i), (ii) e (iv) é:

(b1) ∀ lv ( LeftVentricleAsPump(lv) → ∃ pei, lvc (PurkinjeElectricalImpulse(pei) ∧ contraction(lv, pei)

∧ LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )

Page 84: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

86

(b2) ∀ pei ( PurkinjeElectricalImpulse(pei) → ∃ lv, lvc (LeftVentricleAsPump(lv) ∧ contraction(lv, pei)

∧ LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )

Dessa forma, resta provar formalmente a equivalência (ou não) de (iii) e (iv) com o

axioma (a) e de (i), (ii) e (iv), formalizados por (b1) e (b2), com o axioma (b), para

saber se essa relação material está devidamente representada. Porém, para saber

se essa forma de representação atende a qualquer caso de relação material, seria

ainda necessário generalizar esse exemplo, identificar as equivalências e prová-las

formalmente.

Page 85: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

87

5. Conclusão

Este capítulo expõe como resultados finais as conclusões a respeito do trabalho e as

dificuldades nele encontradas. Além disso, são sugeridos alguns trabalhos futuros

com relação à implementação de ontologias e à aplicação da implementação

realizada. A seção 5.1 apresenta esses resultados finais, e a seção 5.2 mostra os

trabalhos futuros sugeridos.

5.1. Resultados Finais

Conforme os estudos feitos no Capítulo 2, pode-se concluir que o presente trabalho

atende aos objetivos específicos (i) e (ii) que visavam respectivamente: enfatizar a

importância do uso de ontologias para modelagem conceitual e dos métodos de

Engenharia de Ontologia para implementá-las; e realizar um estudo sobre

linguagens usadas na representação e implementação de ontologias para melhor

entender a perda de expressividade que ocorre ao ser implementada uma ontologia

de referência de domínio utilizando-se uma linguagem de menor expressividade.

Outro resultado obtido é a implementação da ontologia de Eletrocardiograma

proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), como mostra o

anexo A. Ela pôde ser validada pelos resultados apresentados na Seção 4.2, obtidos

a partir das implementações dos axiomas que respondem às questões de

competência propostas pelo autor. Somando-se os estudos sobre a ontologia de

ECG, realizados no Capítulo 3, pode-se considerar que o objetivo específico (iii) de

estudar e implementar a Ontologia de ECG também é atingido neste trabalho.

Vale ressaltar, porém, que a ontologia não é implementada em sua totalidade,

devido à impossibilidade de se representar algumas de suas características

utilizando-se a linguagem OWL+SWRL. Esta questão é abordada na seção 4.3, em

que é feita uma análise da implementação da ontologia de ECG. A partir das

considerações feitas nessa seção, pode-se concluir que o trabalho também atende

ao objetivo específico (iv) de analisar a implementação proposta considerando-se as

limitações da linguagem utilizada. Foi possível identificar importantes aspectos da

Page 86: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

88

perda da expressividade que ocorre em conseqüência dessas limitações. Dentre

eles, destacam-se a necessidade da expressividade da lógica de 2ª ordem para

permitir a utilização de conceitos e restrições da ontologia fundacional na

implementação; e da lógica modal para permitir a representação das distinções

ontológicas entre estereótipos, como espécie e fase (kind e phase).

Destaca-se ainda que, para atender aos objetivos (iii) e (iv) deste trabalho, foram

utilizados os métodos de Engenharia de Ontologia. A Fase de Modelagem

Conceitual corresponde ao estudo da ontologia de domínio de ECG (Capítulo 3). Na

Fase de Projeto, são levados em conta as ferramentas a serem utilizadas (Seção

4.1), os requisitos não-funcionais e a diferença de expressividade das linguagens

escolhidas para modelagem e implementação. No entanto, vale ressaltar que a

implementação não tem como objetivo atender a uma aplicação específica com

requisitos específicos. Dessa forma, é feita a análise da implementação a posteriori,

levando-se em consideração a perda de expressividade do modelo implementado

em relação ao modelo conceitual original (Seção 4.3). A Fase de Implementação

engloba a implementação da ontologia estudada (Anexo A) e seus resultados de

validação (Seção 4.2).

Sendo assim, a partir da realização dos objetivos específicos, pode-se considerar

que foram atingidos os objetivos gerais do trabalho de implementar a Ontologia de

Eletrocardiograma proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,

2007), utilizando a linguagem OWL+SWRL, e fazer uma análise da perda de

expressividade considerando-se o limite imposto pela linguagem.

Dentre as dificuldades encontradas durante o desenvolvimento do trabalho, a

principal delas foi a de encontrar trabalhos que tratassem das especificidades da

implementação de ontologias. As implementações encontradas não eram baseadas

numa ontologia de referência ou não haviam seguido um padrão de relevância para

o estudo proposto neste trabalho. Pôde-se perceber que, em muitos trabalhos, o

foco não foi na qualidade da implementação, mas nos resultados obtidos a partir

dela. Ressalta-se, portanto, a necessidade de desenvolvimento de trabalhos mais

aprofundados sobre “melhores práticas” na implementação de ontologias.

Page 87: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

89

5.2. Trabalhos Futuros

Durante o desenvolvimento deste trabalho foi identificada a importância de estudos

específicos sobre implementação de ontologias, a serem realizados posteriormente,

por exemplo:

- Estudos sobre como podem ser utilizados os estudos já realizados sobre a Lógica

Descritiva Modal;

- Estudos sobre a possibilidade de utilizar a lógica de 2ª ordem na implementação de

ontologias;

- Estudos sobre como podem ser implementados alguns conceitos importantes

descritos na UFO, como os diversos tipo de relação todo-parte.

Além disso, no contexto da Eletrocardiografia, sugere-se a continuidade dos estudos

que visam promover a interpretação automática de ECG com o intuito de produzir

um resultado diretamente aplicável no campo da Informática Médica. Alguns

trabalhos sugeridos com esse fim são:

- Desenvolvimento de aplicações que utilizem a implementação da ontologia de ECG

para mapear o funcionamento do coração através de registros de ECG.

- Estudos sobre a possibilidade de relacionar a ontologia de ECG a uma outra

ontologia que modele as doenças cardíacas que podem ser detectadas a partir da

análise de um eletrocardiograma.

- Desenvolvimento de aplicações que utilizem implementações das ontologias de

ECG e de doenças cardíacas para realizar a interpretação automática de ECGs.

Page 88: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

90

Bibliografia

ANTONIOU, G.; VAN HARMELEN, F. Web ontology language: Owl. In S. Staab and R. Studer, editors, Handbook on Ontologies in Information Systems. Springer-Verlag, 2003.

BECHHOFER, S. et al. OWL Web Ontology Language Reference. Disponível em: www.w3.org/TR/2004/REC-owl-ref-20040210. W3C Recommendation 2004. Acessado em agosto de 2007.

GONÇALVES, B. N.; GUIZZARDI, G.; PEREIRA FILHO, J. G. An Electrocardiogram (ECG) Domain Ontology. In Proceedings of the Second Brazilian Workshop on Ontologies and Metamodels for Software and Data Engineering (WOMSDE'07), 22nd Brazilian Symposium on Databases (SBBD)/21st Brazilian Symposium on Software Engineering (SBES). João Pessoa, 2007.

GUIZZARDI, G. et al. An Ontologically Well-Founded Profile for UML Conceptual Models. In: 16th International Conference On Advances In Information Systems Engineering (Caise). Latvia, 2004. Springer-Verlag, Berlin, Lecture Notes in Computer Science 3084, ISBN 3-540-22151-4.

GUIZZARDI, G. Ontological Foundations for Structural Conceptual Models. PhD Thesis (CUM LAUDE), University of Twente, The Netherlands. Published as the same name book in Telematica Instituut Fundamental Research Series No. 15, ISBN 90-75176-81-3 ISSN 1388-1795; No. 015; CTIT PhD-thesis, ISSN 1381-3617; No. 05-74. Holanda, 2005.

GUIZZARDI, G. On Ontology, ontologies, Conceptualizations, Modeling Languages, and (Meta)Models. Frontiers in Artificial Intelligence and Applications, Databases and Information Systems IV, Olegas Vasilecas, Johan Edler, Albertas Caplinskas (Editors). IOS Press, Amsterdam, 2007. ISBN 978-1-58603-640-8.

GUIZZARDI, G.; FALBO, R.; GUIZZARDI, R.S.S. Grounding Software Domain Ontologies in the Unified Foundational Ontology (UFO): The case of the ODE Software Process Ontology. XI Iberoamerican Workshop on Requirements Engineering and Software Environments – IDEAS. Pernambuco, 2008.

GUIZZARDI, G.; WAGNER, G. Some Applications of a Unified Foundational Ontology in Business Modeling. Ontologies and Business Systems Analysis, Michael Rosemann and Peter Green (Eds.). IDEA Publisher, 2005.

GUIZZARDI, G.; WAGNER, G. Using the Unified Foundational Ontology (UFO) as a Foundation for General Conceptual Modeling Languages. In: Theory and Application of Ontologies, R. Poli (editor), Springer-Verlag. Alemanha, 2008.

GUIZZARDI, R.S.S.; GUIZZARDI, G. Integrating Agent-Oriented Modeling Languages Using a Foundational Ontology. In Social Modeling for Requirements Engineering, P. Giorgini, N. Maiden, J. Mylopoulos, E. Yu (eds.), Cooperative Information Systems Series. MIT Press, 2008.

HAARSLEV V.; MOLLER R. Description of the RACER System and its Applications. In: Lecture

Notes in Computer Science 2083, 2001.

HORROCKS, I. et al. SWRL: A Semantic Web Rule Language Combining OWL and RuleML. Disponível em: http://www.w3.org/Submission/SWRL/. W3C Member Submission 2004. Acessado em agosto de 2007.

HORROCKS, I. et al. OWL rules: A proposal and prototype implementation. J. Web Semantics, vol.3, no.1, 2005, p. 23-40.

Page 89: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

91

HORROCKS, I.; SCHNEIDER, P. P.; VAN HARMELEN, F. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol. 1, No. 1. 2003, p. 7-26.

HUTH M.; RYAN M.: Logic in Computer Science: Modelling and Reasoning about Systems. 2 ed. Cambridge University Press. Cambridge, UK, 2004. ISBN: 0-521-54310-X.

NARDI D.; BRACHMAN R. J. An Introduction to Description Logics In The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press. Cambridge, UK, 2003. p. 5-44. ISBN 0-521-78176-0.

O’CONNOR, M. et al. Writing Rules for the Semantic Web Using SWRL and Jess. 8th International Protégé Conference. Madrid, 2005.

PROTÉGÉ. SWRLQueryBuiltIns. Disponível em: http://protege.cim3.net/cgi-bin/wiki.pl?SWRLQueryBuiltIns. Protégé collaborative work environment 2007. Acessado em agosto de 2007.

RECTOR, A.; WELTY C. Simple part-whole relations in OWL Ontologies. Disponível em: http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/index.html. W3C Recommendation 2005. Acessado em agosto de 2007.

RIFAIEH R. D. Contextual Ontologies Formalism. In Utilisation des Ontologies Contextulles pour le Partage Sémantique entre les Systèmes d'Information dans l'Entreprise. PhD Thesis. L’Institut National des Sciences Appliquées de Lyon. École doctorale EDIIS EDA 335. França, 2004.

Page 90: Implementação de uma Ontologia de Referência de … ·  · 2017-06-07Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da ... é um sistema de categorias

92

Anexo A