Pour faire simple

Une ontologie est une façon de partager des connaissances entre l’homme et la machine, celle-ci  en permet le traitement.

Ces connaissances sont un ensemble structuré de concepts (sous la forme d’une hiérarchie ou d’un graphe). Les concepts manipulés peuvent être des choses, des événements, des relations, etc.

Mais vous voulez peut-être en savoir plus …

Le Web de données, alias Web 3.0, alias Web sémantique, n’est plus un sujet de pure recherche. Déjà en 1999, Tim Berners-Lee expliquait que « le Web Sémantique est une extension de l’Internet où les informations sont définies sémantiquement afin de faciliter le partage et la coopération ». Aujourd’hui, on voit de plus en plus de projets, et les responsables informatiques et les décideurs des entreprises ou des administrations se renseignent pour comprendre les promesses de ce nouveau continent et envisager ce que leur système d’information y gagnera. Mais les premières difficultés rencontrées sont le vocabulaire et les concepts qu’il faut manipuler. Les oeuvres de vulgarisation sont encore peu nombreuses, il y a encore beaucoup à faire …

Dans ce billet, il est question d’ontologie. Je vais donner quelques définitions, à différents niveaux, de cet objet particulier et central dont le seul mot déjà peut rebuter.

Si vous êtes passés par Wikipedia, vous aurez vu qu’il y a bien d’autres acceptions : philosophique, médicale ou géopolitique. Le vocabulaire est bien chargé ! Pour autant, vous allez voir que ce n’est pas si terrible que ça. Wikipedia propose une page intéressante sur l’ontologie, au sens du Web de données ; la page anglaise est plus fournie encore. La visite d’autres sites spécialisés, comme par exemple celui du CNTRL, ne donne en revanche aucune définition sur notre sujet.

On trouve aussi de bonnes synthèses (en français), comme celles de Benoit Lavoie ou de Gautier Poupeau.

A – En 1993, Tom Gruber donne la célèbre définition suivante “An explicit specification of a conceptualisation” (une ontologie est une spécification explicite d’une conceptualisation). Cette définition a la vertu d’être courte, mais elle laisse sur sa fin lecteur d’aujourd’hui compte-tenu des développements du Web de données.

B – En 2003, Sean Bechhofer, Ian Horrocks and Peter F. Patel-Schneider définissent l’ontologie comme un artefact de l’ingénierie

  • constituée par un vocabulaire spécifique, elle est utilisée pour décrire une certaine réalité
  • et un ensemble d’hypothèses explicites sur le sens voulu du vocabulaire.

Ainsi, une ontologie décrit une spécification formelle d’un certain domaine

  • elle en est une compréhension partagée
  • et un modèle formel et manipulable par une machine.

C – La définition de l’IEEE (2003)

Une ontologie est semblable à un dictionnaire ou un glossaire, mais avec plus de détails et une structure qui permettent aux ordinateurs de traiter leur contenu. Une ontologie se compose d’un ensemble de concepts, d’axiomes, et de relations qui décrivent un domaine d’intérêt.

D – En 2007, le même Tom Gruber précise.

Dans le contexte de l’informatique et des sciences de l’information, une ontologie définit un ensemble de primitives de représentation pour modéliser un domaine de connaissance.

Les primitives de représentation sont généralement

  • des classes (ou des ensembles),
  • des attributs (ou des propriétés),
  • et des relations (ou des liens qui relient des éléments de classe)

Les définitions des primitives de représentation incluent

  • des informations sur leurs significations
  • et des contraintes sur leurs applications, qui doit être logiquement cohérente.

Dans le contexte des systèmes de base de données, l’ontologie peut être considérée

  • comme un niveau d’abstraction des modèles de données, analogue aux modèles hiérarchiques et relationnels,
  • mais destinée à la modélisation des connaissances sur les individus, leurs attributs et leurs relations avec d’autres individus.

Les ontologies sont généralement décrites dans les langages qui permettent l’abstraction indépendamment des structures de données et des stratégies de mise en œuvre. En pratique, les langages de description des ontologies ont une puissance expressive plus proche de la logique du premier ordre que celle des langages utilisés pour les modèles de bases de données. Pour cette raison, on dit des ontologies qu’elles sont de niveau « sémantique », tandis que les schémas de bases de données sont des modèles de données de niveau «logique» ou «physique».

Du fait de leur indépendance par rapport aux modèles de données de niveau inférieur, les ontologies sont utilisées pour l’intégration de bases de données hétérogènes, permettant une interopérabilité entre des systèmes disparates, et la spécification d’interfaces de services indépendants de la connaissance. Dans le stack technologique des standards du Web sémantique, les ontologies représentent explicitement une couche.

E – Kore Nordmann (2009)

Les ontologies sont un concept théorique en sciences de l’information destiné à représenter formellement des connaissances dans un logiciel capable de les traiter et de raisonner avec. Souvent aussi la lisibilité pour l’homme est un aspect central.

F – Pour faire simple, suite (2010)

Si je reprends ce que j’écrivais au début de cette page et que je complète un peu à l’aide des autres définitions que nous avons maintenant parcourues, on peut esquisser ceci :

Une ontologie décrit généralement des

  • individus : des objets de base,
  • classes : des ensembles, des collections ou des types d’objets,
  • attributs : des propriétés, des fonctionnalités, des caractéristiques ou des paramètres que les objets possèdent et partagent,
  • relations : des liens qui relient  les objets,
  • événements : des changements qui affectent des attributs ou des relations.

Ces descriptions sont la formalisation d’un ensemble de connaissances exprimées dans un langage

  • compréhensible par un humain
  • et qui peut être traité par un logiciel à des fins de raisonnement.

La formalisation d’une ontologie en structure les termes et les concepts à l’aide d’un graphe où les relations sont

  • des relations sémantiques,
  • des relations d’inclusion (subsomption).

L’ontologie est donc la spécification explicite d’une conceptualisation … Nous avons retrouvé la définition donnée par Tom Gruber en 1993 !

Concluons

Les définitions sont nombreuses et couvrent parfois des aspects différents. A l’évidence, il n’existe pas une seule bonne définition. Il faut donc y voir la marque d’une richesse que confirme la difficulté de créer une ontologie. Mais c’est là un autre sujet ! Il existe aujourd’hui plusieurs langages standard pour décrire une ontologie. La gamme d’outils commerciaux ou open source se développe. Ce seront les thèmes de prochains billets. A suivre …