Owlready2 0.30 est disponible !

Owlready2 est un module Python pour la programmation orientée ontologie. Il permet de charger des ontologies OWL 2.0 et de les manipuler de manière transparente en Python.

Cette version apporte deux nouveautés :

  • Un moteur SPARQL qui traduit les requêtes en SQL. Ce moteur est beaucoup plus rapide que celui de RDFlib (environ 60x), il n'a aucune dépendance et un temps de chargement plus réduit. Il supporte actuellement un sous-ensemble de SPARQL : requêtes SELECT, INSERT et DELETE, sous-requêtes, mots-clefs UNION, OPTIONAL, FILTER, BIND, FILTER EXISTS, FILTER NOT EXISTS, toutes les fonctions de SPARQL, la notation des noeuds anonymes avec des crochets, ex. ‘[ a XXX]’, et les expressions de chemin (property path expressions) sauf celles avec des parenthèses.

    Ce nouveau moteur s'utilise ainsi (voir la documentation) :

    list(default_world.sparql("""<query>"""))
  • Le support de Dublin Core via une traduction en OWL intégrée. Il est possible de charger directement Dublin Core ainsi :

    dc = get_ontology("http://purl.org/dc/elements/1.1").load()

Voici les modifications :

  • New native SPARQL engine that translates SPARQL queries to SQL

  • Direct support for Dublin Core via the integration of an OWL translation

  • Bugfixes: - Fix RecursionError when saving very deep ontologies to RDF/XML - Fix IRI of the form 'urn:uuid:...' - Fix loading ontologies that modify an imported property

La nouvelle version peut être téléchargé sur PyPI (Python Package Index) : https://pypi.python.org/pypi/Owlready2