• Aide
  • Eurêkoi Eurêkoi

Livre

Python et les ontologies

Résumé

L'ouvrage décrit l'utilisation des ontologies avec le langage Python en version 3 et le module Owlready dans le cadre du web sémantique. De nombreux exemples, notamment dans le domaine biomédical, détaillent la construction d'une ontologie, son intégration à un site web dynamique et son utilisation pour le traitement automatique des connaissances. ©Electre 2019


  • Éditeur(s)
  • Date
    • cop. 2019
  • Notes
    • La couv. porte en plus : "En téléchargement : des exemples d'ontologies, code source des exemples" ; "version numérique offerte! www.editions-eni.fr" ; "+ quiz."
    • La 4e de couv. : "Sur www.editions-eni.fr : l'exemple d'ontologie des bactéries utilisée au fil du livre, les codes sources des exemples du livre, le grand tableau des notations pour les logiques de description et les ontologies formelles"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (310 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02022-3
  • Indice
  • Quatrième de couverture
    • Python et les ontologies

      Ce livre 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.

      À 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.


  • Tables des matières
      • Python et les ontologies

      • Chapitre 1
        Introduction
      • 1. Introduction11
      • 2. À qui s'adresse ce livre ?12
      • 3. Pourquoi les ontologies ?12
      • 4. Pourquoi Python ?14
      • 5. Pourquoi Owlready ?15
      • 6. Plan du livre17
      • 7. Remerciements17
      • Chapitre 2
        Le langage Python : adoptez un serpent !
      • 1. Introduction19
      • 2. Installer Python20
      • 3. Démarrer Python20
      • 4. Syntaxe23
      • 4.1 Commentaires23
      • 4.2 Écrire à l'écran23
      • 4.3 Aide24
      • 4.4 Variables24
      • 4.5 Indentation25
      • 5. Principaux types de données25
      • 5.1 Les nombres entiers (int) et réels (flottant, float)26
      • 5.2 Les booléens (bool)26
      • 5.3 Les chaînes de caractères (str)27
      • 5.4 Les listes (list)29
      • 5.5 Les tuples (n-uplet, tuple)30
      • 5.6 Les dictionnaires (dict et defaultdict)31
      • 5.7 Les ensembles (set)33
      • 5.8 Les fichiers (open)34
      • 5.9 Conversion entre types de données35
      • 6. Conditions (if)36
      • 7. Boucles (for)37
      • 8. Les générateurs40
      • 9. Fonctions (def)41
      • 10. Classes (class)42
      • 10.1 Classes et instances42
      • 10.2 Héritage45
      • 10.3 Méthodes spéciales47
      • 10.4 Fonctions et opérateurs pour la programmation objet47
      • 11. Modules Python49
      • 11.1 Importer un module49
      • 11.2 Installer des modules supplémentaires50
      • 11.3 Installer Owlready250
      • Chapitre 3
        Les ontologies OWL
      • 1. Introduction53
      • 2. Une ontologie... ça ressemble à quoi ?54
      • 3. Créer des ontologies manuellement avec Protégé56
      • 4. Exemple : une ontologie des bactéries56
      • 5. Créer une ontologie60
      • 5.1 Classes61
      • 5.2 Disjonctions61
      • 5.3 Partitions64
      • 5.4 Propriétés de données (DataProperties)65
      • 5.5 Propriétés objet (ObjectProperties)67
      • 5.6 Restrictions69
      • 5.7 Union, intersection et complément72
      • 5.8 Définitions (ou équivalences)73
      • 5.9 Autres constructeurs75
      • 5.10 Individus75
      • 6. Raisonnement automatique77
      • 7. Exercices de modélisation80
      • Chapitre 4
        Accéder aux ontologies en Python
      • 1. Introduction81
      • 2. Importer Owlready81
      • 3. Charger une ontologie82
      • 4. Ontologies importées83
      • 5. Parcourir le contenu de l'ontologie84
      • 6. Accéder aux entités85
      • 6.1 Individus87
      • 6.2 Relations88
      • 6.2.1 Classes91
      • 6.3 Restrictions existentielles93
      • 6.4 Propriétés93
      • 7. Rechercher des entités95
      • 8. Ontologie volumineuse et cache disque97
      • 9. Espaces de nommage99
      • 10. Modifier le rendu des entités99
      • 11. Répertoire local d'ontologies101
      • 12. Recharger une ontologie dans le quadstore102
      • 13. Exemple : créer un site web dynamique à partir d'une ontologie102
      • Chapitre 5
        Créer et modifier des ontologies en Python
      • 1. Introduction107
      • 2. Créer une ontologie vide107
      • 3. Créer des classes108
      • 3.1 Créer des classes dynamiquement110
      • 4. Créer des propriétés110
      • 5. Créer des individus111
      • 6. Modifier des entités : relations et restrictions existentielles112
      • 7. Créer des entités dans un espace de nommage114
      • 8. Renommer des entités114
      • 9. Définitions multiples et déclarations anticipées115
      • 10. Supprimer des entités116
      • 11. Supprimer une ontologie116
      • 12. Enregistrer une ontologie116
      • 13. Importer des ontologies117
      • 14. Synchronisation117
      • 15. Exemple : peupler une ontologie à partir d'un fichier CSV118
      • 15.1 Peuplement par des individus118
      • 15.2 Peuplement par des classes121
      • Chapitre 6
        Constructeurs et restrictions, propriétés de classes
      • 1. Introduction125
      • 2. Créer des constructeurs125
      • 3. Accéder aux paramètres des constructeurs127
      • 4. Restrictions comme propriétés de classe129
      • 5. Classes définies134
      • 6. Exemple : créer l'ontologie des bactéries en Python136
      • 7. Exemple : peupler une ontologie avec des classes définies138
      • 7.1 Peuplement en utilisant les propriétés de classe138
      • 7.2 Peuplement en utilisant les constructeurs140
      • Chapitre 7
        Raisonnement automatique
      • 1. Introduction145
      • 2. Disjonctions145
      • 3. Raisonnement en monde ouvert146
      • 4. Raisonnement en monde fermé ou en monde fermé local148
      • 5. Classes et ontologies inconsistantes150
      • 6. Restriction et raisonnement sur les nombres et les chaînes de caractères152
      • 7. Règles SWRL155
      • 7.1 La syntaxe SWRL156
      • 7.2 Règles SWRL avec Protégé158
      • 7.3 Règles SWRL avec Owlready159
      • 7.4 Limites des règles SWRL162
      • 8. Exemple : système d'aide à la décision à base d'ontologie163
      • Chapitre 8
        Gestion du texte : annotations, langue, recherche
      • 1. Introduction169
      • 2. Annoter les entités169
      • 3. Textes multilingues170
      • 4. Annoter les constructeurs171
      • 5. Annoter les propriétés et les relations172
      • 6. Créer de nouvelles classes d'annotations172
      • 7. Métadonnées de l'ontologie173
      • 8. Recherche plein texte173
      • 9. Exemple : utiliser DBpedia en Python175
      • 9.1 Charger DBpedia176
      • 9.2 Un moteur de recherche pour DBpedia182
      • Chapitre 9
        Accéder aux terminologies médicales et à UMLS
      • 1. Introduction185
      • 2. UMLS185
      • 3. Importer des terminologies à partir d'UMLS186
      • 4. Importer la CIM10 en français187
      • 5. Charger les terminologies après importation188
      • 6. Utiliser la CIM10 (ICD10)188
      • 7. Utiliser la SNOMED CT193
      • 8. Utiliser les concepts unifiés (CUI) d'UMLS197
      • 9. Transcoder entre terminologies199
      • 10. Manipuler des ensembles de concepts201
      • 11. Importer toutes les terminologies d'UMLS204
      • 12. Exemple : relier l'ontologie des bactéries à UMLS205
      • 13. Exemple : un navigateur multiterminologique207
      • Chapitre 10
        Mixer Python et OWL
      • 1. Introduction213
      • 2. Ajouter des méthodes Python aux classes OWL213
      • 3. Associer un module Python à une ontologie215
      • 3.1 Import manuel216
      • 3.2 Import automatique216
      • 4. Polymorphisme sur inférence de type217
      • 5. Introspection218
      • 6. Inverser les restrictions220
      • 7. Exemple : utiliser Gene Ontology et gérer les relations « partie-de »222
      • 8. Exemple : un « site de rencontre » pour les protéines225
      • Chapitre 11
        Travailler avec les triplets RDF et les mondes
      • 1. Introduction233
      • 2. Les triplets RDF233
      • 3. Manipuler les triplets RDF avec RDFlib235
      • 3.1 Accéder aux triplets RDF235
      • 3.2 Créer des triplets RDF via RDFlib237
      • 3.3 Supprimer des triplets RDF via RDFlib237
      • 4. Effectuer des requêtes SPARQL238
      • 4.1 Recherche avec SPARQL238
      • 4.2 Préfixes SPARQL240
      • 4.3 Création de triplets avec SPARQL241
      • 4.4 Suppression de triplets avec SPARQL242
      • 5. Accéder aux triplets RDF via Owlready243
      • 6. Interroger directement la base de données SQLite3247
      • 7. Créer plusieurs mondes isolés250
      • Annexes
      • 1. Les logiques de description253
      • 2. Notations pour les ontologies formelles256
      • 3. Manuel de référence263
      • 3.1 Monde (classe World)263
      • 3.2 Ontologie (classe Ontology)266
      • 3.3 Classe (classe ThingClass)269
      • 3.4 Individu (classe Thing)272
      • 3.5 Propriété (classe PropertyClass et descendantes)274
      • 3.6 Constructeurs (classe ClassConstruct et descendantes)278
      • 3.6.1 Restriction (classe Restriction)278
      • 3.6.2 Intersection (classe And)278
      • 3.6.3 Union (classe Or)278
      • 3.6.4 Complément (classe Not)279
      • 3.6.5 Inverse d'une propriété (clase OneOf)279
      • 3.6.6 Ensemble d'individus (clase OneOf)279
      • 3.7 Clases pour les règles SWRL279
      • 3.7.1 Variable (class Variable)279
      • 3.7.2 Règle (class Imp)279
      • 3.7.3 Atome d'appartenance à une classe (class ClassAtom)280
      • 3.7.4 Atome d'appartenance à un type de donnée (class DataRangeAtom)281
      • 3.7.5 Atome de valeur de propriété objet (class IndivieualPropertyAtom)281
      • 3.7.6 Atome de valeur de propriété de donnée (class DatavlauedPropertyAtom)282
      • 3.7.7 Atome d'individus identiques (class SameIndividualAtom)282
      • 3.7.8 Atome d'individus différents (class DifferentIndividualAtom)282
      • 3.7.9 Atome de fonction prédéfinie (« builtin », class BuiltinAtom)283
      • 3.8 PyMedTermino2283
      • 3.8.1 Terminologie283
      • 3.9 Fonctions globales289
      • Index291

  • Origine de la notice:
    • Electre
  • Disponible - 681.234 LAM

    Niveau 3 - Informatique