Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies - Université Pierre et Marie Curie Accéder directement au contenu
Article Dans Une Revue Artificial Intelligence in Medicine Année : 2017

Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies

Résumé

Objective: Ontologies are widely used in the biomedical domain. While many tools exist for the edition, alignment or evaluation of ontologies, few solutions have been proposed for ontology programming interface, i.e. for accessing and modifying an ontology within a programming language. Existing query languages (such as SPARQL) and APIs (such as OWLAPI) are not as easy-to-use as object programming languages are. Moreover, they provide few solutions to difficulties encountered with biomedical ontologies. Our objective was to design a tool for accessing easily the entities of an OWL ontology, with high-level constructs helping with biomedical ontologies. Methods: From our experience on medical ontologies, we identified two difficulties: (1) many entities are represented by classes (rather than individuals), but the existing tools do not permit manipulating classes as easily as individuals, (2) ontologies rely on the open-world assumption, whereas the medical reasoning must consider only evidence-based medical knowledge as true. We designed a Python module for ontology-oriented programming. It allows access to the entities of an OWL ontology as if they were objects in the programming language. We propose a simple high-level syntax for managing classes and the associated " role-filler " constraints. We also propose an algorithm for performing local closed world reasoning in simple situations. Results: We developed Owlready, a Python module for a high-level access to OWL ontologies. The paper describes the architecture and the syntax of the module version 2. It details how we integrated the OWL ontology model with the Python object model. The paper provides examples based on Gene Ontology (GO). We also demonstrate the interest of Owlready in a use case focused on the automatic comparison of the contraindications of several drugs. This use case illustrates the use of the specific syntax proposed for manipulating classes and for performing local closed world reasoning. Conclusion: Owlready has been successfully used in a medical research project. It has been published as Open-Source software and then used by many other researchers. Future developments will focus on the support of vagueness and additional non-monotonic reasoning feature, and automatic dialog box generation.
Fichier principal
Vignette du fichier
article5.pdf (363 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01592746 , version 1 (25-09-2017)

Identifiants

Citer

Jean-Baptiste Lamy. Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies. Artificial Intelligence in Medicine, 2017, 80, pp.11 - 28. ⟨10.1016/j.artmed.2017.07.002⟩. ⟨hal-01592746⟩
1373 Consultations
13342 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More