Introduction to Ontology Development and ToolsPart I: First Steps in Ontology Development • ICBO 2011, Buffalo, July 26, 2011 • Mathias Brochhausen1 & Amanda Hicks2 • 1 UAMS, Little Rock, AR • 2 University at Buffalo, Buffalo, NY
Contents • Introduction • Terminological considerations • Creating the hierarchy of classes • Creating relations • (Instances) • Creating restrictions on classes
I. Introduction • What is Protégé? • We are concerned here with ‟Protégé-OWL editor”. • ‟The Protégé-OWL editor enables users to build ontologies for the Semantic Web, in particular in the W3C‘s Web Ontology Language (OWL)”.
I. Introduction • Keep in mind that Protégé is... • ...not a programming language. • ...only a tool. It will not prevent you from making mistakes. • Notice that we will be referring to Protégé 4.1 in this and the following hands-on exercise. 4
II. Terminological considerations • OWL/Protégé terminology • Preferable terminology
IIa.OWL/Protégé terminology • Classes: ‟OWL classes are interpreted as sets.” • Primitive Classes: ‟Classes that only have necessary conditions”; Example: Animal, Cat… • Defined Classes: ‟A class that has at least one necessary and sufficient condition”; Example: All things that are biped and lack feathers. 6
II.a OWL/Protégé terminology • Properties: ‟binary relation between individuals” • Object Properties; Examples: is_part_of, is_kissing • Datatype Properties; Examples: has_DateValue, has StringValue 7
II.a OWL/Protégé terminology Individuals: ‟represent objects in the domain we are interested in”. Examples: me, the Pentagon in Washington, Jane Doe‘s lung. 8
II.b Preferable terminology • Instance: An individual or particular which instantiates a universal; Examples: me, the Pentagon in Washington, Jane Doe‘s lung • Universal: A universal is something that is shared in common by all those particulars which are its instances, Examples: Animal, Human being, Building, Human lung 9
II.b Preferable terminology • Attributive Collection: An attributive collection is a collection (a set) of particulars which share a common property; Examples: All patients suffering from breast cancer in the Mayo Clinic in 2009, all humans who have been tested positive for HIV, all bacteria in the petri dish over there. 10
II.b Preferable terminology • Relation: Relations exist mutually between universals and universals, between universals and particulars, and between particulars and particulars; Examples: is_subtype_to, is_part_of, is_instance_of, is_kissing 11
II.b Preferable terminology • However,... • Throughout the presentation I will say “classes” to keep the creation of the hierachy free from possible ontological issues about universals vs. attributive collections. 12
III. Creating the hierarchy of classes • Why work with an Upper Ontology? • Importing another ontology (e.g. an Upper Ontology) • Basic Formal Ontology-a primer • What is represented by the hierarchy? • How to create a class hierarchy? • Changing OWL class names • Disjointness • Exhaustiveness • Rigidity
III.a Why work with an Upper Ontology • Upper Ontologies… • ...support consistency. • ...foster harmonization and modularization. • …help you to get into the right frame of mind.
III.a Why work with an Upper Ontology • Some Upper Ontologies • Basic Formal Ontology (BFO) • Descriptive Ontology for Linguistic and Cognitive Engineering (DOLCE) • Suggested Upper Merged Ontology (SUMO)
III.a Why work with an Upper Ontology • How to import Upper Ontologies (or other pre-existent ontologies) into our ontology project?
BFO - Entities Continuant - a heart, the color of a tomato, the mass of a cloud Occurrent - the life of an organism, a surgical operation, a conversation a heart, a table, a collection of stones
BFO - Continuants Dependent Continuant - the color of a tomato, the mass of a cloud Independent Continuant - a heart, a chair, the Northern Hemisphere of the Earth Spatial Region - Dimensions Zero - Three
BFO - Dependent Continuants Generically Dependent Continuant - a PDF file, a musical score Specifically Dependent Continuant - the color of a tomato, the disposition of fish to decay, the role of being a doctor
BFO - Specifically Dependent Continuants Quality - the color of a tomato, the mass of a cloud Realizable Entity - Disposition - fragility, solubility Function - of the heart, to pump blood; of the a computer, to compute. Role - being a doctor, being pet, being student
BFO - Independent Continuants Material Entity - a heart, a table, a collection of stones Object Boundary - end points of a line, the surface of the skin Site - A particular room, Maria’s nostril
BFO - Material Entities Fiat Object Part - the upper lobe of the left lung, The Northern Hemisphere Object - a heart, a chair, a lung, an apple Object Aggregate - a collection of bacteria, a collection of stones
BFO - Occurents Processual Entity - a conversation, the life of an organism Spatiotemporal Region - any part of space-time Temporal Region - any interval of time
BFO - Processual Entities Fiat Process Part - The worst part of a rainstorm, the middle of a meal Proccess - sleeping, cell division, Process Aggregate - chewing gum and walking at the same time. Process Boundary - death Processual Context - a war is the context of battles
BFO - Spatiotemporal Regions Connected Spatiotemporal Region - spatiotemporal region of the life of an organism Spatiotemporal Instant - the spatiotemporal location of an instant of an organisms life Spatiotemporal Interval - the spatiotemporal region of the first year of an infant’s life Scattered Spatiotemporal Region - the spatiotemporal region occupied by all games of the World Cup. Temporal Regions have a parallel hierarchy.
III.b What is represented by the hierarchy? Chordate Mammal Dog Labrador
III.b What is represented by the hierarchy? • is_a relation • The Protégé OWL Editor is based around a is_a-hierarchy of the entities in a given domain. • Start with thinking about your domain and its is_a-hierachy, draw a sketch. • Make sure to use formal is_a relations (subclass relations) exclusively to build your hierarchy.
III.b What is represented by the hierarchy? • Incorrect usage of is_a, Example 1 Travel Cruise Liner Flight Car Rental
III.a What is represented by the hierarchy? • Incorrect usage of is_a, Example 2 Organism Animal Other Organism Groupings Bacteria
2. What is represented by the hierarchy? • Subclass Relation (in OWL): • A ⊆ B ⇔ ∀x ∈ A : x ∈ B • Proper Subclass (in Set Theory): • A ⊂ B ⇔ A ⊆ B ∧ A ≠ B
III.c How to create a class hierarchy? • A shortcut to create a hierarchy from a list • You might find yourself in a situation where you have a list of terms referring to classes to be represented in your ontology. • Example:
III.d Changing OWL class names • Basically, there are two things that we need to keep separate: • URI/IRI • Class label
III.d Changing OWL class names • URI/IRI (Uniform Resource Identifier/Internationalized Resource Identifier) • The full URI consists of a locator and a name (e.g. the class name). • Every URI is unique (➯ no classes with the same URI allowed within one ontology). • Every class has exactly one URI.
III.d Changing OWL class names • rdfs:label • String value • It is possible (though not advisable) to annotate two classes in one ontology with the same label. • One class can have any number of labels (synonyms, terms in multiple languages).
III.e Disjointness • No member of A is a member of B. • A ∩ B = ∅ • A ∩ B ⇔ (∀x) (x ∈ A & x ∉ B) • For universals or types: No instance of A is an instance of B. • When building a taxonomy in OWL disjointness needs to be explicitly stated (Open World Assumption)!