Ontologies pour débutants : cours simple et exemples
Ce tutoriel vous explique les ontologies depuis le début, avec des mots simples et un exemple d’agroforesterie. Vous allez comprendre à quoi elles servent, reconnaître leurs principales briques et écrire vos premiers faits sous forme de triplets.
Durée indicative : 20 à 30 minutes. Prérequis : aucun. Vous pouvez suivre les exemples sans installer de logiciel.
Dans ce tutoriel
- 1. Une ontologie, c’est quoi ?
- 2. Les briques de base : classes, individus et propriétés
- 3. Comment ces informations deviennent des données liées ?
- 4. Vocabulaire, thésaurus ou ontologie : que choisir ?
- Exemples en médecine, sécurité, réseaux et IA
- 5. Concevoir une ontologie simple en 6 étapes
- 6. Mini-exercice corrigé
- 7. À retenir et pour aller plus loin
1. Une ontologie, c’est quoi ?
Quand plusieurs personnes parlent d’un même sujet, elles n’emploient pas toujours les mêmes mots. Une personne dit « parcelle », une autre « terrain », une troisième stocke le code « P-01 ». Un ordinateur ne peut pas deviner tout seul que ces expressions peuvent désigner la même chose. Une ontologie décrit clairement les notions d’un domaine et les liens entre elles, pour que les humains et les programmes partagent une même interprétation.
Imaginez une carte du domaine : elle indique les types de choses importantes, les relations possibles et parfois les règles qui les relient. Une ontologie n’est donc pas simplement une liste de mots ni une base de données. C’est un modèle explicite du sens des informations.
Un exemple du quotidien
Dans une bibliothèque, on peut définir les notions Livre, Auteur et Personne. On peut ensuite préciser qu’un livre a un auteur et qu’un auteur est une personne. Ces relations permettent à un logiciel de comprendre des informations qui, sans modèle, ne seraient que des champs ou des mots.
La thèse de Raphaël Conde Salazar applique cette idée à l’agroforesterie : les données proviennent de plusieurs acteurs et jeux de données; il faut en clarifier les termes et leur donner des liens compréhensibles par les machines.
2. Les briques de base : classes, individus et propriétés
Pour construire une première ontologie, retenez trois briques. Une classe représente une catégorie générale, comme ParcelleAgroforestiere ou EspeceVegetale. Un individu est un élément concret de cette catégorie, par exemple la parcelle nommée « Parcelle A ». Une propriété exprime un lien ou une caractéristique.
- Relation entre deux choses :
aPourEspecerelie une parcelle à une espèce. - Valeur simple :
surfaceEnHectaresrelie une parcelle à une valeur numérique, par exemple 2.5.
La différence entre classe et individu est essentielle : Chêne peut être une espèce (classe ou concept selon le modèle), tandis que « le chêne observé dans la parcelle A » peut être un individu. Il faut choisir ce qui correspond à vos données et à vos questions, puis garder ce choix partout.
Une petite carte avant le code
ParcelleAgroforestiere — aPourEspece → EspeceVegetale
Parcelle A est une ParcelleAgroforestiere.
Parcelle A a pour espèce Chêne.
surfaceEnHectares de Parcelle A vaut 2.5.
La flèche exprime une relation avec un autre élément. Une valeur numérique, une date ou un texte est plutôt une donnée simple. Cette distinction aide à éviter de transformer chaque valeur en fausse classe.
3. Comment ces informations deviennent des données liées ?
Le Web sémantique représente souvent une information sous forme de triplet : sujet, prédicat, objet. Le sujet est ce dont on parle, le prédicat indique le lien ou la propriété, et l’objet est la valeur ou la chose liée.
@prefix ex: <https://exemple.org/agroforesterie/> .
ex:parcelleA a ex:ParcelleAgroforestiere .
ex:parcelleA ex:aPourEspece ex:chene .
ex:parcelleA ex:surfaceEnHectares 2.5 .Lecture : « parcelleA est une parcelle agroforestière »; « parcelleA a pour espèce chene »; « sa surface vaut 2,5 hectares ». La syntaxe montrée s’appelle Turtle, une façon compacte d’écrire des graphes RDF. Le symbole a signifie « est un individu de ». Les identifiants précédés par ex: sont des noms abrégés d’IRI (identifiants Web).
Avec des identifiants stables et une convention claire, les données peuvent être reliées à d’autres ressources. Il faut toutefois éviter de réutiliser un identifiant pour deux choses différentes : le sens dépend aussi de la définition associée à l’identifiant.
4. Vocabulaire, thésaurus ou ontologie : que choisir ?
On n’a pas toujours besoin de formaliser des règles complexes. Commencez par le besoin.
| Besoin | Outil souvent adapté | Exemple |
|---|---|---|
| Uniformiser des termes, synonymes et traductions | Vocabulaire contrôlé ou thésaurus, souvent SKOS | « arbres fruitiers » et ses termes associés |
| Décrire des catégories, relations et contraintes interprétables par un moteur | Ontologie, souvent OWL | Une parcelle contient une espèce végétale |
SKOS sert à publier et organiser des concepts de vocabulaire : libellés, synonymes, termes plus généraux ou plus précis. OWL sert à exprimer un modèle logique plus riche : classes, relations et axiomes permettant notamment à un raisonneur de déduire des informations.
Ces approches peuvent se compléter. Dans la thèse, le référentiel terminologique d’agroforesterie est traité séparément de l’ontologie de domaine. Cela permet d’organiser les mots sans confondre les libellés avec la structure logique des données.
Un conseil débutant : si votre problème est « les gens utilisent des mots différents », commencez par un vocabulaire partagé. Si votre problème est « le logiciel doit comprendre des types et relations », définissez une ontologie. Guide SKOS du W3C · Guide OWL 2 du W3C.
Exemples en médecine, sécurité, réseaux et IA
La même méthode fonctionne dans plusieurs domaines : nommer les choses importantes, préciser leurs relations, puis écrire quelques faits en RDF. Les extraits ci-dessous sont des exemples fictifs pour apprendre la structure. Ils ne constituent ni des données médicales réelles ni des outils de diagnostic, de détection ou de protection.
1. Médecine : décrire une observation clinique
On peut représenter une observation faite lors d’une consultation. Les classes peuvent être ObservationClinique, Patient et SigneClinique. Les propriétés indiquent qui est concerné, quel signe a été observé et quand.
@prefix med: <https://exemple.org/medecine/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
med:observation001 a med:ObservationClinique ;
med:concerne med:patientFictif001 ;
med:porteSur med:signeExemple ;
med:dateObservation "2026-10-01"^^xsd:date .Lecture : « observation001 est une observation clinique; elle concerne un patient fictif, porte sur un signe exemple et a été faite à cette date ». Dans un vrai projet de santé, il faut aussi choisir des terminologies adaptées et protéger strictement les données personnelles. Une ontologie organise le sens; elle ne pose pas un diagnostic.
2. Phishing : relier un message à des indices
Pour documenter un signalement, on peut distinguer un Message, un Lien, un Domaine et un IndiceSuspect. On consigne ce qui a été observé et la source de l’analyse.
@prefix sec: <https://exemple.org/securite/> .
sec:message001 a sec:MessageSignale ;
sec:contientLien sec:lien001 ;
sec:presenteIndice sec:indice001 .
sec:lien001 a sec:LienObserve ;
sec:pointeVers sec:domaineExemple .
sec:indice001 a sec:IndiceSuspect ;
sec:typeIndice "domaine inattendu" .Lecture : un message signalé contient un lien observé, qui pointe vers un domaine d’exemple; l’analyse a relevé un indice. Ce graphe aide à relier les observations et les signalements. Le fait qu’un indice soit présent ne prouve pas, à lui seul, qu’un message est malveillant.
3. Cybersécurité : représenter des actifs et des vulnérabilités
Une organisation peut modéliser ses Actifs (serveur, application), les Vulnerabilites connues, les MesuresDeProtection et les relations entre eux. Séparer ces notions permet de poser des questions telles que « quels actifs sont associés à cette vulnérabilité ? »
@prefix cyber: <https://exemple.org/cyber/> .
cyber:serveurWeb a cyber:Actif ;
cyber:heberge cyber:applicationExemple ;
cyber:associeA cyber:vulnerabilite001 .
cyber:vulnerabilite001 a cyber:Vulnerabilite ;
cyber:concerneComposant cyber:composantExemple .
cyber:mesure001 a cyber:MesureDeProtection ;
cyber:protege cyber:serveurWeb .Lecture : le serveur héberge une application et est associé à une vulnérabilité; une mesure de protection le concerne. Le modèle peut soutenir un inventaire et des requêtes, mais il ne remplace pas l’analyse technique ni la gestion des risques.
4. Réseaux : décrire les équipements et les connexions
Pour un réseau, les classes peuvent être Routeur, Commutateur et InterfaceReseau. Une relation comme connecteA décrit un lien physique ou logique. Les interfaces peuvent porter des valeurs comme leur nom ou leur débit.
@prefix net: <https://exemple.org/reseau/> .
net:routeurA a net:Routeur ;
net:possedeInterface net:interfaceA .
net:commutateurB a net:Commutateur ;
net:possedeInterface net:interfaceB .
net:interfaceA net:connecteeA net:interfaceB ;
net:debit "1 Gbit/s" .Lecture : le routeur et le commutateur possèdent chacun une interface; les deux interfaces sont connectées. On peut ensuite interroger le graphe pour retrouver les équipements reliés, sans confondre un équipement avec son interface.
5. Intelligence artificielle : documenter données, modèles et évaluations
Une ontologie légère peut décrire un ModeleIA, un JeuDeDonnees, une Tache et une Evaluation. Elle rend visible la provenance : avec quelles données le modèle a été entraîné, pour quelle tâche et selon quelle évaluation.
@prefix ia: <https://exemple.org/ia/> .
ia:modeleDemo a ia:ModeleIA ;
ia:entraineSur ia:jeuExemple ;
ia:viseTache ia:classificationDemo ;
ia:evaluePar ia:evaluation001 .
ia:evaluation001 a ia:Evaluation ;
ia:scoreExemple "0.91" .Lecture : le modèle de démonstration a été entraîné sur le jeu d’exemple, vise une tâche de classification et possède une évaluation associée. Pour un projet réel, on documente aussi la version, la méthode d’évaluation, les limites, la date et les conditions d’usage. Un score isolé ne suffit pas à juger un modèle.
5. Concevoir une ontologie simple en 6 étapes
- Délimitez le sujet. Écrivez ce que l’ontologie couvre et ce qu’elle ne couvre pas. Exemple : décrire les parcelles, espèces et observations, sans modéliser toute l’agronomie.
- Formulez des questions concrètes. Par exemple : « Quelles espèces ont été observées sur cette parcelle ? » Ces questions guideront le modèle.
- Listez les termes existants. Recueillez les mots des fiches, bases et personnes concernées. Repérez synonymes et ambiguïtés.
- Réutilisez ce qui existe. Cherchez un vocabulaire fiable avant d’inventer un nouveau terme. Notez la source et la version.
- Définissez les classes et propriétés. Rédigez une définition compréhensible pour chaque notion. Précisez le type de lien et les exemples.
- Testez avec des exemples réels. Vérifiez que les questions du début peuvent être répondues et que les termes sont compris par les utilisateurs.
Cette démarche est itérative : les données réelles révèlent souvent des notions oubliées. Gardez une trace des décisions, des définitions et des versions afin que d’autres puissent comprendre le modèle.
6. Mini-exercice corrigé
On veut décrire une parcelle agroforestière appelée « Parcelle A », où l’on a observé un chêne. La parcelle a une surface de 2,5 hectares.
À vous : repérez une classe, deux individus, une relation et une propriété avec une valeur numérique. Puis écrivez les informations sous forme de triplets.
Afficher la correction
Classes : ParcelleAgroforestiere et EspeceVegetale (ou Arbre, selon le niveau de détail choisi). Individus : parcelleA et chene1. Relation : aPourEspece. Propriété de donnée : surfaceEnHectares.
ex:parcelleA a ex:ParcelleAgroforestiere .
ex:chene1 a ex:EspeceVegetale .
ex:parcelleA ex:aPourEspece ex:chene1 .
ex:parcelleA ex:surfaceEnHectares 2.5 .Il peut exister plusieurs modèles corrects. Si l’on souhaite distinguer l’espèce « chêne » de chaque arbre observé, on crée une classe EspeceVegetale, un individu qui représente l’espèce et un autre qui représente l’arbre observé, puis on ajoute une relation comme appartientALEspece. Le bon choix dépend des questions à traiter.
7. À retenir et pour aller plus loin
- Une ontologie explicite le sens des notions et de leurs relations dans un domaine.
- Classe = catégorie; individu = élément concret; propriété = lien ou caractéristique.
- RDF exprime les faits sous forme de triplets; SKOS organise des vocabulaires; OWL permet un modèle logique plus riche.
- On part des questions et des données, on réutilise les vocabulaires utiles, puis on teste et documente.
Pour poursuivre : consultez le guide RDF, le guide SKOS et le guide OWL 2 du W3C.
Source principale
Ce tutoriel adapte les idées de Raphaël Conde Salazar, Vers une démarche ontologique pour la gestion des bases de données en agroforesterie, thèse de doctorat, Université de Montpellier, 2021. Consulter la notice et le document sur HAL. Les exemples de parcelles ici sont simplifiés à des fins pédagogiques; ils ne reproduisent pas les données intégrales de la thèse.
Résumé : une ontologie donne un sens partagé aux données. Commencez petit, partez des questions auxquelles vous voulez répondre et expliquez clairement chaque notion.