Owlready2 0.31 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 permet d'ouvrir des points de contact SPARQL (endpoints) avec le nouveau moteur SPARQL, et corrige plusieurs bogues, notamment dans le moteur SPARQL.

Voici les modifications :

  • Can open SPARQL endpoints (see module owlready2.sparql.endpoint and doc)

  • Support ClaML file format in PyMedTermino2 for French ICD10

  • Bugfixes: - Fix prefix in SPARQL that does not correspond to an existing ontology - Fix ! in SPARQL FILTER - Fix Thing.subclasses() so as it now returns classes that have parent constructs but no parent named classes - Fix metaclass of FusionClass when creating individuals belonging to several classes, including one from PyMedTermino - Fix Prop[individual] for functional properties with no relation for the given individual

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

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

Owlready2 0.29 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 :

  • Bugfixes: - Fix installation as a requirement of another Python module

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

Owlready2 0.28 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 corrige un problème d'installation sous Windows, et améliore également l'exécution des raisonneurs sous Windows (pas d'apparition de fenêtre DOS).

Voici les modifications :

  • Fix installation under Windows (contributed by CVK)

  • Under Windows, run the reasoners without opening a DOS windows

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

Owlready2 0.27 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 :

  • When Pellet is called with debug >= 2 on an inconsistent ontology, Pellet explain output is displayed (contributed by Carsten Knoll)

  • Update doc theme (contributed by Carsten Knoll)

  • Adapt setup.py to allow 'python setup.py develop' and 'pip install -e .' (contributed by Carsten Knoll)

  • Add 'url' argument to Ontology.load() method

  • Add 'read_only' argument to World.set_backend() method

  • Bugfixes: - Fix XML/RDF file parsing/writing for entity having ':' in their name - Fix destroy_entity(), was leaking some RDF triples when class contructs or equivalent_to were involved - Fix 'Class1(entityname); Class2(entityname)' (was changing the individual namespace) - Fix annotation request on RDF annotation properties, e.g. label.label

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

Livre en anglais "Ontologies with Python"

Ontologies with Python, Jean-Baptiste Lamy, Apress Éditions, 350 pages

Mon livre "Ontologies with Python" vient de sortir aux éditions Apress.

Ce livre (350 pages) s'adresse à toute personne qui souhaite apprendre à utiliser le langage Python (en version 3) et le module Owlready2 pour manipuler et construire des ontologies, c'est-à-dire des connaissances structurées accessibles par un ordinateur, dans le but de les publier sous forme de sites web dynamiques et d'effectuer des raisonnements automatiques. Il intéressera plus particulièrement les informaticiens et développeurs pour le web sémantique ou encore les scientifiques dans le domaine de l'intelligence artificielle ou du biomédical.

Il s'agit d'une traduction mise à jour du livre "Python et les ontologies" paru en français chez ENI éditions.

Plus d'informations sur le site de l'éditeur :

https://www.apress.com/fr/book/9781484265512

Owlready2 0.26 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 inclut un nouveau module pour afficher les entités en Logiques de Description (DL), et des corrections de bogues.

Voici les modifications :

  • Module owlready2.dl_render allows rendering entities to Description Logics (contributed by Simon Bin)

  • Bugfixes: - Adjustment in the comparison of strings from SameAs and DiferrentFrom, allowing equal comparison regardless of the case-sensitive (contributed by Thiago Feijó) - Fix transitive equivalent_to relations between classes and OWL constructs - Fix AnnotationProperty[entity] where entity is a predefined OWL entity (e.g. comment or Thing) - Fix entity.AnnotationProperty where entity is a predefined OWL entity (e.g. comment or Thing) - Fix HermiT when reasoning on several ontologies with imports statement - Ignore "A type A", with a warning

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

Owlready2 0.25 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 inclut plusieurs nouveautés, et des corrections de bogues.

Voici les modifications :

  • Allow the declaration of custom datatypes with declare_datatype()

  • Support the annotation of annotations (e.g. a comment on a comment)

  • search() now support the "subproperty_of" argument

  • search() now support the "bm25" argument (for full-text searches)

  • Bugfixes: - Fix Concept.descendant_concepts() in PymedTermino2 - Update already loaded properties when new ontologies are loaded - Now accept %xx quoted characters in file:// URL - Improve error message on punned entities - Property.get_relations() now considers inverse properties - Fix "AttributeError: 'mappingproxy' object has no attribute 'pop'" error - Fix Thing.instances()

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

Owlready2 0.24 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 inclut des changements mineurs et des corrections de bogues. Elle utilise désormais le gestionnaire de version Git (au lieu de Mercurial).

Voici les modifications :

  • Support intersection of searches (e.g. World.search(...) & World.search(...))

  • Add owlready2.reasoning.JAVA_MEMORY

  • Move development repository to Git

  • Bugfixes: - Fix parsing of NTriples files that do not end with a new line - Fix KeyError with Prop.python_name when several properties share the same name - Fix get_ontology() calls in Python module imported by ontologies in a World that is not default_world - Fix use of PyMedTermino2 in a World that is not default_world - Fix World.as_rdflib_graph().get_context(onto) for ontology added after the creation of the RDFLIB graph - Fix destroying SWRL rules - Fix disjoint with non-atomic classes

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

Owlready2 0.23 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 inclut des changements mineurs et des corrections de bogues.

Voici les modifications :

  • Add get_parents_of(), get_instances_of(), get_children_of() methods to ontology, for querying the hierarchical relations defined in a given ontology

  • Use Thing as default value for restrictions with number, instead of None

  • Add 'filter' parameter to save(), for filtering the entities saved (contributed by Javier de la Rosa)

  • Bugfixes: - Fix value restriction with the false value - Fix blank node loading from different ontologies - Fix constructs reused by several classes - Fix 'Class.is_a = []' was not turning the list into an Owlready list - Fix destroy_entity() - was not destroying the IRI of the entity - Improve setup.py: ignore Cython if Cython installation fails

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

Owlready2 0.22 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 :

  • Add support for disjoint unions (Class.disjoint_unions)

  • Add deepcopy support on class constructs, and automatically deep-copy constructs when needed (i.e. no more OwlReadySharedBlankNodeError)

  • Support the creation of blank nodes with RDFlib

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

Owlready2 0.21 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 et inclut désormais Pellet 2.3.1 (la même version que dans Protégé) et non la version 2.4 (qui semble présenter des problèmes avec certains "builtins" SWRL).

Voici les modifications :

  • Use Pellet 2.3.1 (same version as Protégé) instead of 2.4 (which has a bug in SWRL for many builtin predicates including equals and matches)

  • Much faster mangement of annotations on relations

  • Bugfixes: - Fix bug on blank node in RDFlib/SPARQL support - Fix bug on blank node deletion in RDFlib/SPARQL support - Fix data loss in Restriction modification - Fix 'no query solution' error in search() - Fix literal support in RDF lists, causing "TypeError: '<' not supported between instances of 'NoneType' and 'int'" when saving ontologies - Fix DifferentFrom SWRL builtin - Fix string parsing in SWRL rules - Fix string and boolean literal representation (str/repr) in SWRL rules - Fix the inverse of subproperties having a symmetric superproperty

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

Livre "Python et les ontologies"

Python et les ontologies, Jean-Baptiste Lamy, ENI Éditions, 310 pages

Mon livre "Python et les ontologies" est sorti aux éditions ENI.

Ce livre (310 pages) s'adresse à toute personne qui souhaite apprendre à utiliser le langage Python (en version 3) et le module Owlready2 pour manipuler et construire des ontologies, c'est-à-dire des connaissances structurées accessibles par un ordinateur, dans le but de les publier sous forme de sites web dynamiques et d'effectuer des raisonnements automatiques. Il intéressera plus particulièrement les informaticiens et développeurs pour le web sémantique ou encore les scientifiques dans le domaine de l'intelligence artificielle ou du biomédical.

Après une introduction sur les ontologies et sur le module Owlready qui permet la programmation orientée ontologie, les deux chapitres qui suivent donnent au lecteur quelques rappels sur Python et sur les ontologies OWL. L'auteur présente ensuite les bases d'Owlready et montre comment accéder à des ontologies existantes en Python, comment en créer et en modifier et comment gérer des classes et des constructeurs logiques.

Deux chapitres sont ensuite consacrés à des fonctions spécifiques que peuvent offrir les ontologies : le raisonnement automatique et la gestion du texte (multilinguisme, recherche textuelle). Pour finir, l'auteur traite de points plus spécifiques comme les terminologies médicales, la création de classes mixtes Python-OWL et l'accès direct aux triplets RDF.

Basé notamment sur de nombreux exemples d'applications en lien avec le domaine biomédical, ce livre montre comment construire une petite ontologie des bactéries, comment l'intégrer à un site web dynamique et comment l'utiliser pour l'aide à la décision. D'autres exemples s'appuient sur des ontologies et des ressources de référence telles que Gene Ontology, UMLS (Unified Medical Language System) et DBpedia.

A l'issue de la lecture de ce livre, le lecteur sera ainsi en mesure d'intégrer des ontologies à ses applications et sites web Python. Des éléments complémentaires sont disponibles en téléchargement.

Plus d'informations sur le site de l'éditeur :

https://www.editions-eni.fr/livre/python-et-les-ontologies-9782409020223

Owlready2 0.20 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 un bogue important dans le support d'UMLS.

De plus, elle ne considère plus comme fonctionnelles les propriétés associées à des restrictions de type exactly-1 ou max-1. Cette fonctionnalité s'avère en pratique plus gênante qu'autre chose. Si nécessaire, vous pouvez revenir au comportement précédent de la manière suivante :

import owlready2.prop
owlready2.prop.RESTRICTIONS_AS_FUNCTIONAL_PROPERTIES = True

Voici les modifications :

  • Add support for undoable destroy_entity()

  • Small database optimizations

  • No longer treat properties associated with exactly-1 or max-1 restriction as functional properties, returning single values instead of a list

  • Bugfixes: - Fix performance bug on UMLS mapping in PyMedTermino

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