4 – Engenharia de Ontologias

Introdução

No Capítulo 3, apresentamos o conceito de ontologias e sua aplicabilidade para descrever dados conectados. Mostramos também a complexidade e dificuldade para criar uma ontologia que representa adequadamente o domínio de um conjunto de dados para que eles sejam acessíveis e reutilizáveis tanto por pessoas quanto por programas de computador. De fato, a criação de ontologias é uma tarefa importante no processo de disponibilização de dados abertos de nível 5 estrelas, mas que demanda conhecimentos específicos tanto sobre a modelagem de dados quanto do próprio domínio de conhecimento no qual os dados serão extraídos e/ou utilizados.

Dessa forma, este capítulo tem como objetivo apresentar um pouco mais sobre a área de Engenharia de Ontologias que tem como um dos seus objetivos auxiliar no processo de criação de ontologias adequadas para satisfazer as necessidades de representação e uso correto da informação.

A Engenharia de Ontologias surgiu como uma evolução da área conhecida como Engenharia de Conhecimento (Knowledge Engineering) que estuda a teoria e tecnologia para o desenvolvimento das bases de conhecimento utilizadas nos sistemas especialistas (expert systems). Esta evolução ocorreu devido a diversas razões, porém podemos enfatizar três delas:

1. Pressupostos e premissas fundamentais para compreender os conceitos básicos representados são deixados implícitos nas bases de conhecimento definidas como regras de produção, impedindo a reutilização e compartilhamento do conhecimento.

2. São poucos os esforços conduzidos na direção de criar um conhecimento genérico comum que pode ser utilizado como base para construção de outras bases de conhecimento.

3. As tecnologias para viabilizar o acúmulo incremental do conhecimento são pouco desenvolvidas.

Estas restrições inviabilizam a criação de bases de conhecimento requeridas na área da Internet onde o conhecimento está distribuído na Web e em constante evolução (Bittencourt et al., 2009). Assim, a Engenharia de Ontologias oferece métodos e ferramentas para sanar estes problemas. Para o problema (1) foi introduzido o conceito de ontologias e sua representação que permitem representar de maneira explícita e sem ambiguidade os conceitos de um determinado domínio. Além disso, ontologias de topo foram desenvolvidas para prover o entendimento de conceitos básicos fundamentais (ex. O que é objetivo? O que é um processo?) para construir novos conhecimentos e, dessa forma, auxiliando a sanar o problema (2). Finalmente, para lidar com o problema (3) diversas linguagens e ferramentas que podem lidar com diferentes tipos de expressividade e representação foram desenvolvidas, permitindo que um ecossistema seja criado para modelagem, agregação e disseminação de conhecimento utilizando ontologias. Essas qualidades ao desenvolver ontologias são fundamentais também para disseminar dados abertos em nível 5 estrelas. Assim, nas próximas seções discutiremos mais sobre algumas das atividades relacionadas à Engenharia de Ontologias.

4.2 Metodologias de Desenvolvimento de Ontologias

O objetivo desta seção é apresentar metodologias para o desenvolvimento de ontologias, destacando a complexidade inerente à criação de ontologias, o ciclo de vida de um processo de criação de ontologias e finalmente os tipos de metodologias existentes.

Como abordado na Seção 3.2, o termo Ontologia surgiu na Filosofia como o estudo do “ser enquanto ser”, com o objetivo de estudar a natureza do ser e a estrutura da realidade. Na computação, a pesquisa em ontologias se estendeu por toda a comunidade, na qual o conceito de ontologias tem sido aplicado em diferentes áreas da computação, como Inteligência Artificial, Linguística Computacional, Teoria de Banco de Dados, Engenharia de Software, Busca, Interação Humano-Computador, entre outros (Guarino, 1997; 2010). É importante frisar que a aplicação tem ocorrido em diferentes áreas do conhecimento como Medicina, Comércio Eletrônico, Direito, Biologia, Educação, entre outras.

A importância que ontologias tem recebido por diferentes comunidades ocorre devido ao seu propósito de descrever um conjunto de conceitos fundamentais e suas relações. Por um lado, ontologias podem ser utilizadas para diferentes propósitos, sendo aplicadas em diferentes domínios e reusadas por diferentes comunidades. Por outro lado, ontologias podem ser projetadas com diferentes abordagens, formalizada de diferentes formas, expressadas com diferentes coberturas e reusadas por diversas razões.

