1. Assurer que la hiérarchie de classes est correcte:
    • Bien comprendre la différence entre instantiation et sous-classe ("est-un")
    • Ne pas inclure singulier et pluriel du même concept (Wine et Wines)
    • Avoir en tête la transitivité de la relation subClassOf
    • Éviter les cycles
  2. Porter une attention spéciale aux classes soeurs:
    • Doivent être au même niveau de généralité
    • Pas trop nombreuses, mais éviter une classe sans soeurs
  3. Savoir utiliser l'héritage multiple
  4. Savoir quand introduire une nouvelle sous-classe. Les ous-classes diffèrent en général de leur classe parent pour une des raisons suivantes:
    1. ont des restrictions supplémentaires
    2. rendent plus spécifiques certaines restrictions
    3. sont impliquées dans des relations différentes
    On peut ne pas respecter ces règles quand il s'agit de taxonomies ou de distinctions importantes dans le domaine
  5. Savoir choisir entre nouvelle classe et distinction par propriété/valeur:
    • Si les concepts avec différente valeurs pour la propriété sont eux-mêmes utilisé dans des restrictions d'autres classes, il est préférable de les représenter comme des nouvelles classes.
    • Si les différentes valeurs pour la propriété nous incitent à concevoir des objets très différents dans le domaine, alors on peut penser à créer des classes distinctes. Mais attention: ceci devrait avoir un impact dans la manière dont seront utilisées ces classes.
    • La classe à laquelle appartient un individu ne devrait pas changer souvent. Ainsi, des valeurs numériques, des couleurs, des lieux sont en général des attributs de classes. Si on déclarait une nouvelle classe pour chaque valeur possible, il faudriat en ajouter une nouvelle à chaque nouvelle valeur possible, ce qui compliquerait la gestion de l'ontologie.
  6. Savoir choisir entre instance et classe. Ne pas ouleir qu'un instance est ce qu'il y a de plus spécifique et ne permet pas d'ajouter de sous-catégorisations.
  7. Limiter la portée. Il ne faut pas essayer de tout représenter, et bien maîtriser le rasoir d'Occam.
  8. Déclarer les classes disjointes.
  9. Définir les propriétés inverses.
  10. Bien respecter les conventions de nommage (majuscules, convention pour les préfixes dans les noms de propriétés, éviter les abréviations, etc.)
  11. Ajouter les axiomes de fermeture lorsque requis.
  12. Utiliser des classes définies par énumération pour des restrictions de valeur de propriétés (ex: NiveauEpice aura les valeurs DOUX, MOYEN et PIQUANT).
Modifié le: lundi 15 novembre 2021, 16:51