English book "Ontologies with Python"

My book "Ontologies with Python" has just been published by Apress editions.

This 350-pages book describes how to use OWL 2.0 ontologies in Python 3.x, with the Owlready2 Python module for ontology-oriented programming.

Use ontologies in Python, with the Owlready2 module developed for ontology-oriented programming. You will start with an introduction and refresher on Python and OWL ontologies. Then, you will dive straight into how to access, create, and modify ontologies in Python. Next, you will move on to an overview of semantic constructs and class properties followed by how to perform automatic reasoning. You will also learn about annotations, multilingual texts, and how to add Python methods to OWL classes and ontologies. Using medical terminologies as well as direct access to RDF triples is also covered.

Python is one of the most used programming languages, especially in the biomedical field, and formal ontologies are also widely used. However, there are limited resources for the use of ontologies in Python. Owlready2, downloaded more than 60,000 times, is a response to this problem, and this book is the first one on the topic of using ontologies with Python.

What You Will Learn:

  • Use Owlready2 to access and modify OWL ontologies in Python

  • Publish ontologies on dynamic websites

  • Perform automatic reasoning in Python

  • Use well-known ontologies, including DBpedia and Gene Ontology, and terminological resources, such as UMLS (Unified Medical Language System)

  • Integrate Python methods in OWL ontologies

Who Is This Book For: Beginner to experienced readers from biomedical sciences and artificial intelligence fields would find the book useful.

The book is an updated translation of the French book "Python et les ontologies" published at ENI éditions last year.

More informations on the editor website:

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

Owlready2 0.26 has been released!

Owlready is a Python module for ontology-oriented programming. It can load OWL 2.0 ontologies and manipulate them transparently in Python.

This new release includes a new module for displaying entities in Description Logics (DL), and bugfixes.

Here are the changes:

  • 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

The new version be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/Owlready2

Owlready2 0.25 has been released!

Owlready is a Python module for ontology-oriented programming. It can load OWL 2.0 ontologies and manipulate them transparently in Python.

This new release includes a few new features, and bugfixes.

Here are the changes:

  • 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()

The new version be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/Owlready2

New journal paper "Identifying the mitochondrial DNA mutations that cause cancer"

I have published a new journal paper:

journal [j64] Mbaye F, Lamy JB, Sembene M. Identifying the mitochondrial DNA mutations that cause cancer. Research Outbreak 2020;117:50-53

New journal paper "How to interact with medical terminologies?"

I have published a new journal paper:

journalif [j63] Marcilly R, Douze L, Ferré S, Audeh B, Bobed C, Lillo-Le Louët A, Lamy JB, Bousquet C. How to interact with medical terminologies? Formative usability evaluations comparing three approaches for supporting the use of MedDRA by pharmacovigilance specialists. BMC Medical Informatics and Decision Making 2020;20:261

Presentation at iV 2020

I presented my works at the Information Visualisation (iV) 2020 conference.

The paper is entitled "Comparison of four visual analytics techniques for the visualization of adverse drug event rates in clinical trials" and is available here and the presentation there or in video below:

iv2020_video.mp4

A presentation and an award at ICIMTH 2020!

I presented my works on the use of rainbow boxes for determining synergies between drugs, at ICIMTH 2020.

My paper was entitled "Visualization of potential drug synergies". It is available here and the presentation just below in video:

icimth_video.mp4

And I obtained a Best paper award!

My students and colleagues also presented four papers:

New journal paper "Implementation of an ontological reasoning to support the guideline-based management of primary breast cancer patients in the DESIREE project"

I have published a new journal paper:

journalif [j60] Bouaud J, Pelayo S, Lamy JB, Prébet C, Ngo C, Teixeira L, Guezennec G, Séroussi B. Implementation of an ontological reasoning to support the guideline-based management of primary breast cancer patients in the DESIREE project. Artificial Intelligence in Medicine 2020;108:101922

New preprint "A data science approach to drug safety"

I have published a new preprint:

preprint [p1] Lamy JB. A data science approach to drug safety: Semantic and visual mining of adverse drug events from clinical trials of pain treatments. Arxiv preprint arxiv:2006.16910 2020

Owlready2 0.24 has been released!

Owlready is a Python module for ontology-oriented programming. It can load OWL 2.0 ontologies and manipulate them transparently in Python.

This new release includes several small changes and bugfixes. It now uses the Git versionning system, instead of Mercurial.

Here are the changes:

  • 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

The new version be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/Owlready2

New journal paper "Explainable decision support through the learning and visualization of preferences from a formal ontology of antibiotic treatments"

I have published a new journal paper:

journalif [j54] Lamy JB, Sedki K, Tsopra R. Explainable decision support through the learning and visualization of preferences from a formal ontology of antibiotic treatments. Journal of Biomedical Informatics 2020;104C:103407

New journal paper "Somatic mitochondrial mutations in oral cavity cancers among senegalese patients"

I have published a new journal paper:

journal [j50] Toure S, Mbaye F, Gueye MD, Fall M, Dem A, Lamy JB, Sembene M. Somatic mitochondrial mutations in oral cavity cancers among senegalese patients. Asian Pacific journal of cancer prevention (APJCP) 2019;20(7):2203-2208

Owlready2 0.23 has been released!

Owlready is a Python module for ontology-oriented programming. It can load OWL 2.0 ontologies and manipulate them transparently in Python.

This new release includes several small changes and bugfixes.

Here are the changes:

  • 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

The new version be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/Owlready2

New journal paper "AntibioGame®"

I have published a new journal paper:

journalif [j53] Tsopra R, Courtine M, Sedki K, Eap D, Cabal M, Cohen S, Bouchaud O, Mechaï F, Lamy JB. AntibioGame®: A serious game for teaching medical students about antibiotic use. International Journal of Medical Informatics 2020;136:104074