O balanceamento entre o grau de expressividade e o mecanismo de inferência de uma liguagem (mais expressiva, menos capacidade de inferência) torna difícil estabelecer uma comparação entre as linguagens. Além disso, todas as diferentes linguagens que existem, hoje, em representação de conhecimento são convenientes a determinados tipos de aplicação.
No desenvolvimento de ontologias de domínio para uma aplicação, não é necessário somente estudar a representação de conhecimento e as necessidades de raciocínio da aplicação, mas também das capacidades oferecidas pelas linguagens. Isto evitará que o desenvolvedor de ontologias faça uma escolha cega da linguagem.
A informação das tabelas a seguir tem o seguinte significado: uma célula preenchida com '+' para indicar aquela capacidade é presente na linguagem, '-' a característica está ausente, '+/-' para características ausentes mas que podem ser simulada de alguma forma, '?' quando nenhuma informação está disponível e 'ND' para características não restritivas, ou seja, poderiam ser implementadas. O conteúdo das tabelas representa a situação presente, pois podem evoluir.
Tabela 1: Definição dos principais componentes do conhecimento de domínio
|
|
|
|
|
| Conceitos |
|
|
|
| Relação n-ária |
|
|
|
| Funções |
|
|
|
| Procedimentos |
|
|
|
| Instâncias |
|
|
|
| Axiomas |
|
|
|
| Regras de produção |
|
|
|
| Semântica Formal |
|
|
|
Conceitos, relações n-árias e instâncias
podem ser definidas facilmente na maioria das linguagens.
Funções procedimentos e axiomas não podem ser
definidos nas linguagens para Web (SHOE e OIL), exceto para algumas formas
restritas de axiomas, tal como regras dedutivas que são definíveis
em SHOE.
É útil mencionar que procedimentos e regras de produção
são somente definíveis em LOOM por ser baseada em Lisp.
| CONCEITOS |
|
|
|
| Metaclasses |
|
|
|
| Partições |
|
|
|
| Atributos | |||
| Template(instância extra) |
|
|
|
| Atributos próprios |
|
|
|
| Polimorfismos |
|
|
|
| Escopo local |
|
|
|
| Sub atributos | |||
| Valor default |
|
|
|
| Restrição de tipo |
|
|
|
| Restrição de cardinalidade |
|
|
|
| Documentação |
|
|
|
| Conhecimento procedural |
|
|
|
| Adicionar novos sub-atributos |
|
|
|
SHOE e OIL não admitem definir metaclasses, e partições
podem ser definidas somente em LOOM.
|
|
|
|
|
| Subclasse de |
|
|
|
| Partição exaustiva em subclasses |
|
|
|
| Composição disjunta |
|
|
|
| Não subclasse de |
|
|
|
Quando definimos taxonomia, há somente uma primitiva que é
definida em todas as linguagens: subclasse de.
Tabela 4: Definição das relações e funções
|
|
|
|
|
| Funções como relações |
|
|
|
| Conceitos: relações unárias |
|
|
|
| Atributos como relações binárias |
|
|
|
| Relações n-árias/funções |
|
|
|
| Restrição de tipo |
|
|
|
| Restrições de integridade |
|
|
|
| Definições operacionais |
|
|
|
Muitas linguagens representam conceitos como relações
unárias. Atributos são considerados usualmente como relações
binárias.
|
|
|
|
|
| Instâncias de conceitos |
|
|
|
| Fatos |
|
|
|
| Afirmações |
|
|
|
Tabela 6: Definição de axiomas
|
|
|
|
|
| Primeira Ordem |
|
|
|
| Segunda Ordem |
|
|
|
| Axiomas com nome |
|
|
|
Tabela 7: Definição de regras
| CONCEITOS |
|
|
|
| Premissas | |||
| Conjutiva |
|
|
|
| Disjuntiva |
|
|
|
| Conseqüentes | |||
| Valor verdade |
|
|
|
| Execução de procedimentos |
|
|
|
| Atualização de base de conhecimento |
|
|
|
Tabela 8: Mecanismos de raciocínio
| RACIOCÍNIO |
|
|
|
| Inferência | |||
| Correto |
|
|
|
| Completo |
|
|
|
| Classificação | |||
| Classificação automática |
|
|
|
| Exceções | |||
| Tratamento de exceções |
|
|
|
| Herança | |||
| Monotônica |
|
|
|
| Não monotônica |
|
|
|
| Herança simples |
|
|
|
| Herança múltipla |
|
|
|
| Procedimentos | |||
| Execução de procedimentos |
|
|
|
| Restrições | |||
| Verificação de restrições |
|
|
|
| Encadeamento | |||
| Para frente |
|
|
|
| Para trás |
|
|
|