27
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Chapter 8: Web Ontology Language (OWL)

  • Upload
    chung

  • View
    41

  • Download
    3

Embed Size (px)

DESCRIPTION

Chapter 8: Web Ontology Language (OWL). Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. “Species” or Dialects Constructors Axioms Inference Dialects Compared Expressiveness. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 8: Web Ontology Language (OWL)

Chapter 8:Web Ontology Language (OWL)

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 2: Chapter 8: Web Ontology Language (OWL)

Chapter 8 2Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Highlights of this Chapter “Species” or Dialects Constructors Axioms Inference Dialects Compared Expressiveness

Page 3: Chapter 8: Web Ontology Language (OWL)

Chapter 8 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Ontology Language (OWL)

OWL stands for Web Ontology Language OWL is built on top of RDF OWL is for processing information on the web OWL was designed to be interpreted by

computers OWL was not designed for being read by

people OWL is written in XML OWL has three sublanguages OWL is a web standard

Page 4: Chapter 8: Web Ontology Language (OWL)

Chapter 8 4Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Ontology Language (OWL)

Ontology is about the exact description of things and their relationships. Knowledge Structure

RDF captures the basics, i.e., an object-oriented type system

Additional subtleties of meaning are needed for effective knowledge Representation (KR)

OWL standardizes additional constructs to show how to capture such subtleties of meaning Builds on RDF Gives particular semantics to new terms

Example: Life Ontology

Page 5: Chapter 8: Web Ontology Language (OWL)

Chapter 8 5Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Why OWL? OWL is a part of the "Semantic Web Vision" - a

future where: Web information has exact meaning Web information can be processed by computers Computers can integrate information from the web

OWL provides the ability to specify classes and properties in a form of description logic with the terms in its expressions related using Boolean operators analogous to AND, NOT, and OR.

OWL was designed to provide a common way to process the content of web information (instead of displaying it).

Page 6: Chapter 8: Web Ontology Language (OWL)

Chapter 8 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL in Brief OWL has three species /sublanguages:

OWL Lite OWL DL (includes OWL Lite) OWL Full (includes OWL DL)

Specifies classes and properties in a form of description logic (DL) Class operators analogous to Boolean operators

and, not, and or Constraints on properties: transitive, … Restrictions: constructs unique to DL

Page 7: Chapter 8: Web Ontology Language (OWL)

Chapter 8 7Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL Constructors Classes correspond to sets of objects. Properties relate pairs of individuals. Class expressions are used to express

Page 8: Chapter 8: Web Ontology Language (OWL)

Chapter 8 8Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL Constructors OWL distinguishes between constructors and

axioms. The OWL constructors are the primitives that help us

specify new classes. The OWL axioms are the primitives that help us make

additional assertions about classes and properties. The OWL dialects provide class constructors that

are based on description logic. These constructors build on the data types defined in XML schema.

Classes correspond to sets of objects. Properties relate pairs of individuals.

Page 9: Chapter 8: Web Ontology Language (OWL)

Chapter 8 9Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL Constructors OWL comes into its own through a

sophisticated set of class expression constructors. A class name A Boolean combination of class expressions.

owl:intersectionOf owl:unionOf owl:complementOf

An enumeration enclosed in the owl:Class elemnts. owl:oneOf

A property restriction. OWL enables classes to be constructed out of properties

through the mechanism of the property restriction.

Page 10: Chapter 8: Web Ontology Language (OWL)

Chapter 8 10Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Custom Metadata Vocabularies Creating metadata for services and their

information resources they rely upon presupposes custom vocabularies for such metadata

The metadata must be given a standard semantics so that different parties interpret it the same way, and so that tools can function appropriately.

<Mammal rdf:ID=“Mary”/><Mammal rdf:ID=“John”> <hasParent rdf:resource=“#Mary”/></Mammal>

Page 11: Chapter 8: Web Ontology Language (OWL)

Chapter 8 11Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ontologies to Define Vocabulary Semantics

A trivial ontology defining our vocabulary Uses simple subclasses and properties

Disjointness goes beyond RDF Object properties refine RDF properties; relate two objects

<owl:Class rdf:ID="Mammal"> <rdfs:subClassOf rdf:resource="#Animal"/> <owl:disjointWith rdf:resource="#Reptile"/></owl:Class>

<owl:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/></owl:ObjectProperty>

Page 12: Chapter 8: Web Ontology Language (OWL)

Chapter 8 12Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Simple Inference Inference can be specified as part of the

semantics of the language. Given the definition for the property hasParent

and the snippet

<owl:Thing rdf:ID=“Fido"> <hasParent rdf:resource="#Rover"/></owl:Thing>

we can infer that Fido is an Animal Figure 8.1 presents an RDF schema that

includes the main entities and relationships of OWL.

Page 13: Chapter 8: Web Ontology Language (OWL)

Chapter 8 13Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL Entities and Relationships

rdfs:subClassOf

owl:equivalentClass

owl:disjointWith rdf:domain

owl:inverseOf

owl:equivalentProperty

rdfs:subPropertyOf

rdf:range

x

rdf:subPropertyOf

owl:equivalentProperty

owl:TransitiveProperty

owl:SymmetricProperty

owl:DatatypeProperty

rdf:Property

owl:ObjectProperty

owl:Class

rdfs:Class

rdfs:Datatype

owl:DataRange

owl:FunctionalProperty

owl:InverseFunctionalProperty

Page 14: Chapter 8: Web Ontology Language (OWL)

Chapter 8 14Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Constructing OWL Classes Explicitly (as in the examples above) or Anonymously, using

Restrictions (next page) Set operators: intersectionOf, unionOf,

