DAML OIL Ontology Tutorial - PowerPoint PPT Presentation

About This Presentation
Title:

DAML OIL Ontology Tutorial

Description:

DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks .) University of Manchester – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 40
Provided by: csManAcU6
Category:

less

Transcript and Presenter's Notes

Title: DAML OIL Ontology Tutorial


1
DAMLOIL Ontology Tutorial
  • Chris Wroe, Robert Stevens
  • (Sean Bechhofer, Carole Goble, Alan Rector, Ian
    Horrocks.)
  • University of Manchester

2
3 goals for today
  1. Why use DAMLOIL ontologies?
  2. What are the design principles?
  3. What is the syntax of DAMLOIL?

3
Providing a controlled vocabulary
Applications
Day Location Qty Pizza type
02/01/02 Cambridge Margherita
1
  • Prevent the user spelling magherita differently
  • Prevent me from adding a type of car to that
    field
  • c) Ensure the users and application have the same
    notion of a magherita pizza
  • d) Help an application answer queries such as how
    many vegetarian pizzas were sold?

4
Schema integration
Applications
Ontology
Schema 2
Schema 1
Database 1
Database 2
Schema 3
Database 3
5
TAMBIS
Applications
6
Ontologies to support rules
Drug Catalogue
Rules
Atenolol
oral
25mg
IffAntianginalthen...
Patient Record
?
7
Ontologies to support rules
Drug Catalogue
Drug Ontology
Antianginal
B-Blocker
Atenolol
Patient Record
Guideline
Date
Medication
IffAntianginalthen...

?
311299
Atenolol 25mg tabs bd
8
How are ontologies encoded?
3. Multiple hierarchy
2. Tree
spicy pizza
meat pizza
American hot pizza
9
Property driven classification
Principles
  • Most taxonomies are hand crafted
  • Difficult to maintain when large or intricate
  • Become too large to use but too small to capture
    what you want to say
  • Now possible to calculate a hierarchy
  • Supply the lego building blocks to allow the
    ontology author or user to define classes
  • Use reasoning to check consistency and calculate
    classification based on these definitions

10
Descriptions are key
  • Classification driven by description
  • Effort moved from manual placement of classes in
    a taxonomy to formal definition of classes.
  • The same classes can be classified in different
    ways for different purposes

11
Applications can dynamically build descriptions
  • Pizza finder

12
Exercise 1
  • Specific Tasks
  • Use the information in the menus to write
    definitions for margherita, la reine, soho and
    neptune pizzas
  • List the concepts and relationships used in the
    definitions
  • General questions
  • How else could do you describe types of pizza?
  • What parts of the description will drive
    classification?
  • What kinds of concepts are used in the
    description?

13
Pizza template
  • Pizza types are mainly defined in terms of their
    topping ingredients
  • Many high level groups of pizza types depends on
    a categorisation of ingredients

14
Exercise 2
  • Use card sorting to categorise pizza ingredients.

15
Exercise 2 beginning with OilEd
  • Open an ontology (pizza-tutorial-ex-2.daml)
  • Set the namespace
  • Add classes to an ontology
  • (ham, olive, parmesan)
  • Add superclasses (parents) to a class
  • (meat, fish, vegetable, and cheese ingredient)
  • Reason with the ontology (nothing happens)
  • Save an ontology

16
Organisation Terms
Principles
  • Classification
  • A grouping of things into classes
  • Instances
  • Members of a class
  • Hierarchy
  • A stratified organisation of things in which
    there is a top and a bottom
  • Taxonomy
  • A hierarchical classification

17
Taxonomies as sets
Principles
Eukaryota
Primate
Homo sapiens
Chris
18
Disjointness
  • In the DAMLOIL world every class is assumed to
    overlap with every other.
  • We need to explicitly state something cannot be a
    member of two classes at the same time e.g. man
    and women

19
Exercise 3 adding a disjoint axiom
  • Make tuna a subclass of both meat and fish
    ingredient classes.
  • Verify the ontology
  • Add a disjoint axiom between meat and fish
    ingredient.
  • Send the ontology to the reasoner (verify).
  • At this point also add disjoint axioms between
    meat, cheese and vegetable ingredient classes.

20
Relationships
  • Non taxonomic links
  • Relationship type is called a Property
  • Properties can be placed in a taxonomy of their
    own

