Classes et ontologies Classe:inconsistanteinconsistantes

Lors du raisonnement, il se peut que le raisonneur détecte des classes inconsistantes. Ces classes sont illogiques et, par conséquent, il ne doit pas y avoir d’individu appartenant à celles-ci. Par exemple dans notre ontologie des bactéries, la classe suivante, héritant de la classe Streptocoque et associé à une forme Allongée (via une restriction), serait inconsistante :

>>> with onto:  
...     class StreptocoqueAllongé(onto.Streptocoque):  
...         is_a = [onto.a_pour_forme.some(onto.Allongée)] 

Tant qu’il n’y a pas d’individu appartenant à cette classe, cela ne pose pas de problème. Les classes inconsistantes sont reclassées comme équivalente à Nothing par le raisonneur. Il est donc possible de les détecter en Python en cherchant Nothing dans les classes équivalentes, par exemple pour vérifier si la classe StreptocoqueAllongé est consistante : Nothing

>>> sync_reasoner()  
>>> if Nothing in StreptocoqueAllongé.equivalent_to:  
...         print("La classe est inconsistante !")  
... else:  
...         print("La classe est consistante.")  
La classe est inconsistante ! 

De plus, la méthode default_world.inconsistent_classes() permet d’obtenir un générateur...

Pour consulter la suite, découvrez le livre suivant :
couv_EPPYTONT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Raisonnement en monde fermé ou en monde fermé local
Suivant
Restriction et raisonnement sur les nombres et les chaînes de caractères