Desta forma, a construção de ontologias envolve diferentes atividades, como análise conceitual e modelagem de domínio. De fato, construção de ontologias envolve peculiaridades arquiteturais e metodológicas (Holanda et al., 2013). Numa perspectiva arquitetural, o aspecto mais importante é a função central que uma ontologia possui. Em uma perspectiva metodológica, a abordagem altamente interdisciplinar é importante, na qual a filosofia e linguística possuem papeis fundamentais com o objetivo de analisar uma determinada estrutura da realidade e formular um vocabulário rigoroso e claro (Guarino, 1998) .

4.2.1 Complexidade na criação e ontologias

De acordo com (Gruber, 1993) , ontologia é a especificação explícita de uma conceitualização. Para o termo conceitualização, Gruber se apoiou em definição (Genesereth, et al., 1987) , na qual conceitualização representa uma visão abstrata e simplificada do mundo que se pretende representar com determinado propósito. No entanto, tal definição é baseada em uma relação ordinária (extensional 67 ) de objetos, significando que esta relação reflete um estado particular 68 do mundo. Entretanto, Guarino (Guarino, et al., 1994) propôs uma adaptação na definição de conceitualização, na qual o foco é dado para o significado da relação ao invés do estado particular do mundo. Com isso, essa relação é conhecida como relação conceitual 69 .

Na Figura 4.1 (Guarino, et al., 1995) , apresentam-se duas mesas com diferentes organizações de blocos. Na visão de Gruber, cada figura representa um objeto diferente, pois possuem diferentes estados do mundo. Para Guarino, as duas mesas significam a mesma coisa, mudando apenas a composição dos blocos. Ou seja, possui a mesma conceitualização.

modulo_04_figura_4_01.png

É muito importante enfatizar que uma relação conceitual é sempre definida em um espaço de domínio, pois o estabelecimento de conceitos podem ter diferentes significados de acordo com o universo de discurso (ou mundo possível). Na Figura 4.2, pode-se observar que o conceito “BANK” possui diferentes significados de acordo com o universo de discurso.

modulo_04_figura_4_02.png

Diante disso, pode-se observar que o cenário de complexidade na construção de ontologia é grande, no qual cada palavra traz diferentes significados de acordo com o universo do discurso que se pretende estabelecer uma determinada teoria lógica. A Figura 4.3 sumariza isto, onde uma palavra pode representar diferentes sentidos; um sentido pode ser representado por relações conceituais, onde diferentes relações conceituais podem estabelecer o mesmo sentido; um sentido ou palavra pode possuir diferentes grafos canônicos, representando um padrão no qual o conceito ocorre; o grafo canônico expressa uma teoria lógica, que caracteriza estruturas matemáticas, domínios de conhecimento, ou simplesmente fragmentos de pensamentos ou ideias.

modulo_04_figura_4_03.png

Destaca-se então que uma conceitualização é estruturada de acordo com os padrões apresentados e percebidos de uma determinada realidade ou fenômeno que se observa. Tal fenômeno é observado por um conjunto de agentes (comumente humanos) que mapeia os padrões de apresentação em partes. Estas partes constituem a reificação de objetos, que são finalmente modelados para representar uma conceitualização. Esta conceitualização é organizada independente de um vocabulário e uma instanciação específica. Ou seja, dado que uma conceitualização possui diferentes estruturas de mundos possíveis, estas estruturas possuem modelos descritos através de uma linguagem lógica com um vocabulário específico. Com isso, cada modelo possui uma intepretação conceitual que é fixada pelo compromisso ontológico para uma linguagem. Como resultado, uma linguagem se compromete com (implementa) uma conceitualização através do compromisso ontológico. Finalmente, uma ontologia é um conjunto de axiomas lógicos projetados para representar os modelos esperados de um vocabulário (Guarino, et al., 1994) . Neste sentido, ontologias podem ser construídas utilizando diferentes vocabulários, enquanto compartilham a mesma conceitualização. Ou seja, uma conceitualização é independente de linguagem enquanto que uma ontologia é dependente de linguagem. Este percurso do Fenômeno à Ontologia é representado na Figura 4.4.

modulo_04_figura_4_04.png

Como pode-se observar na Figura 4.4, o percurso que se deve fazer, desde a observação e percepção de um determinado fenômeno até a construção de uma ontologia, é muito longo, podendo haver grandes perdas conceituais ao longo deste processo. No entanto, da observação do mundo real para a conceitualização ocorre perda devido à limitação do agente observador em compreender em sua totalidade os componentes do fenômeno observado. Da mesma forma, do estabelecimento de uma conceitualização à construção de uma ontologia, também há perda pela limitação da própria linguagem utilizada (Vide Figura 4.5).

