Os componentes básicos de uma ontologia podem ser encontrados em Gruber (1993a): a) classes – organização dos conceitos de um domínio, organizadas em uma taxonomia. As classes herdam as características de suas classes-pai, de forma similar ao modelo orientado a objetos; b) relações - representam o tipo de interação entre os conceitos de um domínio; c) axiomas - usados para restringir a interpretação e o uso dos termos envolvidos; d) instâncias - utilizadas para representar objetos específicos. No que diz respeito aos axiomas, a lógica descritiva pode vir a ser empregada na incorporação de instruções lógico-formais, que possibilitariam o uso de mecanismos de inferência (ALMEIDA e BAX, 2003). Isto possibilitaria, por exemplo, a classificação automática de um conceito na hierarquia, de forma a verificar se determinadas instâncias pertencem a uma classe, verificando a consistência do domínio representado. Outras linguagens com capacidade semântica para expressar conceitos e relações entre conceitos podem vir a ser usadas, como é o caso da RDFS (Resource Description Framework Schema) e da OWL.
A Figura 19 ilustra uma ontologia do domínio de vinhos, mostrando a sua estrutura hierárquica de categorias. A ontologia em questão foi construída na ferramenta Protégé-2000 (HORRIDGE et al., 2004), cujo desenvolvimento foi realizado por uma comunidade médica na Universidade de Stanford 57, no intuito de auxiliar a padronização do vocabulário inerente ao domínio da medicina. A ferramenta permite categorizar conceitos em classes, definir propriedades desses conceitos e adicionar restrições (de quantificador, de cardinalidade e de
56 “[...] the term ontology [...] classification of basic categories.” 57 http://protege.stanford.edu
valor, os quais restringem as instâncias que pertencem a uma classe). Possui suporte a vários formatos de representação como XML Schema, RDF e OWL. Além do Protégé, outras ferramentas para edição de ontologias podem ser encontradas em Almeida e Bax (2003, pg.19).
Figura 19 – Uma ontologia do domínio de vinhos desenvolvida no Protégé 2000
Fonte: Adaptado de Noy e McGuinness (2001)
Apesar da falta de consenso entre alguns autores em relação à classificação de tipos de ontologias (MIZOGUCHI; VANWELKENHUYSEN; IKEDA, 1995; VAN HEIJIST; SCHREIBER; WIELINGA, 2002), Guarino (1998) classifica ontologias em quatro categorias com base em seu conteúdo: de alto nível, de domínio58, de tarefas e de aplicação. As
ontologias de alto nível descrevem conceitos bastante gerais, tais como, espaço, tempo, matéria, objeto, etc., que são independentes de um domínio particular. As ontologias de domínio descrevem um vocabulário relacionado a um domínio genérico, tal como medicina. As ontologias de tarefas também expressam um vocabulário inerente a um domínio genérico ou uma tarefa genérica, como vendas. Ambos os tipos são especializações de termos advindos da ontologia de alto nível. Percebe-se que a definição de ontologia de domínio e de tarefa se sobrepõe, estabelecendo certa confusão em relação ao termo a ser utilizado. E, finalmente, as ontologias de aplicação descrevem conceitos dependentes de domínio e de tarefa particulares, que geralmente são especializações dos termos advindos das ontologias de domínio e de
58 Ressalta-se aqui o tipo de ontologia que se pretende construir a partir da proposta metodológica enfatizada neste estudo: ontologias de domínio.
tarefa. A Figura 20 apresenta os níveis de dependência entre os tipos de ontologias e os relacionamentos de especializações existentes entre elas.
Figura 20 – Tipos de Ontologias
Fonte: Adaptado de Guarino (1998)
Chandrasekaran, Johnson e Benjamins (1999) citam alguns exemplos de ontologias de alto nível, como a Cyc (LENAT, 1995),a Wordnet (MILLER, 1995) e a de Sowa (SOWA, 1999; SOWA, 2000). E comentam sobre problemas existentes na organização de tais ontologias. O problema está na análise e definição dos conceitos mais gerais da ontologia, resultando em divergências terminológicas entre ontologias nesse nível, como acontece, por exemplo, com a categoria thing da ontologia Cyc, que possui as subcategorias individual object, intangible e represented thing. Já na ontologia Wordnet a categoria thing possui as subcategorias living thing e nonliving thing. Em síntese, foram construídas a partir de um mecanismo de abstração diferente.
Os autores assinalam que as diferenças aparecem porque algumas dessas ontologias, em princípio, possuem diferenças taxonômicas, além de algumas delas não servirem de propósito ferramental para construção de ontologias, ou mesmo não serem consideradas explicitamente como ontologias. Entretanto, os autores advogam que mesmo com as diferenças aparentes, há um entendimento comum sobre ontologias, vistas como representação de coisas: a) existem objetos no mundo; b) objetos possuem propriedades ou atributos que podem assumir valores; c) objetos podem fazer relações com outros objetos; d) propriedades e relações podem mudar a qualquer momento; e) existem eventos que ocorrem em diferentes momentos; f) existem processos nos quais objetos participam e ocorre o término desse processo; g) o mundo e seus objetos podem ser de uma forma a depender do estado; h) eventos podem causar outros eventos; e i) objetos podem ter partes. A representação dos fatos deverá ser feita pelo modelador do domínio, que deverá levar em consideração todas as perspectivas citadas acima.
Ontologia de alto nível Ontologia de Aplicação Ontologia de Tarefa Ontologia de Domínio
As ontologias de domínio são o tipo mais comumente desenvolvido, sendo que diversos trabalhos podem ser encontrados na literatura, como na área de química (GÓMEZ- PEREZ, FERNANDEZ e VICENTE, 1996), modelagem de negócio (GRUNINGER e FOX, 1995), bioinformática (STEVENS et al., 2004) , modelagem de processos de software (FALBO, 1998), entre outros. Ontologias classificadas como sendo de domínio necessitam de ontologias de alto nível para concepção da estrutura inicial, conforme mostrado na Figura 20.