Exemple

Charger une ontologie à partir d’un répertoire local ou d’Internet :

>>> from owlready import *
>>> onto_path.append("/chemin/local/vers/les/ontologies/")
>>> onto = get_ontology("http://www.lesfleursdunormal.fr/static/_downloads/pizza_onto.owl")
>>> onto.load()

Créer de nouvelles classes dans l’ontologie, en mélangeant éventuellement des restrictions OWL et des méthodes Python :

>>> class NonVegetarianPizza(onto.Pizza):
...   equivalent_to = [
...     onto.Pizza
...   & ( restriction("has_topping", SOME, onto.MeatTopping)
...     | restriction("has_topping", SOME, onto.FishTopping)
...     ) ]
...   def eat(self): print("Beurk ! Je suis végétarien !")

Accéder au contenu de l’ontology et créer de nouvelles instances (ou individus) :

>>> onto.Pizza
pizza_onto.Pizza
>>> test_pizza = onto.Pizza("test_pizza_owl_identifier")
>>> test_pizza.has_topping = [ onto.CheeseTopping(),
...                            onto.TomatoTopping(),
...                            onto.MeatTopping  () ]

Exporter l’ontologie au format OWL/XML :

>>> test_onto.save()

Effectuer la classification des instances et des classes avec le raisonneur HermiT :

>>> test_pizza.__class__
onto.Pizza

>>> # Execute HermiT and reparent instances and classes
>>> onto.sync_reasoner()

>>> test_pizza.__class__
onto.NonVegetarianPizza
>>> test_pizza.eat()
Beurk ! Je suis végétarien !

D’autres d’exemples sont disponibles dans la documentation et le répertoire /doc/examples des sources.