modulo_04_figura_4_05.png

O grande desafio na construção de ontologias é fazer com que haja um estreitamento e aproximação da ontologia com o mundo real. Quanto mais distante uma ontologia está do modelo que se espera, pior será a qualidade da ontologia. É nesta perspectiva que metodologias para a engenharia de ontologias são utilizadas. A próxima subseção apresenta tipos de metodologias que podem ser usadas para a construção de ontologias.

4.2.2 Tipos de Metodologias

A engenharia de ontologias engloba um conjunto de atividades para a conceitualização, projeto, implementação e evolução de ontologias. Já as metodologias para a engenharia de ontologias estabelecem, de forma sistemática, um conjunto de atividades desde a produção até a manutenção de uma ontologia. Estas metodologias comumente consideram atividades de gerenciamento (ex. agendamentos), desenvolvimento (e.g. conceitualização e formalização) e suporte (ex. documentação, alinhamento). Ou seja, as metodologias consideram atividades presentes no ciclo de vida de uma ontologia. A Figura 4.6 apresenta o ciclo de vida de uma ontologia.

modulo_04_figura_4_06.png

É importante frisar que o ciclo de vida de uma ontologia estabelece o conjunto de estágios que serão seguidos ao longo do desenvolvimento de uma ontologia. Isto quer dizer que o ciclo de vida de uma ontologia pode variar de acordo com a metodologia a ser utilizada. Abaixo é descrita cada etapa presente na Figura 4.6 (Calero, et al., 2006) .

• Especificação: esta etapa estabelece o início das atividades, mostrando por que uma ontologia será construída, quais os possíveis usos e quem são os usuários interessados na ontologia.

• Conceitualização: esta etapa organiza e estrutura o conhecimento do domínio que se pretende construir a ontologia. Nesta etapa, atividades de aquisição de conhecimento podem ser consideradas;

• Formalização: na etapa de formalização é construído o modelo conceitual, estabelecendo os conceitos, relações e axiomas presentes na ontologia 70 ;

• Implementação: através da utilização de ferramentas CASE (vide Subseção 4.4), a ontologia é construída em uma determinada linguagem;

• Manutenção: com a ontologia implementada em uma linguagem, ocorre a etapa de manutenção da ontologia.

De acordo com a IEEE 71 , uma metodologia é uma séria integrada de técnicas e métodos, criando uma teoria de sistemas geral sobre como uma classe de trabalho intelectual intensivo deve ser executado. É importante enfatizar que a área de ontologias teve seu nascedouro na computação na área de inteligência artificial, mais especificamente na área de representação de conhecimento. Isto fez com que as primeiras propostas de metodologias para a construção de ontologias fossem inspiradas na Inteligência Artificial. Ao longo do tempo, o processo de construção de ontologias considerou a construção como um processo de desenvolvimento de software, sendo assim inspirada na Engenharia de Software. Por fim, outras metodologias que consideram o envolvimento maior do usuário começam a surgir e são inspiradas na Interação Humano-Computador (IHC). Abaixo são descritas algumas metodologias (Casellas, 2011) :

• Metodologias Inspiradas na Inteligência Artificial: nestas metodologias, os processos estão mais próximos aos processos de aquisição de conhecimento, bem como às atividades que foquem na aplicação de técnicas de aquisição do conhecimento. Algumas metodologias são TOVE, Enterprise Model Approaches e IDEF5;

• Metodologias Inspiradas na Engenharia de Software: estas metodologias possuem seu processo inspirado nos processos de desenvolvimento de software, bem como em metodologias da própria engenharia de software. As metodologias para a construção de ontologias foram inspiradas tanto em modelos de processos tradicionais da engenharia de software como o RUP (Rational Unified Process), quanto em metodologias ágeis como XP (eXtreme Programming). Algumas metodologias para a construção de ontologias são METHONTOLOGY, Ontology Development 101 e RapidOWL;

• Metodologias Inspiradas na Interação Humano-Computador: estas metodologias possuem um envolvimento maior do usuário final e consideram atividades de colaboração e negociação no processo de construção da ontologia. Estas metodologias são inspiradas na IHC pelo fato de que o foco da construção da ontologia está na interação. Algumas metodologias inspiradas na IHC são DILIGENT e HCOME.

