Web Ontology Language (OWL) Need meaning beyond an object-oriented - - PowerPoint PPT Presentation

web ontology language owl
SMART_READER_LITE
LIVE PREVIEW

Web Ontology Language (OWL) Need meaning beyond an object-oriented - - PowerPoint PPT Presentation

Web Ontology Language Web Ontology Language (OWL) Need meaning beyond an object-oriented type system RDF (with RDFS) captures the basics, approximating an object-oriented type system OWL provides some of the rest OWL standardizes


slide-1
SLIDE 1

Web Ontology Language

Web Ontology Language (OWL)

◮ Need meaning beyond an object-oriented type system

◮ RDF (with RDFS) captures the basics, approximating an

  • bject-oriented type system

◮ OWL provides some of the rest

◮ OWL standardizes constructs to capture such subtleties of meaning ◮ OWL builds on RDF, by limiting it

◮ Limiting syntax ◮ Limiting possible interpretations

◮ OWL assigns standard semantics to new terms

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 93

slide-2
SLIDE 2

Web Ontology Language

OWL in Brief

◮ Specifies classes and properties in description logic (DL)

◮ Class operators analogous to Boolean operators and, not, and or ◮ Constraints on properties: transitive, . . . ◮ Restrictions: constructs unique to DL

◮ OWL 1 has “Species” or Dialects

◮ OWL Full ◮ OWL DL ◮ OWL Lite Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 94

slide-3
SLIDE 3

Web Ontology Language

Custom Metadata Vocabularies

◮ Metadata for services and information resources presupposes custom

vocabularies

◮ Need standard semantics for the metadata to remove ambiguity

despite heterogeneity

<Mammal r d f : ID=’Mary’/> <Mammal r d f : ID=’John ’> <hasParent r d f : r e s o u r c e=’#Mary’/> </Mammal>

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 95

slide-4
SLIDE 4

Web Ontology Language

Ontologies to Define Vocabulary Semantics

Example of a trivial ontology defining our vocabulary

◮ Uses simple subclasses and properties

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

<o w l : C l a s s r d f : I D=”Mammal”> <r d f s : s u b C l a s s O f r d f : r e s o u r c e=”#Animal ”/> <o w l : d i s j o i n t W i t h r d f : r e s o u r c e=”#R e p t i l e ”/> </ o w l : C l a s s> <o w l : O b j e c t P r o p e r t y r d f : I D=” hasParent ”> <r d f s : d o m a i n r d f : r e s o u r c e=”#Animal ”/> <r d f s : r a n g e r d f : r e s o u r c e=”#Animal ”/> </ o w l : O b j e c t P r o p e r t y>

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 96

slide-5
SLIDE 5

Web Ontology Language

Simple Inference

Find a model, if any exists

◮ Given the definition for the property hasParent and the snippet <owl : Thing r d f : ID=”Fido”> <hasParent r d f : r e s o u r c e=”#Rover”/> </owl : Thing>

we can infer that Fido is an Animal

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 97

slide-6
SLIDE 6

Web Ontology Language

OWL Entities and Relationships

◮ ◮

◮ ◮ ◮ Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 98

slide-7
SLIDE 7

Web Ontology Language

Constructing OWL Classes

◮ Explicitly <owl : C l a s s r d f : ID=”Mammal”> <r d f s : subClassOf r d f : r e s o u r c e=”#Animal”/> <owl : d i s j o i n t W i t h r d f : r e s o u r c e=”#R e p t i l e ”/> </owl : Class > ◮ Anonymously via formal expressions using operators analogous to set

  • perators:

intersectionOf, unionOf, complementOf

<owl : C l a s s r d f : ID=’SugaryBread ’> <owl : i n t e r s e c t i o n O f r d f : parseType =’ C o l l e c t i o n ’> <owl : C l a s s r d f : about=’#Bread ’/> <owl : C l a s s r d f : about=’#SweetFood ’/> </owl : i n t e r s e c t i o n O f > </owl : Class >

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 99

slide-8
SLIDE 8

Web Ontology Language

Restrictions Conceptually

A unique feature of description logics

◮ Analogous to 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) Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 100

slide-9
SLIDE 9

Web Ontology Language

Examples of Restrictions: 1

<owl : R e s t r i c t i o n > <owl : onProperty r d f : r e s o u r c e=”#hasFather”/> <owl : m a x C a r d i n a l i t y r d f : datatype=”xsd : n o n N e g a t i v e I n t e g e r”> 1 </owl : maxCardinality > </owl : R e s t r i c t i o n > <owl : R e s t r i c t i o n > <owl : onProperty r d f : r e s o u r c e=’#bakes ’/> <owl : someValuesFrom r d f : r e s o u r c e=’#Bread ’/> </owl : R e s t r i c t i o n >

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 101

slide-10
SLIDE 10

