Définition du squelette de la hiérarchie
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dans cette section, nous allons peupler notre ontologie afin qu'elle représente notre problème. Pour ce faire, nous allons procéder avec une approche top-bottom qui va consister à déclarer d'abord les classes principales, puis définir leurs ramifications taxonomiques.
De la même manière que dans la section précédente, nous allons utiliser l'assistant Create Class Hierarchy... (CCH) pour construire notre hiérarchie de classes principales.
Il est tout a fait possible de faire cette opération à la main. Cependant, l'assistant permet d'indiquer des suffixes et des préfixes qui seront adjoints automatiquement aux éléments dans les classes principales. Pratique pour ne pas retaper _topping
ou _crust
à chaque fois !
Sélectionnez Independent_class
;
Allez dans Tool > Create Class Hierarchy...
(le CCH) puis rentrez :
Laissez la boîte cochée pour les classes disjointes. Chaque élément est bien disjoint des autres !
Le tout devrait ressembler à cela
Maintenant, on va s'intéresser à peupler ces classes principales avec des individus plus spécifiques.
Sélectionnez Pizza_topping
;
Ouvrez le CCH, et renseignez les garnitures que vous souhaitez représenter (pas besoin de rajouter _topping
à la fin). N'oubliez pas que vous pouvez concevoir une hiérarchie de classe. Par exemple, vous avez une garniture fromage, qui elle même contient plusieurs fromage ! ;
Dans la partie Suffix
, inscrivez _topping
. Cela aura pour effet de rajouter _topping
à toutes vos (sous-)classes.
Un exemple de hiérarchie
Vous devriez avoir quelque chose qui ressemble à cela, modulo les garnitures que vous avez choisis
Votre (sous-)ontologie concernant la garniture est prête. Il ne reste plus qu'à faire la même opération pour les deux autres classes Pizza
et Pizza_base
.
Un exemple de pâte à pizza
N'oubliez pas de rajouter le suffixe _base
dans le CCH !
Un exemple de type de pizza qui existe
Cette fois ci, décochez la boîte pour les classes disjointes. Certaines seront l'unions d'autres, on vera après !
On aime bien quand ça pique, donc on va rajouter également le côté épicé dans notre ontologie. Puisqu'il peut avoir différentes valeurs (e.g. forte, médium...), il convient mieux de le mettre dans la section Value
de notre hiérarchie de concepts.
N'oubliez pas de rajouter le suffixe _value
dans le CCH !
N'oubliez pas ce qui suit !
Cliquez sur Spiciness_value
(ou votre classe qui subsume vos valeurs) ;
Aller dans Edit > Add Covering Axioms
(vous verrez alors que votre Spiciness_value
devient également une sous classe de vos valeurs).
OWL est défini selon le principe de "monde ouvert" : ce qui est omis existe peut être. Quand vous indiquez par exemple qu'il existe trois valeurs pour la Spiciness
, si vous ne "couvrez pas" cette classe, le raisonneur va supposer qu'il peut exister d'autres éléments, empêchant par exemple l'identification d'éléments équivalent.
Dans cette section, nous venons d'étoffer notre ontologie en la détaillant via des classes spécifiques. Cela nous permet de lister les différents concepts qui interviennent dans le "monde de la pizza".
Vous avez appris à créer des classes et des sous-classes via le CCH qui représentaient votre conception du monde de la pizza. Vous avez également appris à définir des concepts valeurs, et à "fermer le groupe" (i.e. dire que ce sont les seuls valeurs possibles).
Notez cependant que ce ne sont pas des individus mais bien des concepts, même les classes dans Pizza
: elles représentent le concept d'une pizza Vegan, d'une pizza Margarita, etc.