complementOf, e.g.,<owl:Class rdf:ID='SugaryBread'> <owl:intersectionOf rdf:parseType='Collection'> <owl:Class rdf:about='#Bread'/> <owl:Class rdf:about='#SweetFood'/> </owl:intersectionOf></owl:Class>

Page 15: Chapter 8: Web Ontology Language (OWL)

Chapter 8 15Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions: 1

A unique feature of description logics Kind of like division in arithmetic: define classes

in terms of a restriction that they satisfy with respect to a given property

Anonymous: typically included in a class def to enable referring them

Key primitives are someValuesFrom a specified class allValuesFrom a specified class hasValue equal to a specified individual or data type minCardinality maxCardinality Cardinality (when maxCardinality equals minCardinality)

Page 16: Chapter 8: Web Ontology Language (OWL)

Chapter 8 16Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions: 2Examples of restriction fragments

<owl:Restriction> <owl:onProperty rdf:resource="#hasFather"/> <owl:maxCardinality rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:maxCardinality></owl:Restriction>

<owl:Restriction> <owl:onProperty rdf:resource='#bakes'/> <owl:someValuesFrom rdf:resource='#Bread'/></owl:Restriction>

Page 17: Chapter 8: Web Ontology Language (OWL)

Chapter 8 17Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions: 3 <owl:Class rdf:ID="Wine">

<rdfs:subClassOf rdf:resource="&food;PotableLiquid" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasMaker" /> <owl:allValuesFrom rdf:resource="#Winery" /> </owl:Restriction> </rdfs:subClassOf> ...</owl:Class>

The maker of a Wine must be a Winery The allValuesFrom restriction is on the hasMaker

property of this Wine class (Makers of other products such as cheese are not

constrained by this local restriction)

Page 18: Chapter 8: Web Ontology Language (OWL)

Chapter 8 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL Axioms Instances of both classes (objects) and

properties (pairs of objects) are written in the XML syntax for RDF.

Data values are written in RDF syntax with a string representation of the desired value.

A pair of classes or properties is identical or equivalent. They behave as synonyms.

Properties can be introduced as inverse of other properties.

It is helpful to relate ontologies to binary relations as elementary algebra.

Page 19: Chapter 8: Web Ontology Language (OWL)

Chapter 8 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Axioms: 1 Assertions that are given to be true Can be especially powerful in combination

with other axioms, which may come from different documents

Some primitives rdfs:subClassOf owl:equivalentClass

Page 20: Chapter 8: Web Ontology Language (OWL)

Chapter 8 20Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Axioms: 2<owl:AllDifferent> <!– in essence, pair-wise inequalities <owl:distinctMembers rdf:parseType='Collection'> <ex:Country rdf:ID='Russia'/> <ex:Country rdf:ID='India'/> <ex:Country rdf:ID='USA'/> <owl:distinctMembers/></owl:AllDifferent>

<ex:Country rdf:ID='Iran'/><ex:Country rdf:ID='Persia'> <owl:sameIndividualAs rdf:resource='#Iran'/></ex:Country>

Page 21: Chapter 8: Web Ontology Language (OWL)

Chapter 8 21Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions versus Axioms Axioms are global assertions that can be used

as the basis for further inference Restrictions are constructors

When we state that hasFather has a maxCardinality of 1, we are Defining the class of animals who have zero or one fathers:

this class may or may not have any instances Not stating that all animals have zero or one fathers

Often, to achieve the desired effect, we would have to combine restrictions with axioms (such as based on equivalentClass)

Page 22: Chapter 8: Web Ontology Language (OWL)

Chapter 8 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Inference OWL is about content, not the syntax Statements from different documents about

the same URI are automatically conjoined OWL can appear unintuitive to the uninitiated

Declare that no one can have more than one mother Declare Mary is John’s mother Declare Jane is John’s mother

A DBMS would declare an integrity violation An OWL reasoner would say Mary = Jane

Page 23: Chapter 8: Web Ontology Language (OWL)

Chapter 8 23Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Dialects Compared OWL DL: the core dialect, includes DL

primitives; not necessarily (but often practically) tractable

OWL Lite: adds restrictions to OWL DL make it tractable

OWL Full: lifts restrictions to allow other interpretations; extremely general; potentially intractable (undecidable); included just for fancy expressiveness needs

Page 24: Chapter 8: Web Ontology Language (OWL)

Chapter 8 24Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Expressiveness Limitations: 1OWL DL cannot express some simple

requirements Non-tree models: because instance variables

are implicit in OWL restrictions, OWL cannot express conditions that require that two variables be identified Think of siblings – two people who have the same

parents – but in terms of classes Do the same thing with class definitions

Page 25: Chapter 8: Web Ontology Language (OWL)

Chapter 8 25Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Expressiveness Limitations: 2

Specialized properties Cannot state that the child of a mammal must

be a mammal and so on, without Defining new child properties for each class Adding an axiom for each class stating that it is a

subClassOf the restriction of hasChild to itself Analogous to the problem in a strongly typed

object-oriented language without generics You have to typecast the contents of a hash table or

linked list

Page 26: Chapter 8: Web Ontology Language (OWL)

Chapter 8 26Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Expressiveness Limitations: 3 Constraints among individuals

Cannot define tall person: class of persons whose height is above a certain threshold

Can define ETHusband: class of persons who have been married to Elizabeth Taylor

Cannot capture defeasibility (also known as nonmonotonicity) Birds fly Penguins are birds Penguins don’t fly

Page 27: Chapter 8: Web Ontology Language (OWL)

Chapter 8 27Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 8 Summary OWL builds on RDF to provide a rich

vocabulary for capturing knowledge Synthesizes a lot of excellent work on discrete,

taxonomic knowledge representation Fits well with describing information resources – a

basis for describing metadata vocabularies Critical for unambiguously describing services so

they can be selected and suitably engaged