# Engenharia de ontologias

Na ciência da computação, ciência da informação e engenharia de sistemas, a engenharia de ontologias é um campo que estuda os métodos e metodologias para a construção de ontologias, o que abrange a representação, a denominação formal e a definição das categorias, propriedades e relações entre os conceitos, dados e entidades de um determinado domínio de interesse. Em um sentido mais amplo, esse campo também inclui a construção de conhecimento do domínio utilizando representações formais de ontologias, como OWL/RDF. Uma representação em larga escala de conceitos abstratos, como ações, tempo, objetos físicos e crenças, seria um exemplo de engenharia de ontologias. A engenharia de ontologias é uma das áreas da ontologia aplicada, e pode ser vista como uma aplicação da ontologia filosófica. Ideias e objetivos centrais da engenharia de ontologias também são fundamentais na modelagem conceitual.
O processamento automatizado de informações não interpretáveis por agentes de software pode ser melhorado adicionando rica semântica aos recursos correspondentes, como arquivos de vídeo. Uma das abordagens para a conceitualização formal dos domínios de conhecimento representados é o uso de ontologias interpretáveis por máquinas, que fornecem dados estruturados em, ou baseados em, RDF, RDFS e OWL. A engenharia de ontologias é o design e a criação de tais ontologias, que podem conter mais do que apenas a lista de termos (vocabulário controlado); elas contêm axiomas terminológicos, assercionais e relacionais para definir conceitos (classes), indivíduos e papéis (propriedades) (TBox, ABox e RBox, respectivamente). A engenharia de ontologias é um campo de estudo relativamente novo, que trata do processo de desenvolvimento de ontologias, do ciclo de vida das ontologias, dos métodos e metodologias para a construção de ontologias, e das suítes de ferramentas e linguagens que as suportam. Uma maneira comum de fornecer a base lógica das ontologias é formalizar os axiomas com lógica descritiva, que podem então ser traduzidos para qualquer serialização de RDF, como RDF/XML ou Turtle. Além dos axiomas de lógica descritiva, as ontologias podem também conter regras SWRL. As definições de conceitos podem ser mapeadas para qualquer tipo de recurso ou segmento de recurso em RDF, como imagens, vídeos e regiões de interesse, para anotar objetos, pessoas, etc., e interligá-los com recursos relacionados em bases de conhecimento, ontologias e conjuntos de dados LOD. Esta informação, baseada na experiência e conhecimento humano, é valiosa para raciocinadores na interpretação automatizada de conteúdos sofisticados e ambíguos, como o conteúdo visual de recursos multimídia. Áreas de aplicação do raciocínio baseado em ontologia incluem, mas não se limitam a, recuperação de informação, interpretação automatizada de cenas e descoberta de conhecimento.

## Línguas ontológicas

Uma linguagem ontológica é uma linguagem formal usada para codificar a ontologia. Existem várias dessas linguagens para ontologias, tanto proprietárias quanto baseadas em padrões:
* Lógica comum é a norma ISO 24707, uma especificação para uma família de linguagens ontológicas que podem ser traduzidas com precisão uma para a outra.
* O projeto Cyc tem sua própria linguagem ontológica chamada CycL, baseada no cálculo de predicados de primeira ordem com algumas extensões de ordem superior.
* A linguagem Gellish inclui regras para sua própria extensão e, assim, integra uma ontologia com uma linguagem ontológica.
* IDEF5 é um método de engenharia de software para desenvolver e manter ontologias de domínio utilizáveis e precisas.
* KIF é uma sintaxe para lógica de primeira ordem baseada em S-expressions.
* Formato de Interchange de Regras (RIF), F-Logic e seu sucessor ObjectLogic combinam ontologias e regras.
* OWL é uma linguagem para fazer afirmações ontológicas, desenvolvida como um seguimento do RDF e RDFS, bem como projetos de linguagem ontológica anteriores, incluindo OIL, DAML e DAML+OIL. OWL é destinado a ser utilizado sobre a World Wide Web, e todos os seus elementos (classes, propriedades e indivíduos) são definidos como recursos RDF e identificados por URIs.
* OntoUML é uma linguagem bem fundamentada para especificar ontologias de referência.
* SHACL (RDF SHapes Constraints Language) é uma linguagem para descrever a estrutura de dados RDF. Pode ser usada junto com RDFS e OWL ou de forma independente.
* XBRL (Extensible Business Reporting Language) é uma sintaxe para expressar semântica empresarial.

## Engenharia de ontologias nas ciências da vida

As ciências da vida estão florescendo com ontologias que os biólogos usam para dar sentido aos seus experimentos. Para inferir conclusões corretas a partir de experimentos, as ontologias precisam ser estruturadas de forma ótima em relação à base de conhecimento que representam. A estrutura de uma ontologia precisa ser alterada continuamente para que seja uma representação precisa do domínio subjacente.
Recentemente, foi introduzido um método automatizado para engenharia de ontologias nas ciências da vida, como a Gene Ontology (GO), uma das ontologias biomédicas mais bem-sucedidas e amplamente utilizadas. Com base na teoria da informação, reestrutura ontologias de modo que os níveis representem a especificidade desejada dos conceitos. Abordagens similares baseadas em teoria da informação também têm sido utilizadas para a partição ótima da Gene Ontology. Dada a natureza matemática de tais algoritmos de engenharia, essas otimizações podem ser automatizadas para produzir uma arquitetura sistemática e escalável para reestruturar ontologias como a GO.
Open Biomedical Ontologies (OBO), uma iniciativa de 2006 do Centro Nacional de Ontologia Biomédica dos Estados Unidos, proporciona um 'fornalha' comum para várias iniciativas de ontologia, dentre as quais estão:
* O Projeto de Organismos Modelo Genéricos (GMOD)
* Consórcio da Gene Ontology
* Ontologia de Sequência
* Serviço de Busca de Ontologia
* O Consórcio da Ontologia de Plantas
* Padrões e Ontologias para Genômica funcional

## Metodologias e ferramentas para engenharia de ontologias

* DOGMA
* DogmaModeler
* KAON
* OntoClean
* HOZO
* Protégé (software)
* Gra.fo (http://gra.fo)
* SABiO
* TopBraid Composer
* TopBraid EDG
* HCOME: Human-centered collaborative ontology engineering methodology (http://semanticweb.org/wiki/SharedHCONE.html Arquivado em 2015-09-25 no Wayback Machine e HCOME-3O)