Independente da metodologia que a equipe for utilizar, alguns aspectos são sempre comuns a todas elas, como: i) respeitam um determinado ciclo de vida: toda metodologia vai possuir um ciclo de vida, com estágios e atividades bem definidas para guiar a equipe de desenvolvimento da ontologia; ii) tarefas de aquisição do conhecimento: compreender e extrair os aspectos importantes de um domínio são fundamentais; iii) aspectos informais primeiro: toda metodologia vai considerar primeiro aspectos informais para posteriormente haver uma especificação formal da ontologia; iv) reuso e compartilhamento: apesar de algumas metodologias não explicitarem ou estabelecerem atividades de reuso e compartilhamento, todas elas abordam a importância de considerar o reuso e o compartilhamento; e v) recomendação: sempre haverá uma série de recomendações a serem seguidas à medida que a equipe avança no processo de construção de uma ontologia.

4.3 Ferramentas

Atualmente existem dezenas de editores de ontologias desenvolvidos pela comunidade. De acordo com (Alatrish, 2012) , alguns dos editores frequentemente adotados para criação e manipulação de ontologias são: Apollo (KMI, 2014) , OntoStudio (Semafora, 2014) , Protégé (Stanford, 2014) , e TopBraid Composer (TopQuadrant, 2014) . Além destes, o editor Hozo (Mizoguchi-Lab, 2014) também é frequentemente utilizado por pesquisadores na Ásia. Dentre estes, o Protégé é o mais conhecido e utilizado pela comunidade internacional e será selecionado para desenvolver as ontologias presentes ao longo deste capítulo. Uma comparação geral das ferramentas adaptando o trabalho de (Alatrish, 2012) é apresentado na Tabela 4.1.

TABELA 4.1

COMPARAÇÃO ENTRE EDITORES DE ONTOLOGIAS

Apollo Hozo OntoStudio Protégé TopBraid
Desenvolvedor
Licença Código Aberto Software Proprietário Software Proprietário Código Aberto Software Proprietário
Extensibility Plug-ins Não Plug-ins Plug-ins Plug-ins
Import/export Apollo Meta language , OCML, CLOS XML(S), RDF(S), OWL, outros XML(S), RDF(S), OWL, Diagrama UML, outros XML(S), OWL, RDF(S), Excel, outros RDFa, WOL, RDF(s), XHTML, Excel, outros
Taxonomia gráfica Não Sim Sim Sim Não
Trabalho colaborativo Não Sim Sim Sim Sim
Permite Zoom Não Sim Sim Sim Não

4.4 Criando uma Ontologia

O objetivo desta seção é descrever de forma simplificada a criação de uma ontologia através da utilização de uma metodologia. Para tal, utilizaremos a Metodologia Ontology Development 101 72 (Noy, et al., 2001) , uma metodologia simples e bastante utilizada para a construção de ontologias.

4.4.1 Metodologia 101

A metodologia 101 (ou Ontology Development 101) foi criada por pesquisadores da Universidade de Stanford e é a metodologia mais utilizada para a construção de ontologias, atualmente. Uma das razões que justifica a grande utilização da metodologia é a sua simplicidade. Esta metodologia foi construída baseada na experiência dos autores com a utilização dos ambientes de edição de ontologias Protégé, Ontolingua e Chimaera.

A metodologia é composta por sete passos objetivos e simples que guiam os engenheiros de ontologias no processo de construção de uma ontologia (vide Figura 4.7).

modulo_04_figura_4_07.png

O primeiro passo presente na metodologia equivale à determinação do domínio e escopo da ontologia. Nesta etapa os engenheiros devem estabelecer questões básicas que servirão para compreender o propósito da construção da ontologia. Questões básicas que são levantadas como (Noy, et al., 2001) :

• Qual o domínio que a ontologia deve cobrir?

• Quais serão os usos da ontologia?

• Quem irá usar e manter a ontologia?

• Quais tipos de questões a ontologia deveria responder?

É importante enfatizar que é natural que as respostas mudem ao longo do desenvolvimento da ontologia. Com relação à última questão, ela tem o propósito de definir questões de competência da ontologia (Gruninger, et al., 1995) , onde os engenheiros farão questões específicas sobre o domínio. Estas questões serão utilizadas tanto para estabelecer um limite do escopo da ontologia, como servirão de base para a validação da ontologia.

O próximo passo está relacionado ao reuso de outras ontologias para apoiar na construção da ontologia de interesse. Esta etapa é fundamental e nunca deve ser negligenciada, pois é através do reuso de outras ontologias que a Web de Dados pode ser mais enriquecida e conectada. É importante frisar que o reuso não deve ocorrer exclusivamente de toda ontologia, mas sim de conceitos específicos que os engenheiros considerarem similares com a ontologia que está sendo construída. A Tabela 4.2 abaixo apresenta alguns vocabulários que podem ser considerados para reuso pelos engenheiros de ontologias.

