Sommaire

Ajouter des méthodes Python aux classes OWL Méthode

Avec Owlready, les classes OWL sont des classes Python (presque) comme les autres. Il est donc possible d’y inclure des méthodes. Voici un exemple simple qui permet de calculer le prix par comprimé d’un médicament à partir de son prix unitaire (par boîte) et du nombre de comprimés dans la boîte :

>>> from owlready2 import * 
>>> onto = get_ontology("http://test.org/medicament.owl#")  
>>> with onto:  
...     class Médicament(Thing): pass 
... 
...     class prix (Médicament >> float, FunctionalProperty): pass
...     class nb_comprimé(Médicament >> int , FunctionalProperty): pass 
...  
...     class Médicament(Thing):  
...         def get_prix_par_comprimé(self):  
...             return self.prix / self.nb_comprimé

Notez que la classe Médicament est définie deux fois : il s’agit d’une déclaration anticipée pour pouvoir l’utiliser dans les définitions des propriétés (voir chapitre Créer et modifier des ontologies en Python, section Définitions multiples et déclarations anticipées). Déclaration anticipée

La méthode peut ensuite être appelée sur les individus de la classe :

>>> ...