View
214
Download
0
Embed Size (px)
Citation preview
The Semantic WebWeek 15Reasoning with (and Visualising) OntologiesModule Website:
http://scom.hud.ac.uk/scomtlm/chs2533Practical :Protégé-2000 WITH OWL:
Work through Protégé tutorial up to page 73
Recap
Protégé-2000 is a Knowledge Acquisition Tool that helps one build up Ontologies in OWL. We can create hierarchies of is-a classes, properties, and necessary conditions for class membership.
The Pizza example is useful for learning about ontologies as it contains a wide range of structured and composite types.
Question..
Protégé is a tool which helps people build ontologies in OWL – that is enter knowledge in a form that can be used in the Semantic Web.
Question: Can non-computer experts use it?
CONTINUED: Developing ontologies in OWL: “Partial” and “Complete” Definitions
Partial = Necessary Condition Complete = Necessary and Sufficient Condition
Example: set {2,4,6,8,10,12}Necessary condition for membership: even number[but 14 is even but not a member..]Sufficient condition for membership: = 2N, where 0 < N < 4[but 12 is a member that is not = 2N]Necessary and Sufficient Condition:Even number between 2 and 12 inclusive.
OWL: “Partial” and “Complete” Definitions
OWL abstract syntax:
Class(a:Pizza partial
restriction(a:hasBase someValuesFrom (a:PizzaBase)))
FOL:
Ax Pizza(x) => Ey hasBase(x,y) & PizzaBase(y)
PizzasPizzaBase
Things that have at least one PizzaBase
hasBase
Necessary and Sufficient Classes..We need sufficient conditions - If we only have
necessary conditions then we can never state for definite that an instance is a member of a class.
Eg
CheesyPizza(x)
Pizza(x) &
Ey hasTopping(x,y) & CheeseTopping(y)
For-All Restrictions
Vegetarian condition…
Ay hasTopping(x,y) => (CheeseTopping(y) V
VegetableTopping(y))
..but also need an existential condition saying there exists at least one topping…
For-All Restriction gives Complete Defn:
VegetarianPizza(x)
Pizza(x) &
Ay hasTopping(x,y) => (CheeseTopping(y) V
VegetableTopping(y))
NB there are other possible defns ..
VegetarianPizza(x)
Pizza(x) &
not (Ey hasTopping(x,y)&MeatyTopping(y)) &
not (Ey hasTopping(x,y)&FishyTopping(y))
Reasoning- Subsumption Used to RE-CLASSIFY an asserted hierarchy. The
re-classification is called the inferred model. Used for Consistency checking – can every class
defined have some instances?
Eg
IS-A IS-A
DISJOINT
Another Example: The Martians Application
1. GreenMartians C AntennaeMartiansA Martian has antennae IF it is green.2. A_has-child.Antennae C Friendly A Martian is friendly to humans IF all of its children have antennae. 3. E_has-parent.Green C Green A Martian is green IF at least one of its parents is green.
Step 1: Define Martian class, and Green, Antennae, Friendly subclasses.
Step 2: Create subclasses of Friendly and Green with necessary and sufficient conditions
= A_has-child.Antennae and E_has-parent.Green respecivelyStep 3: Create has-parent and has-child propertiesStep 4: A necessary condition for a Martian is that it has at least one
parent
The Martians Application
Step 5:
Run the classifier
a) Use OWLViz – the asserted model is the facts that have been asserted.
b) The inferred model should show that all green Martians friendly (the hierarchy has been changed)