Introduction to ontologies

Last verification: 20180914
Tools required for this lab:

Before the lab

Lab instructions

Developing an ontology is a complex task and it is hardly possible to learn everything what is important on a single lab session. This lab aims to get you familiar with the WebProtégé ontology editor and chosen ontology constructs. You are encouraged to continue developing and refining your ontology at home.

During this lab you can prototype an ontology for:

  • The Bold and the Beautiful / The Game of Thrones (as you are already familiar with the topic :-) )
  • or Multimedia Library (e.g. books, movies, music CDs, etc).

1 Tool for prototyping: WebProtégé

WebProtégé is a lightweight online ontology editing tool. It supports a limited set of constructs of ontology languages such as RDFS and OWL. Full-fledged ontology editor is Protege Desktop.

  1. Create an account at WebProtégé website.
  2. Create a new project called: AGH-SemWeb2019-Name, where Name should be your name(s).
  3. Load (open) your project.

2 Developing an ontology

An ontology is an artifact that describes certain domain (part of a world). It consists of a set of concepts (classes), typically organised in a hierarchy, connected by various properties and having various attributes.

  1. Open the Build your first ontology tutorial. Skim sections 1 and 2.
  2. Leave it open and read appropriate sections while doing consecutive steps…
  3. Note: WebProtege Users Guide may be useful
    Note: each part should take approx. 10 minutes!

2.1 Determine the domain and scope

  1. Scope: Discuss in pairs and define the scope of your ontology. For example, your ontology may describe all GoT characters in a specified period of time (e.g. at the end of the first book) or all multimedia items that you own.
    1. You can adjust the scope later during the process.
    2. 8-) Write down the scope of the ontology in the report.
  2. Competency questions: Think of and list the competency questions your ontology will help to answer. Exemplary competency questions may be:
    1. What are the other movies in the genre I watch most often?
    2. Who are the children of the one named „Kingslayer”?
    3. Did Brooke marry a member of the Forrester family and when?
      8-) Write down the competency questions in the report.

2.2 Consider reuse

  1. Search for existing ontologies related to the topic (max 10 minutes) (e.g. the simplest ontology that will be useful is FOAF for describing the names od Dublin Core for describing basic media metadata). Although you may not know the syntax of ontology languages, they should be intuitive (remember, they are basically descriptions of classes and relations among them).
  2. 8-) Put in your report links to two ontologies that you find useful / related to the topic. List classes and properties you will use in your ontology (if any).

2.3 Enumerate important terms

  1. 8-) Write down in the report important terms that you will use to build your ontology. They may be nouns, verbs and other parts of speech. They will help you to identify and define classes, datatype properties (typically, attributes of the classes) and object properties (relations between classes).

2.4 Define classes and class hierarchy

  1. In WebProtege, choose the Classes tab and create a new class. E.g., it may by a Person, or Movie or Kingdom etc.
  2. Repeat it for other classes. Create approx. 10-20 classes.
  3. Use drag-and-drop mechanism od WebProtege to move classes around in the classes „tree” → create a hierarchy of terms.
  • NOTE: Multiple inheritance is acceptable. If the tool is not helpful, use rdfs:subClassOf as an additional property.
  • NOTE 2: If two „sibling” classes (having the same parent class) are disjoint, add owl:disjointWith properties to their descriptions (:!: if it is possible with the current version of the tool). Define at least one such relation.

2.5 Define the properties of classes

  1. In Properties tab, create new properties as subclasses of owl:topObjectProperty and owl:topDataProperty.
    1. object properties link classes to classes
    2. data properties link classes to datatypes (e.g., strings, dates etc.)
  2. Specify the domain and range of the properties. Do you see any limitations/problems? If so, write them in the report. 8-)

2.6 Create instances

  1. In Individuals tab, create a few instances (objects) of defined classes (e.g., Jaime Lannister - an individual of a class Person, House Lannister as an instance of a class Family etc.)
  2. Assert relations among the instances (e.g., Jaime Lannister belongsTo House Lannister)

2.7 Tune your ontology

  1. More about creating classes: read Section 4 and Section 5 of the tutorial and correct mistakes in your ontology.
  2. Conventions and vocabulary: read Section 6 and:
    1. tune your naming conventions (use CamelCase, starting with a capital letter for class names and a small letter for properties),
    2. be consistent about suffixes in the classes' names.

3 Wrapping up

  1. Can your ontology answer the competency questions you defined? If necessary, adjust the questions and/or the ontology.
  2. Set your „Sharing settings” in WebProtege so that at least the teacher (login: kkutt) can access it.
  3. 8-) The report consists of a pdf file and the ontology - put the identifier on your ontology in the report and make sure the ontology is accessible.
  4. 8-) Write a short reflection about the process of developing an ontology. What was intuitive, what was not? What was difficult? How would you improve the process when building your next ontology?

Control questions

  • what is Ontology?
  • what is an ontology?
  • what are the ontologies for?
  • what are the main components of an ontology?

If you want to know more

pl/dydaktyka/semweb/lab-ontologies.txt · ostatnio zmienione: 2019/11/05 15:29 przez kkutt Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0