Interaction Design Chapter 6.ppt by sushaifj

VIEWS: 32 PAGES: 24

									Ontology development in
        Protégé
                                    Overview

• Components of an ontology
• The ontology development process
       Six basic steps
• Protégé
       Classes
       Properties



Lecture 2 Introduction to Protégé      2       Pablo Romero, Department of Informatics
                                    Previously

•    Semantic web
•    Ontologies
•    Ontology languages
•    Ontology development
     tools




Lecture 2 Introduction to Protégé       3        Pablo Romero, Department of Informatics
          Components of an ontology

• Representation of a domain
       Hierarchy of categories
       Relationships between them
• Components
       Classes
       Properties
       Individuals
• Concepts represented
       Objects (cars, animals, wines)
       Actions (journeys, transactions, move)
       Beliefs (possible moves, other agent’s goals)
Lecture 2 Introduction to Protégé   4          Pablo Romero, Department of Informatics
                   A development method

•    Determine domain and scope
•    Consider re-using
•    Enumerate important terms
•    Define classes and class hierarchy
•    Define properties of classes
•    Define characteristics of properties
•    Create individuals
                     http://www-ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness.pdf
Lecture 2 Introduction to Protégé                  5                Pablo Romero, Department of Informatics
       Determine domain and scope

• Basic questions
          What is the domain the ontology will cover?
          What are we going to use the ontology for?
          For what types of questions should it provide answer?
          Who will use and maintain it?
• Competency questions
       Which wine characteristics should I consider when choosing
        a wine?
       Is Bordeaux a red or white wine?
       What is the best choice of wine for grilled meat?
       What were good vintages for Napa Zinfandel?
Lecture 2 Introduction to Protégé    6           Pablo Romero, Department of Informatics
                              Consider re-using

