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

Le blog et site personnel de Jean-Baptiste Lamy (Jiba).

Mon livre "Python et les ontologies" vient de sortir aux éditions ENI !

...

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

La moutarde

_images/moutarde.png

Papa chanteur

_images/chanson.png

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

Bébé interactif

_images/interactif.png

Owlready2 0.19 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 apporte un meilleur support de SPARQL, des recherches plus rapides et ajoute la syntaxe "individu.INVERSE_propriété". Elle supporte également le nouveau format de fichier compressé UMLS.

Voici les modifications :

  • Consider symmetric properties as their own inverse properties

  • Update Python objects after basic SPARQL update/delete queries (works on user-defined properties, hierarchical properties (type/subclassof) and equivalence properties)

  • Add individual.INVERSE_property

  • Add Class.INDIRECT_is_a

  • INDIRECT_is_a / INDIRECT_is_instance_of now include class contructs. ancestors() has a 'include_constructs' parameter, which defaults to False.

  • Add more aliases for XMLSchema datatypes

  • Add is_a property to class constructs

  • Add bottomObjectProperty and bottomDataProperty

  • Support ReflexiveProperties in individual.INDIRECT_property

  • Optimize Thing.subclasses()

  • Optimize search() with multiple criteria, including those done by PyMedTermino

  • Add support for destroy_entity(SWRL_rule)

  • Add support for UMLS "metathesaurus" format in addition to "full" format

  • Bugfixes: - After reasoning, keep all equivalent classes as parents of individuals (as they may have methods) - Fix IndividualPropertyAtom when creating SWRL rule - Fix SWRL parser - Fix RDF serialization for nested RDF lists - Fix removing inverse property (i.e. Prop.inverse = None) - Fix datetime parsing for date with time zone or milliseconds

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

Le mensiversaire

_images/mensiversaire.png
dans Boulot

Deux présentations à iV 2019 !

J'ai présenté mes travaux sur les boîtes arc-en-ciel au congrès International Conference Information Visualisation (iV) 2019.

Le premier article est intitulé "Visual explanation of simple neural networks using interactive rainbow boxes" et disponible ici et la présentation .

Le second article est intitulé "Proportional visualization of genotypes and phenotypes with rainbow boxes: methods and application to sickle cell disease" et disponible ici et la présentation . Il s'agit d'un travail en collaboration avec un doctorant et des collègues Sénégalais et le CERPAD.

dans Boulot

Présentation à IC 2019 !

J'ai présenté des travaux sur l'apprentissage de préférences au congrès Ingénierie des Connaissances (IC) 2019, lors de la Plateforme Francophone d'Intelligence Artificiel (PFIA).

L'article est intitulé "Apprentissage de préférences à partir d'une ontologie formelle : méthodes et application en antibiothérapie" et disponible ici et la présentation .

Les biberons

_images/biberon.png

Martine

_images/martine.png

Owlready2 0.18 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 le support UMLS sous Windows (problème d'encodage de caractères) dans PyMedTermino2. Elle évite également les duplications de triplets RDF dans le quadstore.

Voici les modifications :

  • Add UNIQUE constraints for preventing dupplicated RDF triples in the quadstore

  • Add Individual.INDIRECT_is_a / Individual.INDIRECT_is_instance_of

  • Add isinstance_python() (faster than isinstance(), but do not consider equivalent_to relations)

  • Bugfixes: - Force UTF-8 encoding when importing UMLS - Be more tolerant when loading OWL file

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

Le livre de bébé

_images/livre_de_bebe.png
dans Boulot

Nouvel article "RainBio"

J'ai publié un nouvel article :

journal [j26] Lamy JB, Tsopra R. RainBio: Proportional visualization of large sets in biology. IEEE Transactions on Visualisation and Computer Graphics 2019;accepted