Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester."— Presentation transcript:

1 DAML+OIL 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 DAML+OIL ontologies? 2. What are the design principles? 3. What is the syntax of DAML+OIL?

3 a)Prevent the user spelling magherita differently b)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 pizza’s were sold? Providing a controlled vocabulary DayLocation QtyPizza type 02/01/02CambridgeMargherita Pizza DB Applications 1

4 Schema integration Database 1Database 2 Database 3 Schema 1 Schema 2 Schema 3 Ontology Applications

5 TAMBIS Applications

6 Ontologies to support rules DateMedication 311299Atenolol 25mg tabs bd Atenolol oral 25mg Drug Catalogue Iff Antianginal then... ? Patient Record Rules

7 DateMedication Ontologies to support rules DateMedication 311299Atenolol 25mg tabs bd Atenolol oral 25mg B-Blocker Antianginal Drug Ontology Drug Catalogue Iff Antianginal then... ? Patient Record Guideline

8 How are ontologies encoded? Margherita Capricciosa …. 1. List3. Multiple hierarchy2. Tree American hot pizza meat pizza spicy pizza

9 Property driven classification 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 Principles

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 –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 Principles

17 Taxonomies as sets Homo sapiens Primate Eukaryota Chris Principles

18 Disjointness In the DAML+OIL 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 DAML+OIL 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 DAML+OIL 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 doesn’t 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 isn’t 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 DAML+OIL PEDro

41 Providing a controlled vocabulary DayLocationPizza type 02/01/02CambridgeMargherita Capricciosa …. 1. List3. Multiple hierarchy Pizza DB 2. Tree American hot pizza meat pizza spicy pizza Applications

42


Download ppt "DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester."

Similar presentations


Ads by Google