Sommaire

Créer des Propriétépropriétés

Dans Owlready, les propriétés sont assimilées à des classes, car les propriétés OWL se comportent de manière similaire aux classes (avec notamment le support de l’héritage). De fait, les propriétés OWL sont en réalité des « classes de relations ». Les propriétés sont créées en définissant une classe qui hérite de DataProperty, ObjectProperty ou AnnotationProperty. De plus, les classes FunctionalProperty, InverseFunctionalProperty, TransitiveProperty, SymmetricProperty, AsymmetricProperty, ReflexiveProperty et IrreflexiveProperty peuvent être utilisées en complément (avec un héritage multiple) pour créer une Propriété:fonctionnellepropriété fonctionnelle, Propriété:inverse fonctionnelleinverse fonctionnelle, Propriété:transitivetransitive... DataProperty AnnotationProperty FunctionalProperty InverseFunctionalProperty TransitiveProperty SymmetricProperty AsymmetricProperty ReflexiveProperty IrreflexiveProperty

Les attributs de classe domain et range permettent de renseigner le domaine et le range de la propriété, sous la forme d’une liste. domain range

L’exemple suivant crée la propriété fonctionnelle a_pour_forme :

>>> with onto:  
...        class a_pour_forme(ObjectProperty, FunctionalProperty):  ...