Beruflich Dokumente
Kultur Dokumente
Barry Pekilis
Generative Programming Laboratory bpekilis@swen.uwaterloo.ca
Presentation Overview
Protg-OWL Plugin
GOAL: Verification of conformance for sessionoriented, real-time software services to their application resource management schemes Domain & concept analysis to construct resource ownership (RO) ontology in OWL Use RO ontology to construct RO metamodel in UML Instantiate sets of state-dependent object models from RO metamodel for runtime RO monitoring
Protg-OWL Plugin
Today s Talk
Creating description logic (DL) ontologies Web Ontology Language (OWL) Protg-OWL Plugin Running example: OWL Pizza ontology
Protg-OWL Plugin
precise semantics (i.e., predicate calculus) no visual structure visual structure based on cognitive notion from experiments with human memory & mathematical puzzle solving no precise semantics
Non-logic-based approaches
Protg-OWL Plugin
sets of individuals
Protg-OWL Plugin
Semantic Web
Framework for data sharing & reuse across application, enterprise & community boundaries
Protg-OWL Plugin
Protg-OWL Plugin
What is an Ontology?
Short Answer:
An explicit specification of a conceptualization of a knowledge domain.
Long Answer:
A controlled vocabulary that formally describes objects and the relations between them and has a grammar for using the vocabulary terms to express something meaningful within a domain of interest. The vocabulary is used to make queries and assertions. Ontological commitments are agreements to use the vocabulary in a consistent way for knowledge sharing.
Protg-OWL Plugin
OWL is a description logic-based semantic markup language for publishing & sharing ontologies Extension to RDF & RDFS Derived from DAML+OIL Web Ontology Language
Protg-OWL Plugin
10
Species of OWL
OWL-Lite
limited expressiveness for simple class hierarchies & constraints medium expressiveness supports automated reasoning most expressive does not support automated reasoning
OWL-DL
OWL-Full
Protg-OWL Plugin
11
Protg-OWL Plugin
12
Protg
Open source ontology editor & knowledge-base framework its free Suite of tools to construct ontological domain models & knowledge-based applications Two ontology modeling platforms: Protg-Frames editor Protg-OWL editor
Protg-OWL Plugin
13
Protg-OWL Plugin
14
Protg-OWL Plugin
15
Protg-OWL Plugin
16
Protg-OWL Plugin
17
OWL Individuals
Protg-OWL Plugin
19
OWL Properties
Protg-OWL Plugin
20
OWL Classes
Sets of individuals with formal descriptions that precisely state requirements for class membership
Protg-OWL Plugin
21
Class Organization
Classes organized into taxonomy (hierarchy) Subclasses specialize (are subsumed by) superclasses Consider example: class Pizza & class CheesePizza
CheesePizza is a subclass of Pizza Pizza is the superclass of CheesePizza All CheesePizza are Pizza All members of CheesePizza are also members of Pizza Being a CheesePizza implies youre an Pizza CheesePizza is subsumed by Pizza
Protg-OWL Plugin
22
Disjoint Classes
OWL Classes assumed to overlap If required, must assert group of classes to be disjoint Separates group of classes into disjoint sets Individual of one class in group cannot be member of another class in same group
Protg-OWL Plugin
23
OWL-DL Ontology
OWL : Thing
built-in class every empty OWL ontology contains one represents set of all individuals in ontology
Protg-OWL Plugin
24
Select classes tab Create subclass & Create sibling class buttons create:
Protg-OWL Plugin
25
Creating Subclasses
Protg-OWL Plugin
26
Meaning of Subclasses
Protg-OWL Plugin
27
OWL Properties
Represent relationships between two individuals Object properties relate individual to individual Datatype properties relate individual to data value Annotation property attach meta-data to classes, individuals, or properties
Protg-OWL Plugin
28
Property Hierarchies
Properties can have one or more super-properties Object properties only have object super-properties Datatype properties only have datatype superproperties
Protg-OWL Plugin
29
Creating Properties
Protg-OWL Plugin
30
Property Characteristics
Protg-OWL Plugin
31
Inverse: hasChild
Protg-OWL Plugin
32
Functional: hasBirthMother
Given an individual A, there can be at most one individual B related to A via a functional property P
Protg-OWL Plugin
33
Given an individual A, there can be at most one individual B related to A via an inverse functional property P
Protg-OWL Plugin
34
Transitive: hasAncestor
Given transitive property P that relates individual A to individual B, and B to individual C, then A is related to C via P
Protg-OWL Plugin
35
Protg-OWL Plugin
36
Given symmetric property P that relates individual A to individual B, then B is also related to A via P
Protg-OWL Plugin
37
Properties P links individuals from the domain of P to individuals from the range of P
Protg-OWL Plugin
38
OWL properties create restrictions to constrain or restrict the set of individuals belonging to an anonymous (unnamed) class Format (Restriction) (Property) (Filler) Quantifier restrictions
existential (some values from, at least one) universal (only) min (at least); equal = (exactly); max (at most)
Cardinality restrictions
hasValue restrictions ( )
Protg-OWL Plugin 39
Existential Restrictions
Anonymous class of individuals having at least one relationship along the specified property to an individual that is a member of the specified class
Protg-OWL Plugin
40
hasBase PizzaBase all individuals that have at least one relationship along hasBase property to an individual that is member of class PizzaBase
Protg-OWL Plugin
41
Necessary Conditions
Protg-OWL Plugin
42
Protg-OWL Plugin
43
Reasoning
OWL-DL ontologies can use a DL Reasoner to infer information is not explicitly asserted in the ontology Standard reasoning services are:
Protg-OWL Plugin
44
RacerPro
Renamed ABox & Concept Expression Reasoner Some RacerPro services include:
consistency check implicit subclass relationships OWL-QL query processing system ABOX contains extensional knowledge (assertional knowledge) specific to individuals TBOX contains intensional knowledge (taxonomy or terminology) that declares general properties
Protg-OWL Plugin 45
Using A Reasoner
Asserted hierarchy manually constructed Inferred hierarchy computed by reasoner Check consistency . . .
perform consistency check using class conditions determine whether or not a given class can have instances test whether or not a class is subclass of another class compute inferred ontology class hierarchy
Classify taxonomy . . .
Protg-OWL Plugin
46
Probe Class
Protg-OWL Plugin
47
Primitive Classes
Protg-OWL Plugin
48
Defined Classes
it is not only necessary to fulfill these conditions, but also sufficient to determine if an individual satisfying these conditions is a member of the class
Protg-OWL Plugin
49
LEFT: If CheesyPizza, then necessary to be a Pizza & have at least one CheeseTopping topping RIGHT: If Pizza & have at least one CheeseTopping, then sufficient to determine individual is a CheesyPizza
March 6/06 (revised) Protg-OWL Plugin 50
Suppose class A defined with necessary & sufficient conditions, then conditions are sufficient to determine whether something else is also a member of A Given another class B, whose individuals also satisfy the conditions that define class A, then a reasoner can automatically determine if B is subsumed by A (i.e., B subclass A)
Protg-OWL Plugin
51
Automatic Classification
Better to use reasoner to compute subclass-superclass relationships in large ontologies where classes may have many superclasses (multiple inheritance) Step One: manually construct simple tree for the asserted hierarchy Step Two: compute & maintain multiple inheritance in the inferred hierarchy using reasoner Minimizes possible human error & promotes reuse
Protg-OWL Plugin
52
Classification Results:
CheesyPizza
Protg-OWL Plugin
53
Protg-OWL Plugin
54
Universal Restrictions
Existential restrictions do not mandate specific classes Universal restrictions do restrict their relationships for a given property to individual of the specified class Universal restrictions do not specify the existence of the relationship, only that if the relationship exists, it must be to individuals of the specified class
Protg-OWL Plugin
55
hasTopping MozzarellaTopping individuals whose hasTopping relationships are only to members of MozzarellaTopping plus individuals who do not participate in any hasTopping relationships
March 6/06 (revised) Protg-OWL Plugin 56
OWL-DL based on open world assumption (OWA) Cannot assume something doesnt exist until it is explicitly stated that it does not exist Consider NamedPizza subclass Margherita Unless stated, reasoner will assume a Margherita has more toppings than just MozzarellaTopping & TomatoTopping Must use a Closure Axiom on hasTopping
Protg-OWL Plugin 57
The union of all fillers in the existential restriction for the given property
Protg-OWL Plugin
58
Value Partitions
Not part of OWL (or any other ontology language) Design pattern created to refine class descriptions
Has a restricted range (exhaustive list) of possible Covering Axiom makes list of value types exhaustive
Protg-OWL Plugin
59
Covering Axioms
Class that is the union of classes being covered Forms a superclass of the covered classes Consider classes A, B, C where B & C subclasses A If B & C covered by A, then member of A must be a member of B and/or C If B & C are disjoint, then member of A must be a member of either B or C but not both
Protg-OWL Plugin
60
Protg-OWL Plugin
61
Protg-OWL Plugin
62
Protg-OWL Plugin
63
Cardinality Restrictions
For property P, specifies restrictions on number of relationships between two individuals or an individual & datatype value Minimum Cardinality specifies minimum number of P relationships individual must participate in Maximum Cardinality specifies maximum number of P relationships an individual can participate in Cardinality specifies exact number of P relationships an individual must participate in
Protg-OWL Plugin 64
hasValue Restriction
Set of individuals having at least one relationship along specified property to a specific individual hasCountryOfOrigin Italy Italy is an individual
Protg-OWL Plugin
65
Enumerated Class
Defined by precisely listing individuals belonging to the enumerated class Anonymous class since only individuals listed in enumeration consider class DaysOfTheWeek which contains the only the individuals: { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday} each individual must be created in the ontology
Protg-OWL Plugin
66
Summary
Classes are building blocks of OWL ontology OWL has Named & Anonymous (unnamed) classes OWL distinguishes between necessary versus necessary & sufficient conditions Description logic reasoner can automatically check class consistency & take the asserted hierarchy to construct new information in the inferred hierarchy
Protg-OWL Plugin
67
References
F. Baader et al (Eds), The description logic handbook: theory, implementation, and applications, Cambridge University Press, 2003. M. Horridge et al, A practical guide to building OWL ontologies using the Protg-OWL plugin and CO-ODE tools (Edition 1.0), University of Manchester, 2004. H. Knublauch et al, The Protg OWL Plugin: an open development environment for semantic web applications, LNCS 3298, Springer, 2004. H. Knublauch et al, Editing description logic ontologies with the Protg OWL plugin, In Proc. International Workshop on Description Logics (DL2004), CEUR-WS.org, 2004.
Protg-OWL Plugin
68