21
Exercise 4
  • Add a property has_topping_ingredient
  • Add a property has_part
  • Make has_part a super property of
    has_topping_ingredient

22
Restrictions
  • Describing a class in terms of its relationships
    to other classes
  • Restricting class membership to only those
    individuals that posses these criteria.

23
Exercise 5
  • Create a restriction relating margherita pizza to
    its topping ingredients mozzarella and tomato

24
Necessary and sufficient criteria
  • To be a member I must have these relationships
    (necessary subclassOf)
  • If I have these relationships I must be a member
    (necessary and sufficient sameClassAs)

25
Exercise 6
  • Load ontology pizza-tutorial-ex-6.daml
  • Create a class called cheesy pizza as a
    subclass of pizza which has a topping ingredient
    of cheese ingredient.
  • Change to a SameClassAs definition
  • Send the ontology to the reasoner (verify).

26
Negation and disjunction
  • DAMLOIL allows logical expressions to be used
    anywhere a named class could be used.
  • Allows much more precision and flexibility in
    defining classes.

27
Exercise 7
  • Write down a definition for a vegetarian pizza
  • Create a new class in the ontology called
    vegetarian pizza and represent the paper based
    definition in DAMLOIL
  • Send the ontology to the reasoner.

28
Types of relationship
  • hasClass members of class A have this
    relationship with some members of class B
  • toClass members of class A (if they have this
    relationship) only have this relationship with
    members of class B

29
Exercise 8
  • Change restriction type in the vegetarian pizza
    to toClass.
  • Send the ontology to the reasoner

30
Open world assumption
  • Open world of the web - always assumes someone
    could add some extra information
  • Some one could come along and add a statement to
    say margherita pizza has ham on it.
  • We have to cap off the description to say
    margherita pizza has these toppings and I know it
    doesnt have any meat ingredients. (It may have
    herbs etc.)

31
Exercise 9
  • Cap off the definition of margherita pizza with
    a toClass restriction.
  • Send the ontology to the reasoner.
  • (Note we can now explicitly say Neptune has no
    cheese ingredient in the same way)
  • Load ontology pizza-tutorial-ex-10.daml to see
    more definitions.

32
Transitivity
  • Vegetarians are picky!
  • Soho pizza isnt classed as vegetarian in the
    menu
  • Some cheeses are made with meat products (rennin)
  • The ingredient property is transitive. If
    parmesan has a meat ingredient in it any pizza
    with parmesan should be also be classed as
    containing a meat ingredient

33
Exercise 10
  • Make the has_part relationship transitive
  • Add rennin as a subclass of meat ingredient
  • Add a restriction on parmesan to say it has_part
    some rennin.
  • Send the ontology to the reasoner.

34
Cardinality
  • More precise numerical constraints can be placed
    on relationships.
  • It should be read as members of class A are
    related by this property to this many members of
    class B

35
Exercise 11
  • Change the definition of cheesy pizza to a pizza
    with at least 2 types of cheese
  • Add a new type of pizza called four cheese
    pizza which has exactly four topping ingredients
    of type cheese ingredient
  • Use the reasoner
  • Add a disjoint axiom between parmesan and
    mozzarella.
  • Use the reasoner

36
Domain and range constraints
  • Used to specify what classes can be used with
    properties
  • May be useful but can have undesirable effects

37
Exercise 12
  • For has_topping_ingredient add a domain of pizza
    and a range of ingredient
  • Make intentional errors to test the system e.g.
    add ham as a topping ingredient of onion and add
    four cheeses pizza as a topping of margherita
    pizza.
  • Use the reasoner
  • Examine the superclasses of onion
  • Add a disjoint axiom between pizza and ingredient
  • Use the reasoner

38
Things not covered
  • Inverse properties, symmetrical properties,
    unique properties.
  • Subclass and sameClass axioms.
  • Use of individuals

39
Current example ontologies
  • GONG
  • myGrid

40
Current example applications
  • Clinergy not DAMLOIL
  • PEDro

41
Providing a controlled vocabulary
Applications
Day Location Pizza type
02/01/02 Cambridge Margherita
3. Multiple hierarchy
2. Tree
meat pizza
spicy pizza
American hot pizza
42
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com