Skip to content

Ontologies: Fundamentals


These materials are under construction and incomplete.


  • Install Protege


  • Complete OpenHPI Week 5: Ontology Engineering videos 5.1, 5.2, and 5.4 - 5.6 (~2.5 hours)
  • We are skipping 5.3: Ontology Learning and both sections on MORE Ontology Evaluation (5.7 and 5.8)
  • Complete part of the Ontologies 101 Tutorial (~2 hours)
  • Clone the Ontologies 101 repository, then open the folder BDK14_exercises from your file system
  • Open basic-subclass/chromosome-parts.owl in Protégé, then do the following exercises:
  • Basic Subclass Hierarchy (review) - make sure to look at the "detailed instructions" for adding annotations here, as it will go over adding annotations on annotation assertions
  • Disjointness
  • Object Properties - note that you will rarely, if ever, be making object properties, as most of the properties you'll ever need are defined in the Relation Ontology
  • OWL Class Restrictions
  • Open basic-restriction/er-sec-complex.owl in Protégé, then do the following exercise:
  • Basic Restrictions
  • Open basic-dl-query/cc.owl in Protégé, then do the following exercises:
  • DL Query Tab - note that owl:Nothing is defined as the very bottom node of an ontology, therefore the DL query results will show owl:Nothing as a subclass. This is expected and does not mean there is a problem with your ontology! It's only bad when something is a subclass of owl:Nothing and therefore unsatisfiable (more on that below).
  • Basic DL Queries
  • Open basic-classification/ubiq-ligase-complex.owl in Protégé, then do the following exercises:
  • Basic Classification
  • Read (I can't get no) satisfiability (~10 minutes)
  • Optional: Open a new ontology in Protégé. Try creating an inconsistent ontology using the classes and instances in the first Pets example (hint: you'll also need to create the "eats" object property)... what happens when you run the reasoner? Don't spend too much time on this if you get stuck, we'll look at an example of an inconsistent ontology in our session.

What is delivered as part of the course

Description: Learn the fundamentals of ontologies.

Learning objectives

  • OpenHPI course review: questions? (~15 minutes)
  • OWL ontology serializations ("formats") (~15 minutes)
  • Converting between serializations with robot convert (Review; ~15 minutes)
  • Creating modules from existing ontologies (~30 minutes)
  • What is a module?
  • How do we use the modules in our ontologies?
  • Extraction methods: MIREOT vs. SLME
  • Creating a module to import with robot extract (Review; ~15 minutes)
  • Ontology design patterns (~15 minutes)
  • Real world example: Ontology for Biomedical Investigations (OBI)
  • Using design patterns in robot template (Review; ~15 minutes)
  • Including your modules in your ontology as imports


Additional materials and resources


  • add name/ORCID here