• Ontology libraries
       Protégé Ontologies (http://protege.stanford.edu/download/ontologies.html)
       DAML Ontology Library (http://www.daml.org/ontologies/)
       Wine Ontology (http://www.daml.org/ontologies/76)
• Supporting ontologies
       Time ontology (http://www.w3.org/TR/owl-time/)
• Supporting information sites
       Online wine guide (http://www.wines.com/)
• For project purposes valid to avoid re-using




Lecture 2 Introduction to Protégé         7              Pablo Romero, Department of Informatics
               Enumerate and hierarchy

• Enumerate
       Important terms (wine, grape, winery, location, colour, body, flavour,
        fish, red meat, etc.)
       Don’t worry about
              • Overlap between terms
              • Relationships
              • Properties
• Define class hierarchy
       Look for “independent terms”
       Top-down (wine; red, white, rosé)
       Bottom-up (Muscadet Sèvre et Maine, Muscadet Coteaux de la Loire,
        Muscadet Côtes de Grandlieu; Muscadet)
       Combined

Lecture 2 Introduction to Protégé       8              Pablo Romero, Department of Informatics
Properties & their characteristics

• Several types of properties
       Relationships to other classes (maker of the wine, grape it comes from)
       Parts (Courses of a meal)
       Simple properties (name, colour, flavour)
• Properties are inherited by subclasses
• Characteristics
       Type (for simple properties)
       Domains and ranges (winery produces a wine)
       Restrictions
              • Universal and existential
              • Cardinality (how many of them)



Lecture 2 Introduction to Protégé           9         Pablo Romero, Department of Informatics
                                    Protégé

• Free, open source ontology editor
• Allows generation, visualization, and manipulation of
  ontologies
• We’ll be working with Protégé-OWL
• Created ontologies can be accessed from Java
  programs through the Protégé-OWL API
• Represents
       Classes
       Properties
       Individuals
Lecture 2 Introduction to Protégé      10     Pablo Romero, Department of Informatics
Building a Protégé-OWL ontology

• Pizza                                  • Pizzas are comprised of base
                                           and toppings
       Vegetarian                       • If a toping has a specific
              • Giardiniera                ingredient then the pizza also
              • Margherita                 has that ingredient
                                         • Pizzas have only one base but
              • …                          can have a number of toppings
       Meaty                            • A pizza cannot be vegetarian
              •   American                 and meaty at the same time
              •   LaReine                • A Margherita only has
                                           mozzarella and tomato
              •   SloppyGiuseppe           toppings
              •   …                      • …

Lecture 2 Introduction to Protégé   11              Pablo Romero, Department of Informatics
Building a Protégé-OWL ontology

• Types of queries we can ask
       Which pizzas have mushroom topping?
       Which pizzas have tomato, mozzarella and olive
        toppings?
       Which pizzas have onion and green pepper or
        prawns toppings?
       Which pizzas do not have a mozzarella topping?
       Which pizzas are hot (spicy)?


Lecture 2 Introduction to Protégé   12   Pablo Romero, Department of Informatics
                           Classes in Protégé

• All classes are
  subclasses of Thing
• Classes overlap by
  default!
• Can use tools menu
  to create class
  hierarchies


Lecture 2 Introduction to Protégé   13   Pablo Romero, Department of Informatics
                       Properties in Protégé

• Object or data type
• Properties can have
       Subproperties
       Inverse properties




Lecture 2 Introduction to Protégé   14   Pablo Romero, Department of Informatics
                       Properties in Protégé

• Properties can be
          Functional
          Transitive
          Symmetric
          Asymmetric
          Reflexive
          Irreflexive



Lecture 2 Introduction to Protégé   15   Pablo Romero, Department of Informatics
                        Domains and ranges

• Axioms not constraints
       Can lead to inconsistencies
• Inverse properties are updated automatically




Lecture 2 Introduction to Protégé   16   Pablo Romero, Department of Informatics
                      A family tree ontology

• Basic questions
       What is the domain the ontology will cover? Family relations
       What are we going to use the ontology for? Store family trees
       For what types of questions should it provide answer? Queries about
        family members
       Who will use and maintain it? NA
• Competency questions
          Is your uncle your ancestor?
          Are Queen Elizabeth II and Phillip related?
          Who is their common ancestor?
          How many children did George V have?



Lecture 2 Introduction to Protégé         17             Pablo Romero, Department of Informatics
                          The family ontology

• Develop
       Enumerate important terms
       Define classes and class hierarchy
       Define properties of classes
• Implement in Protégé
       Create class hierarchy (disjoint classes?)
       Create property hierarchy (characteristics, disjoint)
       Establish domains and ranges



Lecture 2 Introduction to Protégé   18           Pablo Romero, Department of Informatics
                         Online flexible travel
                         computational agent
• Assume agent
  programmed in Java,
  using Protégé-OWL
  API to access
  supporting ontologies
• Two steps
       Creating an itinerary
       Querying an itinerary

Lecture 2 Introduction to Protégé   19    Pablo Romero, Department of Informatics
                         Creating an itinerary

• Obtain list of suggested destinations from country ontology (taking into
  account destination preferences)
• For each one of those destinations
       Obtain list of suggested transport to destinations for a specific starting point and
        date from transport ontology (transport preferences)
       Choose one according to a specific criteria (length of flight, price, etc)
       Obtain list of suggested activities and length of stay from destination ontology
        (activity preferences)
       Obtain list of suggested companions from travel companion ontology (with
        overlap in destination and period of stay and company preferences)
       Obtain suggested accommodation from the accommodation ontology
        (accommodation preferences)
       Repeat the process but now with the chosen destination as a starting point and
        end of stay in chosen destination as the starting date


Lecture 2 Introduction to Protégé             20               Pablo Romero, Department of Informatics
                       Querying an itinerary

• Obtain suggested transport to a specific activity from
  local transport ontology
• Obtain directions to a specific activity or attraction
  from map ontology
• Obtain suggested eating options for specific destination
  from the food outlet ontology (eating preferences)
• Obtain suggested car rental deals from the car rental
  ontology (budget restrictions)
• Obtain suggested shopping outlets from the shopping
  ontology (shopping preferences)
Lecture 2 Introduction to Protégé   21   Pablo Romero, Department of Informatics
                                    Next week

• Choose one ontology
• Determine domain and scope
• 5 mins informal presentation
          Address basic questions
          Compile list of relevant preferences
          Formulate some competency questions
          Interaction with other ontologies
              • Knowledge provided (to which ontologies)
              • Knowledge required (from which ontologies)

Lecture 2 Introduction to Protégé       22       Pablo Romero, Department of Informatics
                                    Key points
• Ontology elements
       Classes
       Properties
       Individuals
• Development steps
         Determine domain and scope
         Consider re-using
         Enumerate important terms
         Define classes and class hierarchy
         Define properties of classes and their characteristics
         Create individuals
• Protégé allows the implementation of ontologies in an interactive
  way
Lecture 2 Introduction to Protégé          23              Pablo Romero, Department of Informatics
                                    Resources

• Protégé website:
        http://protege.stanford.edu/
• Protégé tutorial
        http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial-p4.0.pdf

• Ontology development methodology
        http://www-ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-
         mcguinness.pdf

• Sample ontologies
        http://www.co-ode.org/ontologies/

Lecture 2 Introduction to Protégé       24            Pablo Romero, Department of Informatics

								
To top