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.