TABELA 4.2

LISTA DE VOCABULÁRIOS

Nome Prefixo URI Propósito
Bio bio: http://purl.org/vocab/bio/0.1/ Informação Bibliográfica
Creative Commons Rights Expression Language cc: http://creativecommons.org/ns# Licenças
DOAP doap: http://usefulinc.com/ne/doap# Projetos
Dublin Core Elements dc: http://purl.org/dc/elements/1.1/ Publicações
Dublin Core Terms dct: http://purl.org/dc/terms/ Publicações
FOAF foaf: http://xmlns.com/foaf/0.1/ Pessoas
Geo pos: http://www.w3.org/2003/01/geo/wgs84_pos# Posições
GeoNames gn: http://www.geonames.org/ontology# Localizações
Good Relations gr: http://purl.org/goodrelations/v1# Produtos
Object Reuse and Exchange ore: http://www.openarchives.org/ore/terms Recursos de Mapa
SIOC sioc: http://rdfs.org/sioc/ns# Comunidades Online
SKOS skos: http://www.w3.org/2004/02/skos/core# Vocabulários Controlados
vCard vcard: http://www.w3.org/2006/vcard/ns# Cartão de Visita
VoID void: http://rdfs.org/ns/void# Vocabulários
WordNet wn: http://xmlns.com/wordnet/1.6/ Palavras em Inglês
Food food: http://www.w3.org/TR/2003/PR-owl-guide-20031215/food# Alimentos
DCAT dcat: http://www.w3.org/ns/dcat# Catálogo de Dados
PROV-O http://www.w3.org/ns/prov# Proveniência de Dados
ORG org: http://www.w3.org/ns/org# Estruturas Organizacionais
QB qb: http://purl.org/linked-data/cube# Dados Multidimensionais
SCOVO scv: http://purl.org/NET/scovo Dados Estatísticos
Hydra Core Vocabulary hydra: http://www.w3.org/ns/hydra/core# APIs
Internationalization Tag Set its: http://www.w3.org/2005/11/its Internacionalização

Após a definição de quais ontologias poderão ser reusadas, a equipe deve enumerar os conceitos que deve estar na ontologia. Nesta etapa, não se deve considerar se um determinado termo é uma classe, uma propriedade ou um elemento que deverá ser reusado de outra ontologia. Isto será feito nas etapas posteriores. A próxima etapa é dedicada à definição das classes e hierarquias de classes. A estratégia de desenvolvimento da hierarquia de classes vai depender da equipe, podendo ser Top-Down, Bottom-Up ou a combinação destes (Uschold, et al., 1996) .

As duas etapas seguintes são para definir as propriedades presentes nas classes, bem como as restrições que cada propriedade e classe deve possuir. É muito importante que a equipe de engenharia de ontologias não negligencie a etapa de definição de restrições. Devido ao nível de granularidade fino, no qual equipe deverá observar cada termo e suas restrições, isto costuma ser relaxado e consequentemente o compromisso ontológico é perdido.

Por fim, a equipe criará as instâncias que estarão presentes na ontologia. É importante frisar que esta etapa poderá ocorrer de três diferentes formas:

• Instâncias Obrigatórias: algumas instâncias podem ser obrigatórias e desta forma farão parte da própria ontologia que está sendo criada;

• Testes: algumas instâncias podem ser criadas com o objetivo de testar a ontologia que está sendo criada, com o objetivo de responder a questões de competências definidas na primeira etapa do processo. Estes testes ocorrerão em conjunto com a criação de consultas;

• Mapeamento: as instâncias de uma ontologia podem vir de uma fonte externa de dados que podem ser mapeados de acordo com a ontologia. Esta última é mais comum quando se pretende publicar dados de forma conectada. Neste caso, a publicação de dados irá considerar o reuso da ontologia que foi criada.

A próxima subseção descreverá o processo de criação de uma ontologia utilizando a metodologia 101.

4.4.2 Cenário 1: Wine Ontology (Ontologia de Vinho)

O cenário que será construído é do domínio de vinhos e também foi utilizado como exemplos em diversos tutoriais sobre a construção de ontologias. A ontologia está disponível no link que segue:

http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine#

