chapter 8: web ontology language (owl)
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 PresentationTRANSCRIPT
Chapter 8:Web Ontology Language (OWL)
Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
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
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
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
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).
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
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
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.
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.
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>
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>
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.
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
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>
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)
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>
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)
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.
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
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>
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)
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
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
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
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
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
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