Owlready2

Owlready2 est un module pour la programmation orientée ontologie en Python 3.

documentation download stats

Owlready2 peut :

  • importer des ontologies OWL 2.0 au format NTriples, RDF/XML ou OWL/XML.
  • exporter des ontologies OWL 2.0 au format NTriples ou RDF/XML.
  • manipuler les entités (classes, instances, propriétés,…) de l’ontologie de manière transparent, comme s’il s’agissait d’objet Python.
  • ajouter des méthodes Python aux classes de l’ontologie.
  • effectuer la classification automatique des classes et des instances, avec le raisonneur HermiT.
  • stocker les ontologies dans un quadstore RDF (testé jusqu’à 100 millions de triplets RDF, mais peut potentillement en supporter plus)
  • De plus, le quadstore est compatible avec le module Python RDFlib, ce qui permet d’effectuer des requêtes SPARQL.

Owlready2 a été créé par Jean-Baptiste Lamy (email en bas de la colonne de gauche) au laboratoire LIMICS, Université Paris 13, Sorbonne Paris Cité, INSERM UMRS 1142, Université Paris 6. Owlready2 est disponible sous licence GNU LGPL v3.

Si vous utilisez Owlready2, merci de citer l’article suivant :

Lamy JB. Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies. Artificial Intelligence In Medicine 2017;80:11-28

Liens

Owlready2 sur BitBucket (développement): https://bitbucket.org/jibalamy/owlready2

Owlready2 sur PyPI (Python Package Index, version stable): https://pypi.python.org/pypi/Owlready2

Documentation: http://owlready2.readthedocs.io

Forum/Mailing list: http://owlready.8326.n8.nabble.com

Commentaires

Owlready2 0.10 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 nouvelle version corrige de nombreux bogues et apporte le support des métadonnées de l’ontologie. Elle introduit aussi l’utilisation de Cython, pour accélérer la lecture des fichiers RDF/XML et OWL/XML. Owlready2 est désormais capable de charger ces fichiers aussi rapidement que Java !

Voici les modifications de la version 0.10 :

  • Add Ontology.metadata for adding/querying ontology metadata
  • Allows multiple individual creations with the same name/IRI, now returning the same individuals
  • Add OwlReadyInconsistentOntologyError and Word.inconsistent_classes()
  • Implement RDF/XML and OWL/XML parsing in Cython (25% speed boost for parsing)
  • Small optimization
  • Extend individual.prop.indirect() to include relations asserted at the class level
  • Add .query_owlready() method to RDF graph
  • Bugfixes: - Fix reasoning when obtaining classes equivalent to nothing - Fix World creation with backend parameters - Fix error when adding property at the class definition level - Fix loading of ontology files with no extension from onto_path - Fix properties defined with type “RDF Property” and subproperty of “OWL Data/Object/Annotation Property” - Support old SQLite3 versions that do not accept WITHOUT ROWID - Fix reference to undeclared entities (they were replaced by None, now by their IRI) - Fix loading and saving ontologies whose base IRI ends with / - Fix RDF query using string

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

Owlready2 0.9 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 nouvelle version permet d’utiliser PostgresQL à la place de SQLite3 (cependant les performances sont généralement moins bonnes). Elle facilite également l’accès aux restrictions de type SOME sur les classes, en utilisant la notation pointée « classe.propriété ».

Voici les modifications de la version 0.9 :

  • PostgresQL backend (in addition to SQLite3)
  • Add “exclusive = False” option for SQLite3 backend (slower, but allows multiple uses)
  • Use unique index in sqlite3 quadstore on resources table
  • Optimize sqlite3 quadstore by caching IRI dict (5% faster)
  • Add == support for class construct
  • Add get_namespace() support on World
  • Add “existential restrictions as class properties” feature
  • Bugfixes: - Fix imported ontologies - Fix saving ontologies in onto_path - Fix clear() on CallbackList - Fix bug in Class IRI in ontologies whose base IRI ends with a / - Fix imported ontologies in ontologies whose base IRI ends with a /

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

Le grand tableau des ontologies

Ce grand tableau récapitule 5 notations utilisées pour les ontologies formelles en OWL : les logiques de description, la syntaxe de l’éditeur Protégé, la syntaxe d’Owlready2 en Python, et la sémantique en logique du premier ordre et en logique ensembliste. À garder à portée de main quand on travail sur les ontologies formelles !

Vous pouvez télécharger le grand tableau des ontologies (the great table of ontologies).

Owlready2 0.8 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.

Voici les modifications des versions 0.6, 0.7 et 0.8 (les deux premières n’ayant duré que quelques heures) :

  • Add set_datatype_iri() global function for associating a Python datatype to an IRI
  • Add nquads ontology format (useful for debugging)
  • Add support for dir() on individuals
  • Add support for ontology using https: protocol (thanks Samourkasidis Argyrios)
  • Add observe module (for registering callback when the ontology is modified)
  • Improve docs
  • Bugfixes: - Align Python floats with xsd:decimal rather than xsd:double, finally, because decimal accepts int too - Fix Class.instances() so as it returns instances of subclasses (as indicated in the doc) - Fix direct assignation to Ontology.imported_ontologies - Fix a bug in reasoning, when adding deduced facts between one loaded and one non-loaded entity - Fix search(prop = « value ») when value is a string and the ontology uses localized string

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

Owlready2 0.5 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 nouvelle version corrige plusieurs bogues.

Elle peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/Owlready2

Owlready2 0.4 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.

Les principales nouveautés de la version 2 - 0.4 sont :

  • l’interrogation des relations définies pour un individu (via les méthodes .get_properties(), .get_inverse_properties() et .get_relations())
  • l’amélioration de la méthode .search() en prenant en compte l’héritage et les relations inverses
  • l’optimisation des requêtes récursives en SQL
  • plusieurs corrections de bogues

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

Owlready2 0.3 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.

La version 2 - 0.3 d’Owlready est principalement une version de correction de bogues. Elle permet également de détruire les entités dans les ontologies.

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

Owlready2 0.2 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.

La version 2 - 0.2 d’Owlready inclut désormais un parseur RDF/XML écrit en Python. Ce parseur permet de charger très rapidement des fichiers volumineux.

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

Owlready2 0.1 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.

La version 2 - 0.1 d’Owlready est une réécriture complète intégrant un quadstore RDF optimisé. Elle peut désormais charger de grosses ontologies (plusieurs millions de triplets RDF).

Elle peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/Owlready2

Vers Owlready 2… !

Owlready est un module Python pour la programmation orientée ontologie. La version 2 actuellement en cours de développement reprend les fonctionnalités de la première version, en s’appuyant cette fois ci sur un “quadstore” RDF optimisé en SQL. Cette version est désormais capable de gérer de grosses ontologies (plusieurs millions de triplets RDF) avec un bon niveau de performances.

La version de développement d’Owlready2 est disponible ici : https://bitbucket.org/jibalamy/owlready2