En philosophie, l'ontologie (du grec ὄν, ὄντος, forme neutre du participe présent du verbe être) est l'étude de l'être en tant qu'être, c'est-à-dire l'étude des propriétés générales de ce qui existe.
Par analogie, le terme est repris en informatique et en science de l'information, où une ontologie est l'ensemble structuré des termes et concepts représentant le sens d'un champ d'informations, que ce soit par les métadonnées d'un espace de noms, ou les éléments d'un domaine de connaissances. L'ontologie constitue en soi un modèle de données représentatif d'un ensemble de concepts dans un domaine, ainsi que des relations entre ces concepts. Elle est employée pour raisonner à propos des objets du domaine concerné.
Les concepts sont organisés dans un graphe dont les relations peuvent être :
L'objectif premier d'une ontologie est de modéliser un ensemble de connaissances dans un domaine donné, qui peut être réel ou imaginaire.
Les ontologies sont employées dans l'intelligence artificielle, le Web sémantique, le génie logiciel, l'informatique biomédicale et l'architecture de l'information comme une forme de représentation de la connaissance au sujet d'un monde ou d'une certaine partie de ce monde. Les ontologies décrivent généralement :
L’étymologie renvoie à la « théorie de l’existence », c’est-à-dire la théorie qui tente d’expliquer les concepts qui existent dans le monde et comment ces concepts s’imbriquent et s’organisent pour donner du sens.
Contrairement à l'être humain, la connaissance pour un système informatique se limite à la connaissance qu'il peut représenter.
Chez l'être humain, les connaissances représentables (c'est-à-dire l'univers du discours) sont complétées par des connaissances non exprimables (sensations, perceptions, sentiments non verbalisables, connaissances inconscientes, connaissances tacites, etc.). Ces éléments non représentables participent pourtant aux processus de raisonnement et de décision, qui sont des processus cognitifs en gestion des connaissances. Les performances cognitives d'un agent informatique vont donc en partie reposer sur le champ des représentations auquel il aura accès, c'est-à-dire concrètement au champ des représentations qui aura été formalisé.
Les ontologies informatiques sont des outils qui permettent précisément de représenter un corpus de connaissances sous une forme utilisable par un ordinateur.
Une des définitions de l'ontologie qui fait autorité est celle de Gruber:
« Une ontologie est la spécification d'une conceptualisation d'un domaine de connaissance »
Cette définition s'appuie sur deux dimensions :
C'est une base de formalisation des connaissances. Elle se situe à un certain niveau d'abstraction et dans un contexte particulier.
C'est aussi une représentation d'une conceptualisation partagée et consensuelle, dans un domaine particulier et vers un objectif commun. Elle classifie en catégories les relations entre les concepts.
D'après Gruber, cinq critères permettent de mettre en évidence des aspects importants d'une ontologie :
Parallèlement à cette définition assez théorique de ce que représente une ontologie, une autre définition, plus opérationnelle, peut être formulée ainsi :
Cette définition rend possible l'écriture de langages destinés à implémenter des ontologies.
Pour construire une ontologie, on dispose d'au moins trois de ces notions :
Pour modéliser une ontologie, on utilisera ces outils :