Web Ontology Language

Examples of Restrictions: 2

◮ 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)

<owl : C l a s s r d f : ID=”Wine”> <r d f s : subClassOf r d f : r e s o u r c e=”&food ; P o t a b l e L i q u i d ” /> <r d f s : subClassOf > <owl : R e s t r i c t i o n > <owl : onProperty r d f : r e s o u r c e=”#hasMaker” /> <owl : allValuesFrom r d f : r e s o u r c e=”#Winery ” /> </owl : R e s t r i c t i o n > </ r d f s : subClassOf > . . . </owl : Class >

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 102

slide-11
SLIDE 11

Web Ontology Language

Axioms Conceptually

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 Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 103

slide-12
SLIDE 12

Web Ontology Language

Examples of Axioms

<owl : A l l D i f f e r e n t > <!−− i n essence , pair −wise i n e q u a l i t i e s > <owl : distinctMembers r d f : parseType =’ C o l l e c t i o n ’> <ex : Country r d f : ID=’ India ’/> <ex : Country r d f : ID=’ Russia ’/> <ex : Country r d f : ID=’USA’/> <owl : distinctMembers/> </owl : A l l D i f f e r e n t > <ex : Country r d f : ID=’ Iran ’/> <ex : Country r d f : ID=’ Persia ’> <owl : s a m e I n d i v i d u a l A s r d f : r e s o u r c e=’#Iran ’/> </ex : Country>

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 104

slide-13
SLIDE 13

Web Ontology Language

Restrictions versus Axioms

◮ Axioms are global assertions that can be used as the basis for further

inference

◮ Restrictions are constructors ◮ A restriction on hasFather of maxCardinality of 1

◮ Does not mean all animals have zero or one fathers ◮ Means the class of animals who have zero or one fathers: this class

may or may not have any instances

◮ Often, to achieve the desired effect, we would have to combine

restrictions with axioms (such as based on equivalentClass), e.g.,

◮ A restriction on hasFather of maxCardinality of 1 ◮ An axiom asserting this restriction is equivalent to Animal Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 105

slide-14
SLIDE 14

Web Ontology Language

Inference

Like RDF, OWL is about meaning, not syntax

◮ Statements from different documents about the same URI are

automatically conjoined

◮ OWL can be surprising to the uninitiated

◮ Integrity constraint: no one can have more than one mother ◮ Declare a fact: Mary is John’s mother ◮ Declare a fact: Jane is John’s mother

◮ What will you conclude?

◮ A traditional DBMS would declare an integrity violation ◮ An OWL reasoner would say Mary = Jane Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 106

slide-15
SLIDE 15

Dialects Compared

◮ OWL DL

◮ Core dialect, includes DL primitives ◮ Not necessarily (but often) tractable

◮ OWL Lite

◮ Limits OWL DL constructs to ensure tractability ◮ No disjointWith, complementOf, unionOf, hasValue ◮ Enumeration (oneOf) ◮ intersectionOf only for two or more class names or restrictions ◮ equivalentClass: class names to names or restrictions ◮ rdfs:subClassOf: class names to names or restrictions ◮ allValuesFrom and someValuesFrom: to class names or datatype names ◮ rdf:type: to class names or restrictions ◮ rdf:domain: class names ◮ rdf:range: to class names or datatype names

◮ OWL Full

◮ Extremely general: allows all RDF syntax ◮ Potentially intractable (undecidable) ◮ Supports fancy expressiveness needs and introducing new concepts into

the standard

slide-16
SLIDE 16

Web Ontology Language

Expressiveness Limitations: 1

OWL 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 Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 108

slide-17
SLIDE 17

Web Ontology Language

Expressiveness Limitations: 2

Specialized properties

◮ Cannot state that the child of a mammal must be a mammal and so

  • n, 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 Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 109

slide-18
SLIDE 18

Web Ontology Language

Expressiveness Limitations: 3

Constraints among individuals and defeasibility

◮ Constraints among individuals

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

Elizabeth Taylor

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

certain threshold

◮ Cannot capture defeasibility (also known as nonmonotonicity)

◮ Birds fly ◮ Penguins are birds ◮ Penguins don’t fly Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 110

slide-19
SLIDE 19

Web Ontology Language

OWL 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

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 111

slide-20
SLIDE 20

Web Ontology Language

Modeling Exercise

◮ Student (S); faculty member (F); regular faculty member (R);

department (D); thesis committee (T)

◮ An S belongs to exactly one D ◮ An R is an F ◮ An R advises zero or more Ss ◮ An F is affiliated with one or more Ds ◮ An S is advised by exactly one R ◮ An S is evaluated by exactly one T ◮ A T evaluates exactly one S ◮ A T has three or more Fs as its members ◮ Exactly one of the members of a T is its chair, who is an R

Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2017 112