Sie sind auf Seite 1von 68

An Introduction to Building Description Logic Ontologies using the Protg-OWL Plugin

Barry Pekilis
Generative Programming Laboratory bpekilis@swen.uwaterloo.ca

Watform Group Talk March 6, 2006

Presentation Overview
      

Introduction Background Protg OWL Restrictions Summary References

March 6/06 (revised)

Protg-OWL Plugin

My Research: Resource Ownership




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

 

March 6/06 (revised)

Protg-OWL Plugin

Today s Talk
   

Creating description logic (DL) ontologies Web Ontology Language (OWL) Protg-OWL Plugin Running example: OWL Pizza ontology

March 6/06 (revised)

Protg-OWL Plugin

Knowledge Representation (KR)


 

Design of formalisms for expressing knowledge Logic-based approaches


 

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


March 6/06 (revised)

Protg-OWL Plugin

Description Logics (DL)


 

Emphasis on properties of underlying logical system Concepts represented by DL expression




sets of individuals

 

Terminology represented by hierarchical structure Balance


 

representation ease reasoning efficiency

March 6/06 (revised)

Protg-OWL Plugin

Semantic Web


Framework for data sharing & reuse across application, enterprise & community boundaries


machine-understandable resources & meta-data

 

Collaborative effort led by W3C Based on Resource Description Framework (RDF)


 

XML for syntax, Uniform Resource Identifiers (URI) for naming

Official semantic web ontology language is OWL

March 6/06 (revised)

Protg-OWL Plugin

Semantic Web Architecture

March 6/06 (revised)

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.

March 6/06 (revised)

Protg-OWL Plugin

The Web Ontology Language (OWL)




OWL is a description logic-based semantic markup language for publishing & sharing ontologies Extension to RDF & RDFS Derived from DAML+OIL Web Ontology Language
 

 

DAML DARPA Agent Markup Language OIL Ontology Inference Layer

March 6/06 (revised)

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
 

March 6/06 (revised)

Protg-OWL Plugin

11

OWL Sub-Language Extensions

March 6/06 (revised)

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

  

March 6/06 (revised)

Protg-OWL Plugin

13

March 6/06 (revised)

Protg-OWL Plugin

14

March 6/06 (revised)

Protg-OWL Plugin

15

March 6/06 (revised)

Protg-OWL Plugin

16

March 6/06 (revised)

Protg-OWL Plugin

17

Basic Syntactic Building Blocks


Description Logic Frames-based Ontology OWL-based Ontology

Concept (unary predicates) Roles (binary predicates) Individual (constants)


March 6/06 (revised)

Class Slot Instance


Protg-OWL Plugin

Class Property Individual


18

OWL Individuals


Instances of classes representing objects in the domain of discourse

March 6/06 (revised)

Protg-OWL Plugin

19

OWL Properties


Act as binary relations on individuals

March 6/06 (revised)

Protg-OWL Plugin

20

OWL Classes


Sets of individuals with formal descriptions that precisely state requirements for class membership

March 6/06 (revised)

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

March 6/06 (revised)

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

March 6/06 (revised)

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

  

Six types of OWL classes Named classes Anonymous (Unnamed) classes:


  

Intersection, Union & Complement Restriction Enumeration

March 6/06 (revised)

Protg-OWL Plugin

24

Creating Named Classes


 

Select classes tab Create subclass & Create sibling class buttons create:
  

Pizza PizzaBase PizzaTopping

March 6/06 (revised)

Protg-OWL Plugin

25

Creating Subclasses


Subclasses of PizzaTopping represent categorizations of pizza toppings

March 6/06 (revised)

Protg-OWL Plugin

26

Meaning of Subclasses

March 6/06 (revised)

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

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

29

Creating Properties
 

Object super-property hasIngredient Object properties hasTopping & hasBase

March 6/06 (revised)

Protg-OWL Plugin

30

Property Characteristics
    

Inverse Functional InverseFunctional Symmetric Transitive

March 6/06 (revised)

Protg-OWL Plugin

31

Inverse: hasChild


If property P links individual A to individual B, then its inverse property Q links B to A

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

33

Inverse Functional: isBirthMotherOf




Given an individual A, there can be at most one individual B related to A via an inverse functional property P

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

35

Transitive Example: hasIngredient

March 6/06 (revised)

Protg-OWL Plugin

36

Symmetric Property: hasSibling




Given symmetric property P that relates individual A to individual B, then B is also related to A via P

March 6/06 (revised)

Protg-OWL Plugin

37

Property Domain & Range




Properties P links individuals from the domain of P to individuals from the range of P

March 6/06 (revised)

Protg-OWL Plugin

38

Describing & Defining Classes




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

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

40

Creating Existential Restrictions




hasBase PizzaBase all individuals that have at least one relationship along hasBase property to an individual that is member of class PizzaBase

March 6/06 (revised)

Protg-OWL Plugin

41

Necessary Conditions


To be a Pizza, it is necessary to have some PizzaBase




Pizza is subclass of things that have at least one PizzaBase

March 6/06 (revised)

Protg-OWL Plugin

42

Necessary Conditions: Margherita

March 6/06 (revised)

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:
   

Subsumption checking Equivalence checking Consistency checking Instantiation checking

March 6/06 (revised)

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

Aside from knowledge-bases:




March 6/06 (revised)

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 . . .
 

March 6/06 (revised)

Protg-OWL Plugin

46

Probe Class


ProbeInconsistentTopping is subclass disjoint CheeseTopping & VegetableTopping

March 6/06 (revised)

Protg-OWL Plugin

47

Primitive Classes


Have only necessary conditions




it is necessary for the class to fulfill these conditions

March 6/06 (revised)

Protg-OWL Plugin

48

Defined Classes


Have one or more necessary & sufficient condition




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

March 6/06 (revised)

Protg-OWL Plugin

49

Necessary & Sufficient Conditions

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

Why Use Necessary & Sufficient?




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)

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

52

Classification Results:

CheesyPizza

March 6/06 (revised)

Protg-OWL Plugin

53

Asserted & Inferred Hierarchies

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

55

Creating Universal Restrictions




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

Open World Reasoning


 

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

 

March 6/06 (revised)

Closure Axiom: Margherita




The union of all fillers in the existential restriction for the given property

March 6/06 (revised)

Protg-OWL Plugin

58

Value Partitions
 

Not part of OWL (or any other ontology language) Design pattern created to refine class descriptions
 

recognized solution to common modeling problem developed by experts

 

Has a restricted range (exhaustive list) of possible Covering Axiom makes list of value types exhaustive

March 6/06 (revised)

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

March 6/06 (revised)

Protg-OWL Plugin

60

Effect Of Covering Axiom

March 6/06 (revised)

Protg-OWL Plugin

61

Value Partition: Spiciness




Covering Axiom is union of Mild, Medium & Hot

March 6/06 (revised)

Protg-OWL Plugin

62

Covering Axiom: Spiciness

March 6/06 (revised)

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

March 6/06 (revised)

hasValue Restriction


Set of individuals having at least one relationship along specified property to a specific individual hasCountryOfOrigin Italy Italy is an individual

March 6/06 (revised)

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

March 6/06 (revised)

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

March 6/06 (revised)

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.

March 6/06 (revised)

Protg-OWL Plugin

68

Das könnte Ihnen auch gefallen