developing medical informatics ontologies with protégé kokkinaki alexandra lab of medical...
Post on 22-Dec-2015
223 views
TRANSCRIPT
![Page 1: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/1.jpg)
Developing Medical Informatics Ontologies with Protégé
Kokkinaki Alexandra
Lab of Medical [email protected]
![Page 2: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/2.jpg)
Tutorial materials The Protégé application:
copy the Protégé-2000 directory into your “Program Files” or “Applications” folder
The tutorial example:copy the “Wine” folder on your hard disk
Examples of Medical Informatics ontologiescopy the “Medical Informatics” examples on your disk
Slides from the tutorial (AMIA2003-Protege-Tutorial.ppt)
![Page 3: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/3.jpg)
Outline
Ontology development basics What is an ontology and why do we need one?
The ECG vs wine ontology will be analyzed
A step-by-step guide to ontology development
An overview of Protégé Medical Informatics ontologies Hands on: Design part of ECG ontology in Protégé.
![Page 4: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/4.jpg)
Γνώση και οντολογίες
Τι είναι γνώση: Ένα σύνολο από δεδομένα με σημασιολογικό
περιεχόμενο
Οι οντολογίες χρησιμοποιούνται για την αναπαράσταση γνώσης
![Page 5: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/5.jpg)
Οντολογία (Ορισμός)
Στη φιλοσοφία Η επιστήμη της ύπαρξης (Αριστοτέλης)
Στην επιστήμη και στην τεχνητή νοημοσύνη Αποτελείται από τις ρητές προδιαγραφές της
αντίληψης για τον κόσμο (Gruber) “an explicit specification of conceptualisation”
H τυπική προδιαγραφή μίας κοινής αντίληψης για τον κόσμο (Borst) “a formal specification of a shared conceptualisation
![Page 6: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/6.jpg)
What Is An Ontology
An ontology is an explicit description of a domain consisting of: Concepts (Classes)
Classes are the focus of most ontologies. Classes describe concepts in the domain. For example, a class of ECGs represents all ECGs. Specific ECGs are instances of this class.
Class/subclass hierarchy A class can have subclasses that represent concepts that are more
specific than the superclass. For example, we can divide the class of Heart Diseases in:
Atrial abnormalities, Cardiac arrhythmia, Cardiac hyperthtophy, Cardiomyopathies….
![Page 7: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/7.jpg)
![Page 8: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/8.jpg)
What Is An Ontology
An ontology also consists of: properties and attributes of concepts (slots)
Slots describe properties of classes and instances: Patient with patientId =XXXX who is a 40 year old Male
Instances of the class Patient will have slots describing their age, address, race, sex etc
constraints on properties and attributes age <100, race {Caucasian, Black, Oriental)
Individuals (often, but not always) PatientXXX, Amiodarone etc
![Page 9: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/9.jpg)
Ontology Examples
Taxonomies on the Web Yahoo! Categories
The Yahoo! Directory is a catalog of sites organized into subject-based categories and sub-categories. All of
the site listings in the Directory are contained 14 main categories on Yahoo! Directory:
Domain-specific standard terminology SNOMED Clinical Terms – terminology for clinical
medicine covering most areas of clinical information such as diseases, findings,
procedures, microorganisms, pharmaceuticals
![Page 10: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/10.jpg)
Ontology Examples
UMLS Unified Medical Language System The UMLS integrates and distributes key terminology, classification and coding
standards, and associated resources to promote creation of more effective and
interoperable biomedical information systems and services, including
electronic health records (http://umlsks.nlm.nih.gov/uPortal/frame.jsp?umlsks-
frame=http://www.nlm.nih.gov/research/umls/documentation.html)
![Page 11: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/11.jpg)
What Is “Ontology Engineering”?
Ontology Engineering: Defining terms in the domain and relations among them Defining concepts in the domain (classes) Arranging the concepts in a hierarchy (subclass-
superclass hierarchy) Defining which attributes and properties (slots)
classes can have and constraints on their values Defining individuals and filling in slot values
![Page 12: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/12.jpg)
Why Develop an Ontology?
To share common understanding of the structure of information among people and among software agents Web sites containing medical information publish
the same underlying ontology of the terms they all use
To enable reuse of domain knowledge to avoid “re-inventing the wheel” to introduce standards to allow interoperability
![Page 13: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/13.jpg)
More Reasons
To make domain assumptions explicit easier to change domain assumptions (consider a
genetics knowledge base) easier to understand and update legacy data
To separate domain knowledge from the operational knowledge re-use domain and operational knowledge separately
(e.g., configuration based on constraints)
![Page 14: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/14.jpg)
An Ontology Is Often Just the Beginning
OntologiesOntologies
Software agents
Software agents Problem-
solving methods
Problem-solving
methods
Domain-independent applications
Domain-independent applications
DatabasesDatabasesDeclarestructure
Knowledgebases
Knowledgebases
Providedomain
description
![Page 15: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/15.jpg)
Ontology-Development Process
In this tutorial:determine
scopeconsider
reuseenumerate
termsdefine
classesdefine
propertiesdefine
constraintscreate
instances
In reality - an iterative process:
determinescope
considerreuse
enumerateterms
defineclasses
considerreuse
enumerateterms
defineclasses
defineproperties
createinstances
defineclasses
defineproperties
defineconstraints
createinstances
defineclasses
considerreuse
defineproperties
defineconstraints
createinstances
![Page 16: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/16.jpg)
Οντολογίες vs Βάσεις Δεδομένων
Μία βάση δεδομένων είναι ένα σύνολο από πίνακες και σχέσεις
Μία οντολογία περιέχει συντακτικά και σημασιολογικά πλουσιότερη πληροφορία από τις βάσεις δεδομένων
Οι βάσεις δημιουργούνται κυρίως για την αποθήκευση πληροφοριών. Οι οντολογίες για την περιγραφή μιας ολόκληρης θεματικής περιοχής
Μία οντολογία πρέπει να είναι δικτυακής αρχιτεκτονικής γιατί χρησιμοποιείται για το διαμοιρασμό της πληροφορίας.
![Page 17: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/17.jpg)
Preliminaries - Tools
Protégé-2000 is a graphical ontology-development tool supports a rich knowledge model is open-source and freely available
Some other available tools: Ontolingua and Chimaera OntoEdit OilEd
![Page 18: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/18.jpg)
Determine Domain and Scope
What is the domain that the ontology will cover?
For what we are going to use the ontology? For what types of questions the information in
the ontology should provide answers (competency questions)?
Answers to these questions may change during the lifecycle
determinescope
considerreuse
enumerateterms
defineclasses
defineproperties
defineconstraints
createinstances
![Page 19: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/19.jpg)
French winesand
wine regions
California wines and
wine regions
Which wine should
I serve with seafood today? A shared
ONTOLOGY of Wine and food
A sharedONTOLOGY of Wine and food
![Page 20: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/20.jpg)
ECGs and
accompanying
data
ECGs and
accompanying
data
PhysioNet
Find arrhythmia ECG’s, of men
>40 taking Aldomet
UMLSDrugs &diseases
![Page 21: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/21.jpg)
Competency Questions
Which wine characteristics should I consider when choosing a wine?
Is Bordeaux a red or white wine? Does Cabernet Sauvignon go well with seafood? What is the best choice of wine for grilled meat? Which characteristics of a wine affect its appropriateness for a
dish? Does a flavor or body of a specific wine change with vintage
year? What were good vintages for Napa Zinfandel?
![Page 22: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/22.jpg)
Ερωτήσεις αρμοδιότητας Ι
Ποιες παραμέτρους πρέπει να καταγράψω για κάθε ένα από τα χαρακτηριστικά του ΗΚΓ?
Τι χαρακτηριστικά πρέπει να καταγράψω για τους ασθενείς? Ποια φάρμακα και ποιες ασθένειες θα καταγράψω? Ποια χαρακτηριστικά του ΗΚΓ είναι abnormal κατά την εμφάνιση
αρρυθμίας? Ποια τα χαρακτηριστικά (δημογραφικά) των ασθενών με κολπική
μαρμαρυγή? Τι εύρος διαγνώσεων παρέχεται από το ηλεκτροκαρδιογράφημα?
![Page 23: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/23.jpg)
Ερωτήματα Αρμοδιότητας ΙΙ
Θέλω ΗΚΓ ασθενών με αρρυθμίες? Ποια τα χαρακτηριστικά της αρρυθμίας στο ΗΚΓ? Τι φάρμακα έχουν χορηγηθεί σε ασθενείς με
αρρυθμίες? Θέλω τα ΗΚΓ ασθενών με αρρυθμία που
ταυτόχρονα έπαιρναν Antiarryhtmic drugs? Θέλω τα ΗΚΓ ασθενών αρρένων με ηλικία >40 και
Ιατρικό Ιστορικό διαβήτη?
![Page 24: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/24.jpg)
Consider Reuse
Why reuse other ontologies? to save the effort to interact with the tools that use other ontologies to use ontologies that have been validated through
use in applications
determinescope
considerreuse
enumerateterms
defineclasses
defineproperties
defineconstraints
createinstances
![Page 25: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/25.jpg)
What to Reuse?
Ontology libraries Protégé ontology library
(protege.stanford.edu/ontologies.html) DAML ontology library (www.daml.org/ontologies) Ontolingua ontology library
(www.ksl.stanford.edu/software/ontolingua/) Upper ontologies
IEEE Standard Upper Ontology (suo.ieee.org) Cyc (www.cyc.com)
![Page 26: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/26.jpg)
What to Reuse? (II)
General ontologies DMOZ (www.dmoz.org) WordNet (www.cogsci.princeton.edu/~wn/)
Domain-specific ontologies UMLS Semantic Net GO (Gene Ontology) (www.geneontology.org) GLIF HL7
![Page 27: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/27.jpg)
Enumerate Important Terms
What are the terms we need to talk about? What are the properties of these terms? What do we want to say about the terms?
considerreuse
determinescope
enumerateterms
defineclasses
defineproperties
defineconstraints
createinstances
![Page 28: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/28.jpg)
Enumerating Terms - The Wine Ontology
wine, grape, winery, location, wine color, wine body, wine flavor, sugar content white wine, red wine, Bordeaux wine food, seafood, fish, meat, vegetables, cheese
![Page 29: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/29.jpg)
Enumerating Terms - The ECG Ontology
ECG, Patient, Drug, Disease, ECG Characteristics, Acquiring Device, Lead
Measurement, Diagnosis, Medical History, Blood Pressure, V1,V2, aVL
Antiarrhythmic, Amiodarone, Dilantin, Lorcainide, ACE-Inhibitors, Captopril
![Page 30: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/30.jpg)
Define Classes and the Class Hierarchy
A class is a concept in the domain a class of wines a class of wineries a class of red wines
A class is a collection of elements with similar properties
Instances of classes a glass of California wine you’ll have for lunch
considerreuse
determinescope
defineclasses
defineproperties
defineconstraints
createinstances
enumerateterms
![Page 31: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/31.jpg)
Classes usually constitute a taxonomic hierarchy (a subclass-superclass hierarchy)
A class hierarchy is usually an IS-A hierarchy: an instance of a subclass is an instance of
a superclass If you think of a class as a set of elements, a
subclass is a subset
Class Inheritance
![Page 32: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/32.jpg)
Class Inheritance - Example
Cardiac Drug is a subclass of Drug Antiarrhytmic is a subclass of Cardiac Drug
Every Antiarrythmic drug is a Cardiac Drug Amiodarone drug is a subclass of Antiarrhythmic
drugs Every Amiodarone Drug is an Antiarrhythmic drug
![Page 33: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/33.jpg)
Levels in the Hierarchy
Middlelevel
Toplevel
Bottomlevel
![Page 34: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/34.jpg)
Modes of Development
top-down – define the most general concepts first and then specialize them
bottom-up – define the most specific concepts and then organize them in more general classes
combination – define the more salient concepts first and then generalize and specialize them
![Page 35: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/35.jpg)
Documentation
Classes (and slots) usually have documentation Describing the class in natural language Listing domain assumptions relevant to the class
definition Listing synonyms
Documenting classes and slots is as important as documenting computer code!
![Page 36: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/36.jpg)
Define Properties of Classes – Slots
Slots in a class definition describe attributes of instances of the class and relations to other instances Each wine will have color, sugar content, producer,
etc.
considerreuse
determinescope
defineconstraints
createinstances
enumerateterms
defineclasses
defineproperties
![Page 37: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/37.jpg)
Define Properties of Classes – Slots
Enumerate ECG slots Patient (patientID, sex, race, age….) ECGCharacteristics (onset, offset, duration) Recording Device (Device Type, Manufacturer,
serial Number.. )
considerreuse
determinescope
defineconstraints
createinstances
enumerateterms
defineclasses
defineproperties
![Page 38: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/38.jpg)
Properties (Slots)
Types of properties “intrinsic” properties: flavor and color of wine “extrinsic” properties: name and price of wine parts: ingredients in a dish relations to other objects: producer of wine (winery)
Simple and complex properties simple properties (attributes): contain primitive values (strings,
numbers) complex properties: contain (or point to) other objects (e.g., a
winery instance)
![Page 39: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/39.jpg)
Slots for the Class Wine
![Page 40: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/40.jpg)
Slot and Class Inheritance
A subclass inherits all the slots from the superclass If a wine has a name and flavor, a red wine also has a
name and flavor
If a class has multiple superclasses, it inherits slots from all of them Port is both a dessert wine and a red wine. It inherits
“sugar content: high” from the former and “color:red” from the latter
![Page 41: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/41.jpg)
Property Constraints
Property constraints (facets) describe or limit the set of possible values for a slot The name of a wine is a string The wine producer is an instance of Winery A winery has exactly one location
Race {Caucasian, Asian, Black, Unspecified} Age<150 The Id of a patient is String PatientName is an instance of Patient
considerreuse
determinescope
createinstances
enumerateterms
defineclasses
defineconstraints
defineproperties
![Page 42: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/42.jpg)
Create Instances
Create an instance of a class The class becomes a direct type of the instance Any superclass of the direct type is a type of the instance
Assign slot values for the instance frame Slot values should conform to the facet constraints Knowledge-acquisition tools often check that
considerreuse
determinescope
createinstances
enumerateterms
defineclasses
defineproperties
defineconstraints
![Page 43: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/43.jpg)
Creating an Instance: Example
![Page 44: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/44.jpg)
Outline
Ontology development basics What is an ontology and why do we need one? A step-by-step guide to ontology development An overview of Protégé Advanced issues in knowledge modeling
Medical Informatics ontologies: examples and design decisions
Additional resources: Protégé plugins and applications
![Page 45: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/45.jpg)
Where to go for help
Protégé user’s guide http://protege.stanford.edu/doc/users_guide/
index.html Protégé user’s guide
http://protege.stanford.edu/publications/ontology_development/ontology101.html
FAQ http://protege.stanford.edu/faq.html
![Page 46: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/46.jpg)
Outline
Ontology development basics What is an ontology and why do we need one? A step-by-step guide to ontology development An overview of Protégé Advanced issues in knowledge modeling
Medical Informatics ontologies: examples and design decisions
Additional resources: Protégé plugins and applications
![Page 47: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/47.jpg)
Going Deeper
Breadth-first coverage
determinescope
considerreuse
enumerateterms
defineclasses
defineproperties
defineconstraints
createinstances
Depth-first coverage
determinescope
considerreuse
enumerateterms d
efine
classes
defin
ep
rop
erties
defin
eco
nstrain
ts
createinstances
![Page 48: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/48.jpg)
Defining Classes and a Class Hierarchy
Things to remember: There is no single correct class hierarchy But there are some guidelines
The question to ask: “Is each instance of the subclass an instance of its
superclass?”
![Page 49: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/49.jpg)
Siblings in a Class Hierarchy
All the siblings in the class hierarchy must be at the same level of generality
Compare to section and subsections in a book
![Page 50: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/50.jpg)
The Perfect Family Size
If a class has only one child, there may be a modeling problem
If the only Red Burgundy we have is Côtes d’Or, why introduce the subhierarchy?
Compare to bullets in a bulleted list
![Page 51: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/51.jpg)
The Perfect Family Size (II)
If a class has more than a dozen children, additional subcategories may be necessary
However, if no natural classification exists, the long list may be more natural
![Page 52: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/52.jpg)
Single and Plural Class Names
A “wine” is not a kind-of “wines” A wine is an instance of the class
Wines Class names should be either
all singular all plural
Class
Instance
instance-of
![Page 53: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/53.jpg)
Classes and Their Names
Classes represent concepts in the domain, not their names The class name can change, but it will still refer to the same
concept Synonym names for the same concept are not different classes
Many systems allow listing synonyms as part of the class definition
![Page 54: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/54.jpg)
A Completed Hierarchy of Wines
![Page 55: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/55.jpg)
When to introduce a new class?
Subclasses of a class usually have Additional properties Additional slot restrictions Participate in different relationships
Subclasses of a class have New slots New facet values
![Page 56: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/56.jpg)
But
In terminological hierarchies, new classes do not have to introduce new properties
![Page 57: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/57.jpg)
A new class or a property value?
Do concepts with different slot values become restrictions for different slots?
How important is the distinction for the domain?
A class of an instance should not change often
![Page 58: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/58.jpg)
Metaclasses: Templates For Class Definitions
Metaclasses enable us to add attributes to class definitions
By default, we have: Class name Documentation Slots …
![Page 59: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/59.jpg)
Metaclasses (II)
Additional attributes: Synonyms UMLS CUI Latin name Other class-level properties
![Page 60: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/60.jpg)
Best Wineries
![Page 61: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/61.jpg)
Back to the Slots: Allowed Values
When defining a domain or range for a slot, find the most general class or classes
Consider the produces slot for a Winery: Range: Red wine, White wine, Rosé wine Range: Wine
Consider the flavor slot Domain: Red wine, White wine, Rosé wine Domain: Wine
slotclass allowed values
DOMAIN RANGE
![Page 62: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/62.jpg)
Defining Domain and Range A class and a
superclass – replace with the superclass
All subclasses of a class – replace with the superclass
Most subclasses of a class – consider replacing with the superclass
![Page 63: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/63.jpg)
Inverse Slots
Maker and Producer are inverse slots
![Page 64: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/64.jpg)
Inverse Slots (II)
Inverse slots contain redundant information, but Allow acquisition of the information in either direction
Enable additional verification
Allow presentation of information in both directions
The actual implementation differs from system to system Are both values stored?
When are the inverse values filled in?
What happens if we change the link to an inverse slot?
![Page 65: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/65.jpg)
Default Values
Default value – a value the slot gets when an instance is created
A default value can be changed The default value is a common value for the slot,
but is not a required value For example, the default value for wine body can
be FULL
![Page 66: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/66.jpg)
Limiting the Scope
An ontology should not contain all the possible information about the domain No need to specialize or generalize more than the
application requires No need to include all possible properties of a class
Only the most salient properties Only the properties that the applications require
![Page 67: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/67.jpg)
Limiting the Scope (II)
Ontology of wine, food, and their pairings probably will not include Bottle size
Label color
My favorite food and wine
An ontology of biological experiments will contain Biological organism
Experimenter
Is the class Experimenter a subclass of Biological organism?
![Page 68: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/68.jpg)
Outline
Ontology development basics Medical Informatics ontologies: examples
Foundational Model of Anatomy (FMA)
UMLS (Unified Medical Language System)
Gene Ontology (GO)
Guideline Interchange Format (GLIF)
![Page 69: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/69.jpg)
Foundational Model of Anatomy (FMA)
Developed at University of Washington as part of the Digital Anatomist project
Represents declaratively knowledge about human anatomy Canonical Independent of a specific viewpoint Machine-readable, symbolic representation
![Page 70: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/70.jpg)
FMA in Protégé
Represents structures ranging fro macromolecular complexes to body parts
Contains ~70,000 distinct concepts ~ 110,000 terms 140 relations
![Page 71: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/71.jpg)
FMA: Knowledge-Model Features
Metaclasses to define class-level properties Attributed relations Different types of part-whole, location, and other
spatial relations Synonyms FME explorer
http://sig.biostr.washington.edu/projects/fm/FME/index.html
![Page 72: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/72.jpg)
FMA: Demo
Top-level distinctions: Physical vs Conceptual entity Material vs Non-Material Physical entity Anatomical Structure
Structural organization Examples:
Anatomical entity, Heart
![Page 73: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/73.jpg)
Outline
Ontology development basics Medical Informatics ontologies: examples
Foundational Model of Anatomy (FMA)
UMLS Gene Ontology (GO)
Guideline Interchange Format (GLIF)
Additional resources: Protégé plugins and applications
![Page 74: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/74.jpg)
Introduction
UMLS is a compendium of many controlled vocabularies in the biomedical sciences (created 1986[1]).
Mapping structure among vocabularies translations among the various terminology systems
Ontology of biomedical concetps. natural language processing
It is intended to be used mainly by developers of systems in medical informatics.
![Page 75: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/75.jpg)
Introduction
consists of three Knowledge Sources Metathesaurus:
concepts that include the various names representing the same meaning from different source vocabularies
Semantic Network 135 semantic types, 54 semantic relations
SPECIALIST Lexicon dictionary of biomedical terms and common words, lexical
tools and records used in natural language processing
![Page 76: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/76.jpg)
Introduction
very large concept-oriented database holds concepts, their various names and relationship
among them Links alternative names and views of the same
concept together and identify useful relations between different concepts
2004AA 1,020,866 concepts and 2.8 million terms
![Page 77: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/77.jpg)
Introduction
All concepts are assigned to at least one semantic type consistent categorization of all concepts at the
relatively general level Metathesaurus must be customized to be used
effectively
![Page 78: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/78.jpg)
Metathesaurus structure
Concepts (CUI) Terms (LUI) Strings (SUI) Atoms (AUI) Relations
![Page 79: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/79.jpg)
22/07/2004
Concept
A concept is meaning A meaning can have many different names link all the names from all of the source
vocabularies that mean the same thing each concept (meaning) has a concept unique
identifier (CUI)
![Page 80: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/80.jpg)
22/07/2004
Concept Names and String identifiers
Each string in the concept names has a unique identifier (SUI)
Any variation in character set, upper-lower case, punctuation is a separate string with a separate SUI
The same string in different languages have different SUI
![Page 81: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/81.jpg)
22/07/2004
2002AC
~870,000 concepts (Eye, Oculus = 1) ~1,756,000 “terms” (Eye, Eyes, eye = 1) ~2,083,103 “strings”/concept names (Eye, Eyes, eye =
3) ~11,479,000 relationships between concepts ~ 7 million of relationships between concepts and
English words >113 source vocabularies 15 different languages
![Page 82: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/82.jpg)
Atoms
Each and every occurrence of a string in each source vocabulary is an atom
every atom has an atom identifier (AUI) In other words, Atoms are the entries in the
source vocabularies
![Page 83: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/83.jpg)
Terms
All the variants of a string is grouped into a term a term is the group of all strings that are lexical
variants of each other Each term has a lexical identifier (LUI)
![Page 84: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/84.jpg)
Example
![Page 85: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/85.jpg)
Semantic Network
Broad subject categories Represent the biomedical domain 2 main categories
Entity Event
Semantic type is assigned to Metathesaurus concepts at the most specific level
![Page 86: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/86.jpg)
UMLS Semantic Net
Entity Event
Language
Organisation
GroupAttribute
Idea orConcept
Finding
OrganismAttribute
IntellectualProduct
OccupationOr Discipline
Group
Substance
Organism
Anatomical Structure
Manufactured Object
Behaviour
Daily orRecreational
activityOccupational
ActivityMachineActiivty
Laboratory Procedure
Diagnostic Procedure
Therapeutic Procedure
IndividualBehaviour
SocialBehaviour
Health careActivity
ResearchActivity
EducationalActivity
Governmental orRegulatory Activity
Injury orPoisoning
NaturalPhenomenonOr Process
Human-causedPhenomenonOr Process
EnvironmentEffect of Humans
PhysicalObject
Conceptual Entity
PhenomenonOr Process
Activity
BiologicFunction
PhysiologicFunction
PathologicFunction
Organ orTissue
Function
OrganismFunction
MentalProcess
CellFunction
MolecularFunction
GeneticFunction
Disease or Syndrome
Mental orBehaviouralDysfunction
NeoplasticProcess
Cell orMolecular
Dysfunction
ExperimentalModel ofDisease
![Page 87: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/87.jpg)
Relations
Primary link: isa establishes the hierarchy Five group other than isa:
physically related to spatially related to functionally related to temporally related to conceptually related to
inheritance supported
![Page 88: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/88.jpg)
Semantic Net: 54 Links
SpatiallyRelatedTo
Has_location Adjacent_to Surrounded_by Traversed_by
PhysicallyRelatedTo
Has_partConstitutes
Contained_in Connected_to
Interconnected_by
Has_branch
Has_tributary
Has_ingredient
TemporallyRelatedTo
follows
co-occurs_with
brought_about_by
has_manifestation
indicated_by
has_resultFunctionallyRelatedTo
affected_by
managed_by
treated_by
disrupted_by
complicated_by
interacted_with
prevented_by
used-byproduced_by
caused_by
performed_by carried_out_by
exhibited_by
practiced_by
has_occurrence has_process
ConceptuallyRelatedTo
has_degreediagnosed_by
has_property
has_derivative
has_developmental_form
has_measurement
measured_by
has_evaluation
has_method
has_conceptual_part
has_issue
analyzed_by Assessed_for_effect_by
![Page 89: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/89.jpg)
Example
![Page 90: Developing Medical Informatics Ontologies with Protégé Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649d795503460f94a5c9d5/html5/thumbnails/90.jpg)
Where To Go From Here
Protégé web site: http://protege.stanford.edu Documentation User’s Guide Tutorial protege-discussion mailing list Ontology library
Contribute ontologies and plugins Open Biomedical Ontologies http://www.obofoundry.org/