1. Determinar o domínio e escopo da Ontologia: o domínio da ontologia equivale ao de vinho e a ontologia está sendo construída para aplicações que façam recomendações de vinhos em restaurantes. Um aspecto importante ao se recomendar vinho é que há uma dependência do tipo de alimento que irá acompanhar o vinho. Consequentemente, para que haja uma boa recomendação de vinho, deve-se considerar na ontologia os alimentos. Algumas questões de competência que devem ser consideradas na ontologia são:

i. Quais características do vinho devem ser consideradas ao recomendar um vinho?

ii. O Bordeaux é um vinho Branco ou Tinto?

iii. A Carbenet Sauvignon combina com frutos do mar?

iv. Qual o melhor vinho para carne grelhada?

2. Considerar reuso de ontologias existentes: com o estabelecimento do escopo da ontologia, pode-se perceber que ontologias relacionadas a alimentos e vinhos podem ser reusadas. Uma ontologia disponível que pode ser reusada é a ontologia food , disponível em

http://www.w3.org/TR/2003/PR-owl-guide-20031215/food#

A ontologia Food possui 65 classes, 8 propriedades e 57 instâncias. Parte da Ontologia pode ser visualizada na Figura 4.8.

modulo_04_figura_4_08.png

3. Enumerar importantes termos 73 na Ontologia: diversos termos são considerados para esta ontologia, tanto relacionados a vinho quanto a alimentos, como: wine, grape, winery, location, wine’s color, body, white wine, red wine, rosé wine, syrah, cabernet sauvignon, medoc, bordeaux, flavor, fish, red meat , entre outros 74 . É muito importante para esta etapa consultar fontes confiáveis para a aquisição de conhecimento relacionado a vinhos.

4. Definir classes e hierarquia de classes: com os termos enumerados, há aqui a identificação das classes da ontologia, bem como de sua hierarquia. Numa abordagem Top-Down (de cima para baixo), pode-se identificar que a classe Wine é provavelmente um dos conceitos mais gerais. Ao especializar a classe Wine , pode-se considerar como suas subclasses os tipos de vinhos, neste caso White Wine , Red Wine e Rosé Wine (vide Figura 4.9). Seguindo na especialização de classes, pode-se estabelecer as subclasses de cada tipo de vinho. Por exemplo, como subclasses de Red Wine se têm Syrah, Cabernet Sauvignon, Red Bordeaux, Pinot Noir, Chianti , entre outros. Este processo deve ocorrer recursivamente até o nó folha.

modulo_04_figura_4_09.png

5. Definir as propriedades das classes: algumas propriedades que são definidas estão relacionadas com a própria composição dos vinhos como body, flavor, sugar contente, location , entre outras (vide Figura 4.10).

modulo_04_figura_4_10.png

6. Definir as restrições: esta é uma das etapas mais trabalhosas e que muitas vezes é negligenciada. Algumas restrições relacionadas a classe Wine são de cardinalidade, como um vinho é feito somente por uma vinícola ou todo vinho americano é localizado na região dos Estados Unidos. A Tabela 4.3 apresenta uma matriz com as propriedades e suas restrições.

TABELA 4.3

PARTE DE RESTRIÇÕES DA ONTOLOGIA WINE .

Propriedade Funcional Simétrica Transitiva Inversa
madeIndoWine Não Não Não madeFromGrape
madeFromGrape Não Não Não madeIntoWine
hasMaker Sim Não Não producesWine
producesWine Não Não Não hasMaker
adjacentRegion Não Sim Não -
hasVintageYear Sim Não Não -
locatedIn Não Não Sim
hasSugar Sim Não Não -
hasBody Sim Não Não -
hasFlavor Sim Não Não -
hasColor Sim Não Não -

7. Criar instâncias: as instâncias foram criadas tanto relacionadas com as características dos vinhos quanto com cada tipo de vinho. É importante frisar que estas instâncias são obrigatórias, fazendo parte do escopo da ontologia. A Figura 4.11 apresenta algumas instâncias da ontologia de Vinho.

modulo_04_figura_4_11.png

4.5 Considerações Finais

O principal objetivo deste capítulo foi oferecer ao leitor uma visão geral sobre engenharia de ontologias tanto sob o ponto de vista conceitual quanto prático. Esperamos que as seguintes mensagens tenham sido passadas:

• Compreensão sobre a importância da análise ontológica;

• Conhecimento sobre diferentes metodologias para o desenvolvimento de ontologias;

• Entendimento sobre o ciclo de vida no desenvolvimento de uma ontologia;

• Compreensão sobre como criar uma ontologia utilizando a metodologia 101.