Ontologies with Python
Ontologies with Python, Apress
Programming OWL 2.0 Ontologies with Python and Owlready2
Von Lamy Jean-Baptiste, im heise Shop in digitaler Fassung erhältlich
Programming OWL 2.0 Ontologies with Python and Owlready2
Von Lamy Jean-Baptiste, im heise Shop in digitaler Fassung erhältlich
Produktinformationen "Ontologies with Python"
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.
Lamy Jean-Baptiste is a senior lecturer at Paris 13 University and a member of the LIMICS, a research lab focused on biomedical informatics. He is also the developer of the Owlready2 Python module that allows access to OWL ontologies. He has developed many research prototypes, and one of them (VCM iconic medical language) has been patented in the US, with three licenses sold to industrial partners.
Lamy speaks regularly at artificial intelligence and medical informatics conferences, has written over 50 journal papers, and is a moderator on the Owlready forum on Nabbles. He was awarded the best paper award at MEDINFO 2019, the largest international conference in medical informatics.
Chapter 1: Introduction
1. Who is this book for?
2. Why ontologies?
3. Why Python?
4. Why Owlready?
5. Book outline
6. Acknowledgements
Chapter 2: Python Language: Adopt a Snake!
1. Installing Python
2. Starting Python
3. Syntax
4. Main datatypes
5. Conditions (if)
6. Loops (for)
7. Generators
8. Functions (def)
9. Classes (class)
10. Python modules
11. Installing Owlready2
12. Summary
Chapter 3: OWL Ontologies
1. An ontology... what does it look like?
2. Creating ontologies manually with the Protégé editor
3. Example: An ontology of bacteria
4. Creating a new ontology
• Classes
• Disjoints
• Partitions • Data properties
• Object properties
• Restrictions
• Union, intersection, and complement
• Definitions (equivalent to relations)
• Individuals
• Other constructs
5. Automatic reasoning
6. Modeling exercises
7. Summary
Chapter 4: Accessing Ontologies in Python
1. Importing Olwready2. Loading an ontology
3. Imported ontologies
4. Listing the content of the ontology
5. Accessing to entities
• Individuals
• Relations
• Classes
• Existential restrictions
• Properties
6. Searching for entities
7. Huge ontologies and disk cache
8. Namespaces
9. Modifying entity rendering as text
10. Local directory of ontologies
11. Reloading an ontology in the quadstore
12. Example: Creating a dynamic website from an ontology
13. Summary
Chapter 5: Creating and Modifying Ontologies in Python
1. Creating an empty ontology 2. Creating classes
3. Creating properties
4. Creating individuals
5. Modifying entities: Relations and existential restrictions
6. Creating entities within a namespace
7. Renaming entities (refactoring)
8. Multiple definitions and forward declarations
9. Destroying entities
10. Destroying an ontology
11. Saving an ontology
12. Importing ontologies
13. Synchronization
14. Example: Populating an ontology from a CSV file
15. Summary
Chapter 6: Constructs, Restrictions, Class Properties
1. Creating constructs
2. Accessing constructs parameters
3. Restrictions as class properties
4. Defined classes
5. Example: Creating the ontology of bacteria in Python
6. Example: Populating an ontology with defined classes
7. Summary
Chapter 7: Automatic Reasoning
1. Disjoints
2. Open-world assumption
3. Reasoning in a closed world, or in a local closed world
4. Inconsistent classes and inconsistent ontologies
5. Restriction and reasoning on numbers and strings
6. SWRL rules
7. Example: An ontology-based decision support system
8. Summary
Chapter 8: Annotations, Multilingual Texts and Full Text Search
1. Annotating entities
2. Multilingual texts
3. Annotating constructs
4. Annotating properties and relations
5. Creating new annotation classes
6. Ontology metadata
7. Full text search
8. Example: Using DBpedia in Python
• Loading DBpedia
• A search engine for Dbpedia
9. Summary
Chapter 9: Using Medical Terminologies with PyMedTermino and UMLS
1. UMLS
2. Importing terminologies from UMLS
3. Loading terminologies after initial importation
4. Using ICD10
5. Using SNOMED CT
6. Using UMLS unified concepts (CUI)
7. Transcoding between terminologies
8. Manipulating sets of concepts
9. Importing all terminologies in UMLS
10. Example: Linking the ontology of bacteria with UMLS
11. Example: A multi-terminology browser
12. Summary
Chapter 10: Mixing Python and OWL
1. Adding Python methods to OWL classes
2. Associating a Python module to an ontology
• Manual import
• Automatic import
3. Polymorphism with type inference
4. Introspection
5. Reading restrictions backward
6. Example: using Gene Ontology and managing part-of relations
7. Example: A “dating site” for proteins
8. Summary
Chapter 11: Working with RDF Triples and Worlds
1. RDF triples
2. Manipulating RDF triples with RDFlib
3. Performing SPARQL requests
4. Accessing RDF triples with Owlready
5. Interrogating the SQLite3 database directly
6. Creating several, isolated, world
7. Summary
Annex A: Description logics
Annex B: Notations for formal ontologies
Annex C: Reference manual
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.
Lamy Jean-Baptiste is a senior lecturer at Paris 13 University and a member of the LIMICS, a research lab focused on biomedical informatics. He is also the developer of the Owlready2 Python module that allows access to OWL ontologies. He has developed many research prototypes, and one of them (VCM iconic medical language) has been patented in the US, with three licenses sold to industrial partners.
Lamy speaks regularly at artificial intelligence and medical informatics conferences, has written over 50 journal papers, and is a moderator on the Owlready forum on Nabbles. He was awarded the best paper award at MEDINFO 2019, the largest international conference in medical informatics.
Chapter 1: Introduction
1. Who is this book for?
2. Why ontologies?
3. Why Python?
4. Why Owlready?
5. Book outline
6. Acknowledgements
Chapter 2: Python Language: Adopt a Snake!
1. Installing Python
2. Starting Python
3. Syntax
4. Main datatypes
5. Conditions (if)
6. Loops (for)
7. Generators
8. Functions (def)
9. Classes (class)
10. Python modules
11. Installing Owlready2
12. Summary
Chapter 3: OWL Ontologies
1. An ontology... what does it look like?
2. Creating ontologies manually with the Protégé editor
3. Example: An ontology of bacteria
4. Creating a new ontology
• Classes
• Disjoints
• Partitions • Data properties
• Object properties
• Restrictions
• Union, intersection, and complement
• Definitions (equivalent to relations)
• Individuals
• Other constructs
5. Automatic reasoning
6. Modeling exercises
7. Summary
Chapter 4: Accessing Ontologies in Python
1. Importing Olwready2. Loading an ontology
3. Imported ontologies
4. Listing the content of the ontology
5. Accessing to entities
• Individuals
• Relations
• Classes
• Existential restrictions
• Properties
6. Searching for entities
7. Huge ontologies and disk cache
8. Namespaces
9. Modifying entity rendering as text
10. Local directory of ontologies
11. Reloading an ontology in the quadstore
12. Example: Creating a dynamic website from an ontology
13. Summary
Chapter 5: Creating and Modifying Ontologies in Python
1. Creating an empty ontology 2. Creating classes
3. Creating properties
4. Creating individuals
5. Modifying entities: Relations and existential restrictions
6. Creating entities within a namespace
7. Renaming entities (refactoring)
8. Multiple definitions and forward declarations
9. Destroying entities
10. Destroying an ontology
11. Saving an ontology
12. Importing ontologies
13. Synchronization
14. Example: Populating an ontology from a CSV file
15. Summary
Chapter 6: Constructs, Restrictions, Class Properties
1. Creating constructs
2. Accessing constructs parameters
3. Restrictions as class properties
4. Defined classes
5. Example: Creating the ontology of bacteria in Python
6. Example: Populating an ontology with defined classes
7. Summary
Chapter 7: Automatic Reasoning
1. Disjoints
2. Open-world assumption
3. Reasoning in a closed world, or in a local closed world
4. Inconsistent classes and inconsistent ontologies
5. Restriction and reasoning on numbers and strings
6. SWRL rules
7. Example: An ontology-based decision support system
8. Summary
Chapter 8: Annotations, Multilingual Texts and Full Text Search
1. Annotating entities
2. Multilingual texts
3. Annotating constructs
4. Annotating properties and relations
5. Creating new annotation classes
6. Ontology metadata
7. Full text search
8. Example: Using DBpedia in Python
• Loading DBpedia
• A search engine for Dbpedia
9. Summary
Chapter 9: Using Medical Terminologies with PyMedTermino and UMLS
1. UMLS
2. Importing terminologies from UMLS
3. Loading terminologies after initial importation
4. Using ICD10
5. Using SNOMED CT
6. Using UMLS unified concepts (CUI)
7. Transcoding between terminologies
8. Manipulating sets of concepts
9. Importing all terminologies in UMLS
10. Example: Linking the ontology of bacteria with UMLS
11. Example: A multi-terminology browser
12. Summary
Chapter 10: Mixing Python and OWL
1. Adding Python methods to OWL classes
2. Associating a Python module to an ontology
• Manual import
• Automatic import
3. Polymorphism with type inference
4. Introspection
5. Reading restrictions backward
6. Example: using Gene Ontology and managing part-of relations
7. Example: A “dating site” for proteins
8. Summary
Chapter 11: Working with RDF Triples and Worlds
1. RDF triples
2. Manipulating RDF triples with RDFlib
3. Performing SPARQL requests
4. Accessing RDF triples with Owlready
5. Interrogating the SQLite3 database directly
6. Creating several, isolated, world
7. Summary
Annex A: Description logics
Annex B: Notations for formal ontologies
Annex C: Reference manual
Artikel-Details
- Anbieter:
- Apress
- Autor:
- Lamy Jean-Baptiste
- Artikelnummer:
- 9781484265529
- Veröffentlicht:
- 17.12.20