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): ...