1 Foundations of the Semantic Web: Ontology Engineering Building Ontologies 1 Alan Rector & colleagues.

Slides:



Advertisements
Similar presentations
Ontologies and Databases Ian Horrocks Information Systems Group Oxford University Computing Laboratory.
Advertisements

A complete citation, notecard, and outlining tool
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
PROBABILITY. Uncertainty  Let action A t = leave for airport t minutes before flight from Logan Airport  Will A t get me there on time ? Problems :
“Elephant Traps” Alan Rector with The Bio Health Informatics Group The CO-ODE Team University of Manchester With acknowledgements to Natsha Noy and the.
Key Stone Problem… Key Stone Problem… next Set 21 © 2007 Herbert I. Gross.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Section 3 Systems of Professional Learning Module 1 Grades 6–12: Focus on Practice Standards.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
The Semantic Web – WEEK 11: Description Logic + OWL Featuring..MAD COWS.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Inheritance. Extending Classes It’s possible to create a class by using another as a starting point  i.e. Start with the original class then add methods,
The Semantic Web – WEEK 5: RDF Schema + Ontologies The “Layer Cake” Model – [From Rector & Horrocks Semantic Web cuurse]
The Semantic Web Week 14 Module Website: Lecture (SHORT): OWL PIZZAS Practical (LONGER): Getting to know Protégé-2000.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
The Composite Pattern.. Composite Pattern Intent –Compose objects into tree structures to represent part-whole hierarchies. –Composite lets clients treat.
DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester.
1 CS646 Lab & Mini-project Assignment. 2 Mechanics Everything is to be submitted through Boddington –Everything must be identified with your library/University.
1 Please install from CDs or USB pens provided: Knowledge Representation in Protégé –OWL Please install from CDs or USB pens provided: Protégé 3 Beta –
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
1 OWL The Web Ontology Language W3C standard Collision of DAML (frames) and Oil (DLs in Frame clothing) Three ‘flavours’ OWL-Lite –simple but limited OWL-DL.
© University of Manchester 1 Ontology Normalisation, Pre- and Post- Coordination Alan Rector & CO-ODE/NIBHI University of Manchester
Understanding Semantic Relationships By Veda C. Storey CMPT 455/826 - Week 5, Day 1 Sept-Dec 2009 – w5d11.
USCISIUSCISI Background Description Logic Systems Thomas Russ.
BioHealth Informatics Group Ontology Tutorial, © 2005 Univ. of Manchester1 Informal Modelling Robert Stevens.
Review of OWL for Biomedicine Alan Rector & CO-ODE/NIBHI University of Manchester OpenGALEN BioHealth Informatics Group © University.
1 CS60461 Lab & Mini-project Assignment. 2 Mechanics Everything is to be submitted through Moodle –Everything must be identified with your library/University.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Chap#11 What is User Support?
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 2: Defined.
© O. Corcho, MC Suárez de Figueroa Baonza 1 OWL and SWRL Protégé 4: Building an OWL Ontology Mari Carmen Suárez-Figueroa, Oscar Corcho {mcsuarez,
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
2nd Sept 2004UK e-Science all hands meeting1 Designing User Interfaces to Minimise Common Errors in Ontology Development Alan Rector, Nick Drummond, Matthew.
1 Please install from CDs or USB pens provided: Knowledge Representation in Protégé –OWL Please install from CDs or USB pens provided:
Chapter 2 Section 2.1 Sets and Set Operations. A set is a particular type of mathematical idea that is used to categorize or group different collections.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
1 Class exercise II: Use Case Implementation Deborah McGuinness and Peter Fox CSCI Week 8, October 20, 2008.
ONTOLOGY ENGINEERING Lab #3 – September 15,
1 Foundations of the Semantic Web: Ontology Engineering Building Ontologies 1b Classes and Instances Concepts & Individuals Alan Rector & colleagues Special.
Description Logics Dr. Alexandra I. Cristea. Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
Enable Semantic Interoperability for Decision Support and Risk Management Presented by Dr. David Li Key Contributors: Dr. Ruixin Yang and Dr. John Qu.
Of 29 lecture 15: description logic - introduction.
1080 and the Control of mammalian pests Report on a biological issue 3 credits.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
Topic 3: ER – Entity Relationship Model (ERM) 6/12/
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
1 Letting the classifier check your intuitions Existentials, Universals, & other logical variants Some, Only, Not, And, Or, etc. Lab exercise - 3b Alan.
COP Introduction to Database Structures
COMP6215 Semantic Web Technologies
Common MBSE Modeling Questions and How Ontology Helps
Preview Section 1 Sorting It All Out Section 2 Domains and Kingdoms
ece 720 intelligent web: ontology and beyond
Input Space Partition Testing CS 4501 / 6501 Software Testing
Lab exercise - 3a Alan Rector & colleagues
Session 2: Defined Classes Nick Drummond
CS646: OWL Tutorial (session 2)
ece 720 intelligent web: ontology and beyond
Issues in Knowledge Representation
Foundations of the Semantic Web: Ontology Engineering
Chapter 11 user support.
Spreadsheets, Modelling & Databases
Presentation transcript:

1 Foundations of the Semantic Web: Ontology Engineering Building Ontologies 1 Alan Rector & colleagues

2 Developing an Ontology Start at the Beginning You now have all you need to implement simple existential ontologies, so let’s go back to the beginning The goal for the example ontology is to build an ontology of animals to index a children’s book of animals The goal for the lab ontology is for you to build an ontology for the CS department and eventually for the University

3 Steps in developing an Ontology 1.Establish the purpose –Without purpose, no scope, requirements, evaluation, 2.Informal/Semiformal knowledge elicitation –Collect the terms –Organise terms informally –Paraphrase and clarify terms to produce informal concept definitions –Diagram informally 3.Refine requirements & tests

4 Steps in implementing an Ontology 4.Implementation –Paraphrase and comment at each stage before implementing –Develop normalised schema and skeleton –Implement prototype recording the intention as a paraphrase Keep track of what you meant to do so you can compare with what happens –Implementing logic-based ontologies is programming –Scale up a bit Check performance –Populate Possibly with help of text mining and language technology 5.Evaluate & quality assure –Against goals –Include tests for evolution and change management –Design regression tests and “probes” 6.Monitor use and evolve –Process not product!

5 Purpose & scope of the animals ontology To provide an ontology for an index of a children’s book of animals including –Where they live –What they eat Carnivores, herbivores and omnivores –How dangerous they are –How big they are –A bit of basic anatomy numbers of legs, wings, toes, etc.

6 Collect the concepts Card sorting is often the best way –Write down each concept/idea on a card –Organise them into piles –Link the piles together –Do it again, and again –Works best in a small group –In the lab we will provide you with some pre-printed cards and many spare cards Work in pairs or triples

7 Example: Animals & Plants Dog Cat Cow Person Tree Grass Herbivore Male Female Dangerous Pet Domestic Animal Farm animal Draft animal Food animal Fish Carp Goldfish Carnivore Plant Animal Fur Child Parent Mother Father

8 Organise the concepts Example: Animals & Plants Dog Cat Cow Person Tree Grass Herbivore Male Female Healthy Pet Domestic Animal Farm animal Draft animal Food animal Fish Carp Goldfish Carnivore Plant Animal Fur Child Parent Mother Father

9 Extend the concepts “Laddering” Take a group of things and ask what they have in common –Then what other ‘siblings’ there might be e.g. –Plant, Animal  Living Thing Might add Bacteria and Fungi but not now –Cat, Dog, Cow, Person  Mammal Others might be Goat, Sheep, Horse, Rabbit,… –Cow, Goat, Sheep, Horse  Hoofed animal (“Ungulate”) What others are there? Do they divide amongst themselves? –Wild, Domestic  Demoestication What other states – “Feral” (domestic returned to wild) Vocabulary note: “Sibling” = “brother or sister”

10 Choose some main axes Add abstractions where needed –e.g. “Living thing” identify relations –e.g. “eats”, “owns”, “parent of” Identify definable things –e.g. “child”, “parent”, “Mother”, “Father” Things where you can say clearly what it means –Try to define a dog precisely – very difficult »A “natural kind” make names explicit

11 Choose some main axes Add abstractions where needed; identify relations; Identify definable things, make names explicit Living Thing –Animal Mammal –Cat –Dog –Cow –Person Fish –Carp –Goldfish –Plant Tree Grass Fruit Modifiers –domestic pet Farmed –Draft –Food –Wild –Health healthy sick –Sex Male Female –Age Adult Child Definable Carinvore Herbivore Child Parent Mother Father Food Animal Draft Animal Relations eats owns parent-of …

12 Self_standing_entities Things that can exist on there own nouns –People, animals, houses, actions, processes, … Roughly nouns Modifiers –Things that modify (“inhere”) in other things Roughly adjectives and adverbs

13 Reorganise everything but “definable” things into pure trees – these will be the “primitives” Self_standing –Living Thing Animal –Mammal »Cat »Dog »Cow »Person »Pig –Fish »Carp Goldfish Plant –Tree –Grass –Fruit Modifiers –Domestication Domestic Wild –Use Draft Food pet –Risk Dangerous Safe –Sex Male Female –Age Adult Child Definables Carnivore Herbivore Child Parent Mother Father Food Animal Draft Animal Relations eats owns parent-of …

14 If anything needs clarifying, add a text comment Self_standing –Living Thing Animal –Mammal »Cat »Dog »Cow »Person »Pig –Fish »Carp Goldfish Plant –Tree –Grass –Fruit – The abstract ancestor concept including all living things – restrict to plants and animals for now”

15 Identify the domain and range constraints for properties Animal eats Living_thing –eats domain: Animal; range: Living_thing Person owns Living_thing except person –owns domain: Person range: Living_thing & not Person Living_thing parent_of Living_thing –parent_of: domain: Animal range: Animal

16 If anything is used in a special way, add a text comment Animal eats Living_thing –eats domain: Animal; range: Living_thing —ignore difference between parts of living things and living things also derived from living things

17 For definable things Paraphrase and formalise the definitions in terms of the primitives, relations and other definables. Note any assumptions to be represented elsewhere. –Add as comments when implementing “A ‘Parent’ is an animal that is the parent of some other animal” (Ignore plants for now) –Parent = Animal and parent_of some Animal “A ‘Herbivore’ is an animal that eats only plants” (NB All animals eat some living thing) –Herbivore= Animal and eats only Plant “An ‘omnivore’ is an animal that eats both plants and animals” – Omnivore= Animal and eats some Animal and eats some Plant

18 Paraphrases and Comments Write down the paraphrases and put them in the comment space. –We can show you how to make the comment space bigger to make it easier. Without a paraphrase, we cannot tell if we disagree on –What you meant to represent –How you represented it Without a paraphrase we will mark down by at least half and give no partial credit –We will try to understand what you are doing, but we cannot read your minds.

19 Which properties can be filled in at the class level now? What can we say about all members of a class? –eats All cows eat some plants All cats eat some animals All pigs eat some animals & eat some plants

20 Fill in the details (can use property matrix wizard)

21 Check with classifier Cows should be Herbivores –Are they? why not? What have we said? –Cows are animals and, amongst other things, eat some grass and eat some leafy_plants What do we need to say: Closure axiom –Cows are animals and, amongst other things, eat some plants and eat only plants »(See “Vegetarian Pizzas” in OWL tutorial)

22 Closure Axiom –Cows are animals and, amongst other things, eat some plants and eat only plants Closure Axiom

23 In the tool Right mouse button short cut for closure axioms –for any existential restriction

24 Open vs Closed World reasoning Open world reasoning –Negation as contradiction Anything might be true unless it can be proven false –Reasoning about any world consistent with this one Closed world reasoning –Negation as failure Anything that cannot be found is false –Reasoning about this world Ontologies are not databases

25 Normalisation and Untangling Let the reasoner do multiple classification Tree –Everything has just one parent A ‘strict hierarchy’ Directed Acyclic Graph (DAG) –Things can have multiple parents A ‘Polyhierarchy’ Normalisation –Separate primitives into disjoint trees –Link the trees with definitions & restrictions Fill in the values –Let the classifier produce the DAG

26 Tables are easier to manage than DAGs / Polyhierarchies …and get the benefit of inference: Grass and Leafy_plants are both kinds of Plant

27 Remember to add any closure axioms Closure Axiom Then let the reasoner do the work

28 Normalisation: From Trees to DAGs Before classification A tree After classification A DAG Directed Acyclic Graph

29 Summary: Normalised Ontology Development Identify the self-standing primitives –Comment any that are not self-evident Separate them into trees –You may have to create some ‘roles’ or other auxiliary concepts to do so Identify the relations –Comment any that are not self evident Create the descriptions and definitions –Provide a paraphrase for each Identify how key items should be classified – – Define regression tests Use classifier to form a DAG Check if tests are satisfied

30 Part II – Useful Patterns (continued) Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying ValuesSpecifying Values n-ary relations Classes as values – using the ontology

31 Examine the modifier list Identify modifiers that have mutually exclusive values –Domestication –Risk –Sex –Age Make meaning precise –Age  Age_group NB Uses are not mutually exclusive –Can be both a draft (pulling) and a food animal Modifiers Domestication Domestic Wild Use Draft Food Risk Dangerous Safe Sex Male Female Age Adult Child

32 Extend and complete lists of values Identify modifiers that have mutually exclusive values –Domestication –Risk –Sex –Age Make meaning precise –Age  Age_group NB Uses are not mutually exclusive –Can be both a draft and a food animal Modifiers Domestication Domestic Wild Feral Risk Dangerous Risky Safe Sex Male Female Age Infant Toddler Child Adult Elderly

33 Note any hierarchies of values Identify modifiers that have mutually exclusive values –Domestication –Risk –Sex –Age Make meaning precise –Age  Age_group NB Uses are not mutually exclusive –Can be both a draft and a food animal Modifiers Domestication Domestic Wild Feral Risk Dangerous Risky Safe Sex Male Female Age Child Infant Toddler Adult Elderly

34 Specify Values for each: Two methods Value partitions –Classes that partition a Quality The disjunction of the partition classes equals the quality class Symbolic values –Individuals that enumerate all states of a Quality The enumeration of the values equals the quality class

35 Method 1: Value Partitions- example “Dangerousness” A parent quality – Dangerousness Subqualities for each degree –Dangerous, Risky, Safe All subqualities disjoint Subqualities ‘cover’ parent quality –Dangerousness = Dangerous OR Risky OR Safe A functional property has_dangerousness –Range is parent quality, e.g. Dangerousness –Domain must be specified separately Dangerous_animal = Animal and has_dangerousness some Dangerous

36 as created by Value Partition wizard

37 Dangerous Risky Safe Leo’s Danger Dangerous animal Leo the Lion has_dangerousness someValuesFrom has_dangerousness Value partitions Diagram Dangerousness Animal

38 Dangerousness_ Value Safe_ value Risky_ value Dangerous_ value Animal Dangerous Animal Leo the Lion Leo’s Dangerousness owl:unionOf has_dangerousness has_dangerousness someValuesFrom Value partitions UML style

39 Picture of subdivided value partition Adult_value Child_value Elderly_ value Infant_ value Toddler_ value Age_Group_value

40 Method 2: Value sets – Example Sex There are only two sexes –Can argue that they are things “Administrative sex” definitely a thing “Biological sex” is more complicated

41 Method 2: Value sets- example “Sex” A parent quality – Sex_value Individuals for each value –male, female Values all different (NOT assumed by OWL) Value type is enumeration of values –Sex_value = {male, female} A functional property has_sex –Range is parent quality, e.g. Sex_value –Domain must be specified separately Male_animal = Animal and has_sex is male

42 Value sets UML style Sex Value Person Man John owl:oneOf has_sex femalemale

43 Issues in specifying values Value Partitions –Can be subdivided and specialised –Fit with philosophical notion of a quality space –Require interpretation to go in databases as values in theory but rarely considered in practice –Work better with existing classifiers in OWL-DL Value Sets –Cannot be subdivided –Fit with intuitions –More similar to data bases – no interpretation –Work less well with existing classifiers

44 Value partitions – practical reasons for subdivisions See also “Normality_status” in –One can have complicated value partitions if needed. “All elderly are adults” “All infants are children” etc.

45 Summary of Specifying Values Principles –Values distinct Disjoint if value partition/classes allDifferent if value sets/individuals –Values “cover” type Covering axiom if value partition/classes –Quality = VP 1 OR VP 2 OR VP 3 OR…OR VP n Enumeration if value sets/individuals –Quality = {v 1 v 2 v 3 … v n } –Property usually functional But can have multi-valued cases occasionally Practice –In this module we recommend you use Value Partitions in all cases for specifying values Works better with the reasoner We have a Wizard to make it quick

46 “Roles” To keep primitives in disjoint –need to distinguish the roles things play in different situations from what they are –e.g. “pet”, “farm animal”, “draft animal”, – “professor”, “student”, … – “doctor”, “nurse”, “patient” Often need to distinguish qualifications from roles –A person may be qualified as a doctor but playing the role of a patient

47 Roles usually summarise relations “to play the role of pet” is to say that there is somebody for whom the animal is a pet “to play the role of doctor” is to say that there is somebody for whom the person is acting as the “doctor” – or some “situation” in which they play that role But we often do not want to explain the situation or relation completely

48 “Roles” and “Untangling” Animal –Draft_animal Cow Horse Dog –Food_animal Cow Horse –Pet_animal Horse Dog Animal –Mammal Cow Horse Dog Animal_use_role –Food_role –Pet_role –Draft_role Vocabulary note: “Draft” means pulling – as in pulling a cart or plough Draft_animal = Animal & has_role some Daft_role Food_animal = Animal & has_role some Food_role Pet_animal = Animal & has_role some Pet_role

49 Logical approximations for roles Cow plays_role some Draft_role –Means all cows play some draft role Too strong a statement Solutions –Ignore the problem for purposes of the ontology –Replace has_role by may_have_role Still to strong but probably the a pragmatic answer If classifying instances need both –All cows may have some draft role Cow  may_have Draft_role Just those that actually do are known as Draft_cows –Draft_Cow = Cow & has_role Draft_role

50 Example of language problems “DraftHorse” and “Draft_horse” –Some breeds of horses were bred for draft work Known officialy as “Draft horses” –The words have taken on a “idiomatic” meaning »No longer mean what they say »Other examples “Blue bird” vs “Bluebird” “Black berry” vs “Blackberry” … Horse  may_have_role some Draft_role –DraftHorse rdf:comment “Draft breed horse” –Draft_horse = Horse AND has_role some Draft_role rdf:comment: “Horse actually used for draft work”

51 Separate Language Labels from Ontology OWL/RDF mechanisms weak –rdf:label Allows a language or sublanguage tag, but merely an annotation Better to be maximally explicit in internal names for concepts –Better to be not understood than to be misunderstood Change DraftHorse to Draft_breed_horse –rdf:label “Draft horse”

52 Ontology engineering Provide paraphrases and comments for all classes Provide probe classes and testing framework –Probe classes: extra classes that either should or should not be satisfiable or classified in a particular place The tool lets you hide probe classes from user and delete them from final export –Can also put debugging information on other classes Testing framework will report violations This is still new software, so let us know if it doesn’t work or how it could be improved.

53 Lab Exercise Take cards for University ontology to produce an ontology for the university including the personnel department’s equal opportunities officer Group the cards and form initial hierarchies –Separate likely primitives, modifiers, roles, defined concepts and properties, classes and individuals –Ladder up to provide abstractions as needed And fill in siblings –Propose a normalised ontology Classify it to see that it works correctly –Provide probe classes to check both classification and unsatisfiability »One file to turn in –Download the tangled ontology proposed by the personnel department Untangle it –A second file to turn in