OWL Web Ontology Language - PowerPoint PPT Presentation

1 / 182
About This Presentation
Title:

OWL Web Ontology Language

Description:

Number. Person. driversLicenseNumber. 1 ... Suppose that there are two independent documents describing the Yangtze River: ... River rdf:about='http://www.china. ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 183
Provided by: roger237
Category:
Tags: owl | language | ontology | web

less

Transcript and Presenter's Notes

Title: OWL Web Ontology Language


1
OWL Web Ontology Language
  • Roger L. Costello
  • David B. Jacobs
  • The MITRE Corporation
  • (The creation of this tutorial was sponsored by
    DARPA)

2
Acknowledgments
  • We are very grateful to the Defense Advanced
    Research Projects Agency (DARPA) for funding the
    creation of this tutorial. We are especially
    grateful to Murray Burke (DARPA) and John Flynn
    (BBN) for making it all happen.
  • Special thanks to Joe Rockmore for his superb
    suggestions and editing.
  • We would like to thank Stephen Dyer for creating
    the labs.
  • Special thanks to the following people for their
    help in answering our unending questions

Deborah McGuinness Leo Obrst Rafael
Batres Steven Gollery Enrico Franconi Mike
Pool David Allsopp Yuzhong Qu Jonathan
Borden Mary Pulvermacher
Joe Rockmore Peter F. Patel-Schneider Mike
Dean Ian Davis Jim Hendler Nikita Ogievetsky Dan
Connolly Jeff Z. Pan Peter Crowther Frank Manola
3
Prerequisites
  • OWL builds on top of (i.e., extends) RDF Schema.
  • This tutorial assumes that you already have a
    solid understanding of RDF and RDF Schema.
  • As well as this tutorial on OWL, we have also
    created a tutorial on RDF, and a tutorial on RDF
    Schema. Please see here
  • http//www.xfront.com/rdf/
  • http//www.xfront.com/rdf-schema/

4
Origins of OWL
DAML
OIL
RDF
All were influenced by RDF
DAML DARPA Agent Markup Language OIL Ontology
Inference Layer
DAMLOIL
OWL
OWL is now on track to become a W3C
Recommendation!
5
W3C Status of OWL
  • OWL is currently (April, '03) at the W3C
    Candidate Recommendation stage.
  • OWL is targeted to go to Pre-Recommendation
    status in May, '03.
  • OWL should be be at the W3C Recommendation status
    by summer '03.
  • For complete OWL schedule details see
  • http//www.w3.org/2001/sw/WebOnt/L151

6
Purpose of OWL
  • The purpose of OWL is identical to RDF Schemas -
    to provide an XML vocabulary to define classes,
    their properties and their relationships among
    classes.
  • RDF Schema enables you to express very
    rudimentary relationships and has limited
    inferencing capability.
  • OWL enables you to express much richer
    relationships, thus yielding a much enhanced
    inferencing capability.
  • A benefit of OWL is that it facilitates a much
    greater degree of inference making than you get
    with RDF Schemas.

7
OWL and RDF Schema enables machine-processable
semantics
OWL
Semantics
RDF Schema
XML/DTD/XML Schemas
Syntax
8
Organization of this Tutorial
  • OWL gives you an XML syntax to express statements
    about properties and classes, above and beyond
    what you can make with RDF Schema.
  • In this tutorial we present
  • Using OWL to define classes.
  • Using OWL to define properties.
  • Using OWL to define relationships.
  • OWL statements that you can incorporate into your
    instance documents.

9
OWL RDF Schema more
  • Note all of the elements/attributes provided by
    RDF and RDF Schema can be used when creating an
    OWL document.

10
Notations used in this Tutorial
Taxonomy (Class Hierarchy)
Class1
Properties property1 Type1 property2
Type2 ...
These are the properties of Class1. The name of
the property is shown (e.g., property1), and its
range is shown in italics (e.g., Type1).
Class2
Class3
Class2 and Class3 are subclasses of Class1.
Class1
Venn Diagram
Properties property1 Type1 property2
Type2 ...
Class2
An alternate notation to the above
class hierarchy is to use a Venn diagram,
as shown here.
Class3
Continued
11
Notations used in this Tutorial
This notation is used to indicate that a person
has only one birthplace location
birthplace
Location
Person
1
This notation is used to indicate that a person
has only one driver's license number. Further, a
driver's license number is associated with only
one person
driversLicenseNumber
Number
Person
1
1
12
This tutorial will use a"water taxonomy" to
explain OWL
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Rivulet
13
OWL Tools
  • RDF Instance Creator (RIC)
  • http//www.mindswap.org/mhgrove/RIC/RIC.shtml
  • Limited OWL capabilities
  • OilEd
  • http//oiled.man.ac.uk/
  • Editor for ontologies
  • Mostly for DAMLOIL, exports OWL but not a
    current representation
  • OWL Validator
  • http//owl.bbn.com/validator/
  • Web-based or command-line utility
  • Performs basic validation of OWL file
  • Dumpont
  • http//www.daml.org/2001/03/dumpont/
  • a simple class and hierarchy property viewer,
    which also works with OWL, e.g.,
  • http//www.daml.org/cgi-bin/dumpont?http//www.w3.
    org/2002/07/owl
  • OWL Ontology Validator
  • http//phoebus.cs.man.ac.uk9999/OWL/Validator
  • a "species validator" that checks use of OWL
    Lite, OWL DL, and OWL Full constructs
  • Euler

14
Preview of OWL
  • Before getting into the details of OWL let's
    examine three examples that demonstrate some of
    the capabilities of OWL.

15
Example 1 The Robber and the Speeder
DNA samples from a robbery identified John Walker
Lindh as the suspect. Here is the police report
on the robbery
ltRobbery rdfID"report-2003-03-17-XTf4"gt
ltdescriptiongt...lt/descriptiongt ltsuspectgt
ltPerson rdfabout"http//www.person.orgJohn_W
alker_Lindh"/gt lt/suspectgt lt/Robberygt
Later in the day a state trooper gives a person a
ticket for speeding. The driver's license showed
the name Sulayman. Here is the state trooper's
report on the speeder
ltSpeeder rdfID"report-2003-03-17-QWRP"gt
ltdescriptiongt...lt/descriptiongt ltdrivergt
ltPerson rdfabout"http//www.person.orgSulayma
n"/gt lt/drivergt lt/Speedergt
16
Any Relationship between the Robber and the
Speeder?
The Central Intelligence Agency (CIA) has a file
on Sulayman
ltPerson rdfabout"http//www.person.orgSulayman"
gt ltowlsameIndividualAs rdfresource"http//w
ww.person.orgJohn_Walker_Lindh"/gt lt/Persongt
Robbery
John Walker Lindh
owlsameIndividualAs
Speeder
Sulayman
The local police, state troopers, and CIA share
their information, thus enabling the following
inference to be made
Inference The Robber and the Speeder are one and
the same!
17
Lesson Learned
  • OWL provides a property (owlsameIndividualAs)
    for indicating that two resources (e.g., two
    people) are the same.

18
Example 2 Using a Web Bot to Purchase a Camera
Is "SLR" a Camera?
My Web Assistant (a Web Bot)
3
"Please send me your e-catalog"
1
Web Site
ltSLR rdfID"Olympus-OM10"gt
ltf-stopgt1.4lt/f-stopgt ltlensgt300mm
zoomlt/lensgt ltmanual-adaptorgtoptionallt/manual
-adaptorgt ltcostgt325 USDlt/costgt lt/SLRgt
"Here's my e-catalog"
2
A Web Bot is a software program which crawls
the Web looking for information.
19
Camera OWL Ontology
Camera
SLR
Large-Format
Digital
My Web Assistant program consults the Camera OWL
Ontology. The Ontology shows how SLR is
classified. The Ontology shows that SLR is a type
(subclass) of Camera. Thus, my Web Assistant Bot
dynamically realizes that
Inference The Olympus-OM10 SLR is a Camera!
20
Lesson Learned
  • OWL provides elements to construct taxonomies
    (called class hierarchies). The taxonomies can
    be used to dynamically discover relationships!

21
Example 3 The Birthplace of King Kamehameha is
Upon scanning the Web, three documents were found
which contain information about King Kamahameha
ltPerson rdfabout"http//www.person.orgKing_Kame
hameha"gt ltbirthplace rdfabout"http//www.sta
tes.orgHawaii"/gt lt/Persongt
1
ltPerson rdfabout"http//www.person.orgKing_Kame
hameha"gt ltbirthplace rdfresource"http//www.
history.orgSandwich_Islands"/gt lt/Persongt
2
ltPerson rdfabout"http//www.person.orgKing_Kame
hameha"gt ltbirthplace rdfresource"http//www.
tourism.orgAloha_State"/gt lt/Persongt
3
Question What is the birthplace of King
Kamehameha?
22
Answer all three!
The Person OWL Ontology indicates that a Person
has only one birthplace location
birthplace
Location
Person
1
Thus, the Person OWL Ontology enables this
inference to be made
Inference Hawaii, Sandwich Islands, and Aloha
State all represent the same location!
birthplace
Hawaii
King Kamehameha
birthplace
Sandwich Islands
They all represent the same location!
King Kamehameha
birthplace
Aloha State
King Kamehameha
23
Lesson Learned
In the example we saw that the Person Ontology
defined this relationship
birthplace
Location
Person
1
This is read as "A person has exactly one
birthplace location." This example is a specific
instance of a general capability in OWL to
specify that a subject Resource has exactly one
value
property
Resource (value)
Resource (subject)
1
We saw in the example that such information can
be used to make inferences.
OWL Terminology properties that relate a
resource to exactly one
other resource are said to have a
cardinality1.
24
Review
  • The preceding examples demonstrated some of OWL's
    capabilities
  • An OWL instance document can be enhanced with an
    OWL property to indicate that it is the same as
    another instance.
  • OWL provides the capability to construct
    taxonomies (class hierarchies). Such taxonomies
    can be used to dynamically understand how
    entities in an XML instance relate to other
    entities.
  • OWL provides the capability to specify that a
    subject can have only one value.
  • By leveraging OWL, additional facts about your
    instance data can be dynamically ascertained.
    That is, OWL facilitates a dynamic understanding
    of the semantics of your data!
  • Okay, that's it for the OWL preview. Now it's
    time to look at the entire suite of OWL
    capabilities ...

25
Using OWL to Define Properties
26
Defining Property Characteristics
  • RDF Schema provides three ways to characterize a
    property
  • range use this to indicate the possible values
    for a property.
  • domain use this to associate a property with a
    class.
  • subPropertyOf use this to specialize a property.
  • Note OWL documents can also use rdfsrange,
    rdfsdomain, and rdfssubPropertyOf.
  • On the following slides we show the additional
    ways that OWL provides to characterize
    properties.
  • We will see that these additional property
    characteristics enable greater inference making.

27
Symmetric Properties
NaturallyOccurringWaterSource
Properties connectsTo NaturallyOccurringWate
rSource
BodyOfWater
Stream
Ocean
River
Brook
Lake
Sea
Tributary
Rivulet
A Symmetric property - if water source A
connectsTo water
source B
then water source B
connects to water source A.
28
Symmetric Property
Assume that connectsTo has been defined, in an
OWL ontology, to be a Symmetric property
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltconnectsTogt ltRiver rdfabout"http//ww
w.china.org/riversWu"/gt lt/connectsTogt lt/Rive
rgt
Yangtze.rdf
Since connectsTo has been defined to be a
Symmetric property we can infer that
The Wu River connectsTo the Yangtze River.
connectsTo
Yangtze
Wu
connectsTo
29
Transitive Properties
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Brook
Lake
Sea
Tributary
Properties containedIn BodyOfWater
Rivulet
A Transitive property - if A is containedIn B,
and B is
containedIn C then A is
containedIn C.
30
Transitive Property
Suppose that you retrieve these two documents
from two different Web sites. One describes the
EastChinaSea and the other describes the ChinaSea
lt?xml version"1.0"?gt ltSea rdfID"EastChinaSea"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodesy.o
rg/water/naturally-occurring"gt
ltcontainedIngt ltSea rdfabout"http//www
.china.govChinaSea"/gt lt/containedIngt lt/Seagt
EastChinaSea.rdf
lt?xml version"1.0"?gt ltSea rdfabout"http//www.c
hina.govChinaSea" xmlnsrdf"http//www.
w3.org/1999/02/22-rdf-syntax-ns"
xmlns"http//www.geodesy.org/water/naturally-occu
rring"gt ltcontainedIngt ltOcean
rdfabout"http//www.geodesy.orgPacificOcean"/gt
lt/containedIngt lt/Seagt
ChinaSea.rdf
If containedIn is defined to be a Transitive
property then we can infer that The
EastChinaSea is containedIn the PacificOcean.
31
Transitive Property
containedIn
containedIn
PacificOcean
EastChinaSea
ChinaSea
If containedIn is defined to be Transitive, we
can infer that
containedIn
EastChinaSea
PacificOcean
32
Functional Properties
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties emptiesInto BodyOfWater
Rivulet
A Functional property - for each instance there
is at most
one value for
the property.
33
Functional Property
34
Functional Property (cont.)
emptiesInto
Yangtze
EastChinaSea
If emptiesInto has been defined to be
Functional then we can infer that these two
values must refer to the same thing.
emptiesInto
S1001-x-302
Yangtze
35
Inverse Properties
NaturallyOccurringWaterSource
BodyOfWater
Stream
Properties feedsFrom River
Ocean
Lake
River
Tributary
Brook
Sea
Properties emptiesInto BodyOfWater
Rivulet
Inverse properties - if property P1 relates
Resource 1 to Resource
2, then its
Inverse property
relates Resource 2 to
Resource 1.
36
Inverse Properties
Consider this document
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt lt/Rivergt
Yangtze.rdf
The above states that The Yangtze
emptiesInto the EastChinaSea. If emptiesInto and
feedsFrom are defined to be Inverse properties
then we can infer that The EastChinaSea
feedsFrom the Yangtze.
37
emptiesInto lt---gt feedsFrom (Inverse Properties)
emptiesInto
Yangtze
EastChinaSea
A specific instance
feedsFrom
EastChinaSea
Yangtze
emptiesInto
BodyOfWater
River
The general case
feedsFrom
BodyOfWater
River
38
Inverse Functional Properties
39
Inverse Functional Property
40
Inverse Functional Property (cont.)
If feedsFrom has been defined to be
InverseFunctional then we can infer that
EastChinaSea S1001-x-302.
feedsFrom
Yangtze
EastChinaSea
1
If feedsFrom has been defined to be
Inverse Functional then we can infer that these
two Resources must refer to the same thing.
feedsFrom
S1001-x-302
Yangtze
1
41
Time for Syntax!
  • On the previous slides we have seen the different
    ways that OWL provides to characterize
    properties.
  • Now let's look at the OWL syntax for expressing
    these property characteristics.

42
Defining Properties in OWL
  • Recall that with RDF Schema the rdfProperty was
    used for both
  • relating a Resource to another Resource
  • Example The emptiesInto property relates a River
    to a BodyOfWater.
  • relating a Resource to an rdfsLiteral or a
    datatype
  • Example The length property relates a River to a
    xsdnonNegativeInteger.
  • OWL decided that these are two classes of
    properties, and thus each should have its own
    class
  • owlObjectProperty is used to relate a Resource
    to another Resource
  • owlDatatypeProperty is used to relate a Resource
    to an rdfsLiteral or an XML Schema built-in
    datatype

43
ObjectProperty vs. DatatypeProperty
An ObjectProperty relates one Resource to another
Resource
ObjectProperty
Resource
Resource
A DatatypeProperty relates a Resource to a
Literal or an XML Schema datatype
DatatypeProperty
Resource
Value
44
owlObjectProperty and owlDatatypeProperty are
subclasses of rdfProperty
rdfProperty
rdfProperty
owlObjectProperty
owlDatatypeProperty
owlObjectProperty
owlDatatypeProperty
45
Defining Properties in OWL vs. RDF Schema
ltrdfProperty rdfID"emptiesInto"gt
ltrdfsdomain rdfresource"River"/gt
ltrdfsrange rdfresource"BodyOfWater"/gt lt/rdfPr
opertygt
RDFS
ltrdfProperty rdfID"length"gt
ltrdfsdomain rdfresource"River"/gt
ltrdfsrange rdfresource"http//www.w3.org/2001/X
MLSchemanonNegativeInteger"/gt lt/rdfPropertygt
ltowlObjectProperty rdfID"emptiesInto"gt
ltrdfsdomain rdfresource"River"/gt
ltrdfsrange rdfresource"BodyOfWater"/gt lt/owlOb
jectPropertygt
OWL
ltowlDatatypeProperty rdfID"length"gt
ltrdfsdomain rdfresource"River"/gt
ltrdfsrange rdfresource"http//www.w3.org/2001/X
MLSchemanonNegativeInteger"/gt lt/owlDatatypePrope
rtygt
46
The OWL Namespace
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlObjectProperty
rdfID"emptiesInto"gt ltrdfsdomain
rdfresource"River"/gt ltrdfsrange
rdfresource"BodyOfWater"/gt
lt/owlObjectPropertygt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
47
What is the URI for the properties and classes
defined by an OWL document?
What is the full URI for the emptiesInto property
in this OWL document
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlObjectProperty
rdfID"emptiesInto"gt ltrdfsdomain
rdfresource"River"/gt ltrdfsrange
rdfresource"BodyOfWater"/gt
lt/owlObjectPropertygt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
The URI for an identifier (i.e., an rdfID value)
is the concatenation of the xmlbase value (or
the document URL if there is no xmlbase) with
"" and the identifier. Thus, the complete URI
for the above emptiesInto property is
http//www.geodesy.org/water/naturally-occurringe
mptiesInto
Note These are the same rules that RDF Schema
uses for determining the URI.
48
Defining Symmetric Properties
NaturallyOccurringWaterSource
Properties connectsTo NaturallyOccurringWate
rSource
BodyOfWater
Stream
Brook
Ocean
River
Lake
Sea
Tributary
Rivulet
A Symmetric property - if water source A
connectsTo
water source B then water
source B connects to water source
A.
49
Syntax for indicating that a property is
Symmetric
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlObjectProperty
rdfID"connectsTo"gt ltrdftype
rdfresource"http//www.w3.org/2002/07/owlSymmet
ricProperty"/gt ltrdfsdomain
rdfresource"NaturallyOccurringWaterSource"/gt
ltrdfsrange rdfresource"NaturallyOccur
ringWaterSource"/gt lt/owlObjectPropertygt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
Read this as "connectsTo is an ObjectProperty.
Specifically, it is a Symmetric Object Property."
50
owlSymmetricProperty is a subclass of
owlObjectProperty
rdfProperty
rdfProperty
owlDatatypeProperty
owlObjectProperty
owlObjectProperty
owlDatatypeProperty
owlSymmetricProperty
SymmetricProperty
Consequently, the range of a SymmetricProperty
can only be a Resource, i.e., the range cannot
be a Literal or a datatype.
51
Equivalent!
Read this as "connectsTo is an ObjectProperty.
Specifically, it is a Symmetric Object Property."
ltowlObjectProperty rdfID"connectsTo"gt
ltrdftype rdfresource"http//www.w3.org/2002/0
7/owlSymmetricProperty"/gt
ltrdfsdomain rdfresource"NaturallyOccurringWate
rSource"/gt ltrdfsrange
rdfresource"NaturallyOccurringWaterSource"/gt lt/
owlObjectPropertygt
1
Read this as "connectsTo is a SymmetricProperty."
ltowlSymmetricProperty rdfID"connectsTo"gt
ltrdfsdomain rdfresource"NaturallyOccurrin
gWaterSource"/gt ltrdfsrange
rdfresource"NaturallyOccurringWaterSource"/gt lt/
owlSymmetricPropertygt
2
Question Why would you ever use the first form?
The second form seems a lot more
straightforward. Right? Answer In this example,
you are correct, the second form is more
straightforward. However, you
will see in a moment that we can define a
property to be of several types,
e.g., Symmetric and Functional. In that case it
may be more straightforward to
use the first form (and use multiple rdftype
elements).
52
Defining Transitive Properties
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Brook
Lake
Sea
Tributary
Properties containedIn BodyOfWater
Rivulet
A Transitive property - if A is containedIn B,
and B is
containedIn C then A is
containedIn C.
53
Syntax for indicating that a property is
Transitive
54
owlTransitiveProperty is a subclass of
owlObjectProperty
rdfProperty
rdfProperty
owlObjectProperty
owlDatatypeProperty
owlDatatypeProperty
owlObjectProperty
owlTransitiveProperty
TransitiveProperty
Consequently, the range of a TransitiveProperty
can only be a Resource, i.e., the range cannot
be a Literal or a datatype.
55
Defining Functional Properties
56
Syntax for indicating that a property is
Functional
57
owlFunctionalProperty is a subclass of
rdfProperty
rdfProperty
rdfProperty
owlDatatypeProperty
owlObjectProperty
owlObjectProperty
owlDatatypeProperty
owlFunctionalProperty
FunctionalProperty
Consequently, the range of a FunctionalProperty
can be either a Resource or a Literal or a
datatype.
58
Defining Inverse Properties
59
Syntax for indicating that a property is the
inverse of another property
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlObjectProperty
rdfID"emptiesInto"gt ltrdftype
rdfresource"http//www.w3.org/2002/07/owlFuncti
onalProperty"/gt ltrdfsdomain
rdfresource"River"/gt ltrdfsrange
rdfresource"BodyOfWater"/gt
lt/owlObjectPropertygt ltowlObjectProperty
rdfID"feedsFrom"gt ltowlinverseOf
rdfresource"emptiesInto"/gt
ltrdfsdomain rdfresource"BodyOfWater"/gt
ltrdfsrange rdfresource"River"/gt
lt/owlObjectPropertygt ... lt/rdfRDFgt
Notice that the values for domain and range are
flipped from that in emptiesInto.
naturally-occurring.owl (snippet)
60
Defining Inverse Functional Properties
61
Syntax for indicating that a property is Inverse
Functional
62
owlInverseFunctionalProperty is a subclass of
rdfProperty
rdfProperty
rdfProperty
owlObjectProperty
owlDatatypeProperty
owlObjectProperty
owlDatatypeProperty
owlInverseFunctionalProperty
Consequently, the range of an InverseFunctionalPro
perty can be either a Resource or a Literal or a
datatype.
InverseFunctionalProperty
63
Summary of the different ways to characterize
properties
  • In the preceding slides we have seen the
    different ways of characterizing properties. We
    saw that a property may be defined to be
  • A Symmetric property.
  • A Transitive property.
  • A Functional property.
  • The Inverse of another property.
  • An Inverse Functional property.

64
Summary of Properties for the Water Taxonomy
NaturallyOccurringWaterSource
Properties connectsTo NaturallyOccurringWate
rSource
(Symmetric)
BodyOfWater
Stream
Properties feedsFrom River
(Inverse Functional)
Ocean
Lake
River
Tributary
Brook
Sea
Properties emptiesInto BodyOfWater
Properties containedIn BodyOfWater
(Functional)
(Transitive)
Rivulet
(Inverse)
65
Inferences we can make now that we have
characterized the properties
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt ltconnectsTo
rdfresource"http//www.china.org/riversWu"/gt lt/
Rivergt
Yangtze.rdf
We can infer that 1. The EastChinaSea feedsFrom
the Yangtze. (Since emptiesInto is the inverse of
feedsFrom) 2. The Wu connectsTo the Yangtze.
(Since connectsTo is symmetric) 3. The
EastChinaSea is a BodyOfWater. (Since the range
of emptiesInto is a BodyOfWater. 4. The Wu is a
NaturallyOccurringWaterSource. (Since the range
of connectsTo is NaturallyOccurringWaterSourc
e)
66
Hierarchy of the property classes
rdfProperty
owlDatatypeProperty
owlFunctionalProperty
owlInverseFunctionalProperty
owlObjectProperty
owlSymmetricProperty
owlTransitiveProperty
Consequences 1. SymmetricProperty and
TransitiveProperty can only be used to relate
Resources to Resources. 2.
FunctionalProperty and InverseFunctionalProperty
can be used to relate Resources to Resources,
or Resources to an RDF Schema Literal or
an XML Schema datatype.
67
Why wasn't owlinverseOf shown in the preceding
class hierarchy?
Answer owlinverseOf is a "property", not a
class, e.g.
ltowlObjectProperty rdfID"feedsFrom"gt
ltowlinverseOf rdfresource"emptiesInto"/gt
ltrdfsdomain rdfresource"BodyOfWater"/gt
ltrdfsrange rdfresource"River"/gt
lt/owlObjectPropertygt
property
rdfProperty
owlObjectProperty
owlDatatypeProperty
Properties inverseOf owlObjectProperty
68
Constraining a property based upon its context
  • Now we will look at ways to constrain the range
    of a property based upon the context (class) in
    which it is used ...

69
Sometimes a class needs to restrict the range of
a property
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties emptiesInto BodyOfWater
Since Flueve is a subclass of River, it inherits
emptiesInto. The range for emptiesInto is any
BodyOfWater. However, the definition of a Flueve
(French) is "a River which emptiesInto a Sea".
Thus, in the context of the Flueve class we want
the range of emptiesInto restricted to Sea.
Rivulet
Flueve
70
Global vs Local Properties
  • rdfsrange imposes a global restriction on the
    emptiesInto property, i.e., the rdfsrange value
    applies to River and all subclasses of River.
  • As we have seen, in the context of the Flueve
    class, we would like the emptiesInto property to
    have its range restricted to just the Sea class.
    Thus, for the Flueve class we want a local
    definition of emptiesInto.
  • Before we see how to do this, we need to look at
    how classes are defined in OWL ...

71
Defining Classes in OWL
  • OWL classes permit much greater expressiveness
    than RDF Schema classes.
  • Consequently, OWL has created their own Class,
    owlClass.

ltowlClass rdfID"River"gt
ltrdfssubClassOf rdfresource"Stream"/gt lt/owlCl
assgt
ltrdfsClass rdfID"River"gt
ltrdfssubClassOf rdfresource"Stream"/gt lt/rdfsC
lassgt
RDFS
OWL
72
owlClass is a subclass of rdfsClass
rdfsClass
owlClass
73
Defining emptiesInto (when used in Flueve) to
have allValuesFrom the Sea class
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlClass rdfID"Flueve"gt
ltrdfssubClassOf rdfresource"River"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"emptiesInto"/gt
ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt
lt/owlClassgt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
74
Flueve is a subclass of an "anonymous class"
ltowlClass rdfID"Flueve"gt
ltrdfssubClassOf rdfresource"River"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"emptiesInto"/gt
ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt lt/ow
lClassgt
anonymous class
This is read as "The Flueve class is a
subClassOf River, and a subClassOf an anonymous
class which has a property emptiesInto and all
values for emptiesInto must be instances of
Sea." Here's an easier way to read this "The
Flueve class is a subClassOf River. It has a
property emptiesInto. All values for emptiesInto
must be instances of Sea."
75
Definition of Flueve
River
The members of this anonymous class are instances
which have an emptiesInto property in which all
values are instances of Sea.
Flueve
- a River that emptiesInto a Sea.
76
An instance of Flueve
lt?xml version"1.0"?gt ltFlueve rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22
-rdf-syntax-ns" xmlns"http//www.g
eodesy.org/water/naturally-occurring"gt
ltemptiesInto rdfresource"http//www.china.org/ge
ographyEastChinaSea"/gt lt/Fluevegt
Yangtze.rdf
We can infer that this value must be a Sea!
All values for emptiesInto must be an instance of
Sea, in the context of the Flueve class.
77
Two forms of rdfssubClassOf
ltrdfssubClassOf rdfresource"River"/gt
1
Specify the class using the rdfresource
attribute.
Specify the class using owlRestriction.
2
ltrdfssubClassOfgt ltowlRestrictiongt
ltowlonProperty rdfresource"empti
esInto"/gt ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt
78
To be a River at least one value of connectsTo
must be BodyOfWater
NaturallyOccurringWaterSource
Properties connectsTo NaturallyOccurringWate
rSource
BodyOfWater
Stream
Ocean
Lake
River
Sea
Tributary
Brook
Every class inherits the connectsTo property.
Thus, anything can connect to anything else. A
River may connect to many things - Brooks,
Tributaries, etc. However, one thing that it must
connect to is a BodyOfWater (Lake, Ocean, or
Sea). Thus, in the context of the River class
the connectsTo property should have at least one
value that is a BodyOfWater.
Rivulet
79
Defining connectsTo (when used in River) to have
someValuesFrom the BodyOfWater class
80
Understanding owlsomeValuesFrom
ltowlClass rdfID"River"gt
ltrdfssubClassOf rdfresource"Stream"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"connectsTo"/gt
ltowlsomeValuesFrom
rdfresource"BodyOfWater"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt lt/ow
lClassgt
This is read as "The River class is a subClassOf
Stream, and a subClassOf an anonymous class which
has a property connectsTo and some values (at
least one) of connectsTo must be instances of
BodyOfWater." Here's an easier way to read this
"The River class is a subClassOf Stream. It has
a property connectsTo. At least one value for
connectsTo must be an instance of BodyOfWater."
81
An instance of River
lt?xml version"1.0"?gt ltRiver rdfID"Yangtze"
xmlnsrdf"http//www.w3.org/1999/02/22-rd
f-syntax-ns" xmlns"http//www.geodes
y.org/water/naturally-occurring"gt
ltconnectsTo rdfresource"http//www.china.org/riv
ersWu"/gt ltconnectsTo rdfresource"http//ww
w.china.org/geographyEastChinaSea"/gt lt/Rivergt
Yangtze.rdf
At least one of these values must be a
BodyOfWater (Lake, Ocean, or Sea)! (Assume that
there are no other documents which describe the
Yangtze.)
At least one value for connectsTo must be an
instance of BodyOfWater, in the context of the
River class.
82
allValuesFrom vs. someValuesFrom
ltowlonProperty rdfresource"emptiesInto"/gt ltowl
allValuesFrom rdfresource"Sea"/gt
Wherever there is an emptiesInto property, all
its values must be instances of Sea. There may
be zero emptiesInto properties.
versus
ltowlonProperty rdfresource"connectsTo"/gt ltowl
someValuesFrom rdfresource"BodyOfWater"/gt
There must be at least one connectsTo property
whose value is BodyOfWater. There must be at
least one connectsTo property.
83
All Oceans are SaltWater
NaturallyOccurringWaterSource
BodyOfWater
Stream
Properties type FreshWaterOrSaltWater
Ocean
Lake
River
Tributary
Brook
Sea
The water in Oceans is SaltWater. Ocean inherits
the "type" property from BodyOfWater. We would
like to indicate that the "type" property, in the
context of an Ocean, always has a value of
SaltWater.
Rivulet
FreshWaterOrSaltWater
84
Defining the "type" property to have the value
SaltWater (when used in Ocean)
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltFreshWaterOrSaltWater
rdfID"SaltWater"/gt ltowlClass
rdfID"Ocean"gt ltrdfssubClassOf
rdfresource"BodyOfWater"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"type"/gt
ltowlhasValue rdfresource"SaltWate
r"/gt lt/owlRestrictiongt
lt/rdfssubClassOfgt lt/owlClassgt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
85
Understanding owlhasValue
ltFreshWaterOrSaltWater rdfID"SaltWater"/gt ltowl
Class rdfID"Ocean"gt ltrdfssubClassOf
rdfresource"BodyOfWater"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"type"/gt
ltowlhasValue rdfresource"SaltWate
r"/gt lt/owlRestrictiongt
lt/rdfssubClassOfgt lt/owlClassgt
Note that this is an instance of the class
FreshWaterOrSaltWater.
This is read as "The Ocean class is a subClassOf
BodyOfWater, and a subClassOf an anonymous class
which has a property - type - that has the value
SaltWater." Here's an easier way to read this
"The Ocean class is a subClassOf
BodyOfWater. Every Ocean has a 'type' property
whose value is SaltWater."
86
An instance of Ocean
lt?xml version"1.0"?gt ltOcean rdfID"PacificOcean"
xmlnsrdf"http//www.w3.org/1999/0
2/22-rdf-syntax-ns"
xmlns"http//www.geodesy.org/water/naturally-occu
rring"gt lttype rdfresource"http//www.geode
sy.org/water/naturally-occurringSaltWater"/gt lt/Oc
eangt
PacificOcean.rdf
Every instance of Ocean must have a
property "type" whose value is SaltWater. Note
it is not necessary to put the type property in
an Ocean instance document - the "type" may be
inferred from hasValue. That is, the Ontology
indicates that if it's an Ocean then its type is
SaltWater.
At least one "type" property must have the value
SaltWater, in the context of an Ocean class.
87
owlhasValue means there exists a property with
the specified value
  • The owlhasValue property restriction simply
    asserts that there exists a property with the
    value.
  • In fact, there may be other instances of the
    same property that do not have the value.
  • For the Ocean example, we know that every Ocean
    is of type of SaltWater.

88
Summary of the different ways a class can
constrain a property
  • In the preceding slides we have seen the
    different ways that a class can constrain a
    global property. We saw that a property can be
    constrained such that
  • All values must belong to a certain class (use
    allValuesFrom).
  • At least one value must come from a certain class
    (use someValuesFrom).
  • It has a specific value (use hasValue).

89
Properties of the Restriction Class
rdfsClass
owlClass
owlRestriction
Properties onProperty rdfProperty
allValuesFrom rdfsClass hasValue
someValuesFrom rdfsClass
90
Context-specific cardinality constraints
  • Definition of cardinality the number of
    occurrences.
  • Now we will look at ways to constrain the
    cardinality of a property based upon the context
    (class) in which it is used ...

91
A BodyOfWater can have only one maxDepth
(cardinality 1)
NaturallyOccurringWaterSource
BodyOfWater
Stream
Properties maxDepth xsdinteger
Ocean
River
Brook
Lake
Sea
Tributary
Rivulet
When defining the BodyOfWater class it would
be useful to indicate that there can be only
one maxDepth for a BodyOfWater.
92
Defining the cardinality of the maxDepth property
to be 1
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schem
a" xmlnsowl"http//www.w3.org/2
002/07/owl" xmlbase"http//www.
geodesy.org/water/naturally-occurring"gt
ltowlClass rdfID"BodyOfWater"gt
ltrdfssubClassOf rdfresource"NaturallyOccurring
WaterSource"/gt ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"maxDepth"/gt
ltowlcardinality
rdfdatatype"http//www.w3.org/2001/XMLSchemanon
NegativeInteger"gt1lt/owlcardinalitygt
lt/owlRestrictiongt
lt/rdfssubClassOfgt lt/owlClassgt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
93
Understanding owlcardinality
ltowlClass rdfID"BodyOfWater"gt
ltrdfssubClassOf rdfresource"NaturallyOccurring
WaterSource"/gt ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"maxDepth"/gt
ltowlcardinality
rdfdatatype"http//www.w3.org/2001/XMLSchemanon
NegativeInteger"gt1lt/owlcardinalitygt
lt/owlRestrictiongt lt/rdfssubClassOfgt lt
/owlClassgt
This is read as "The BodyOfWater class is a
subClassOf NaturallyOccurringWaterSource, and a
subClassOf an anonymous class which has a
property maxDepth. There can be only one
maxDepth for a BodyOfWater. This is indicated by
a cardinality of 1." Here's an easier way to
read this "The BodyOfWater class is a
subClassOf NaturallyOccurringWaterSource. It
has a property maxDepth. There can be only one
maxDepth for a BodyOfWater."
94
maxDepth of the PacificOcean
lt?xml version"1.0"?gt ltOcean rdfID"PacificOcean"
xmlnsrdf"http//www.w3.org/1999/0
2/22-rdf-syntax-ns"
xmlns"http//www.geodesy.org/water/naturally-occu
rring"gt ltmaxDepth rdfdatatype"http//www.w
3.org/2001/XMLSchemainteger"gt2300lt/maxDepthgt lt/Oc
eangt
PacificOcean.rdf
The PacificOcean has only one maxDepth.
There is only one maxDepth, in the context of a
BodyOfWater (e.g., Ocean) class.
95
The cardinality is not mandating the number of
occurrences of a property in an instance document!
  • Differentiate between these two statements
  • 1. In an instance document there can be only one
    maxDepth property for a BodyOfWater.
  • 2. A BodyOfWater has only one maxDepth.
  • Do you see the difference?
  • 1. The first statement is something that you
    would find in an XML Schema.
  • 2. The second statement is a statement of
    information. It places no restrictions on the
    number of occurrences of the maxDepth property in
    an instance document. In fact, any resource may
    have multiple maxDepth properties. They must all
    be equal, however, since there can be only one
    maxDepth per resource.

96
Some Brooks have no name (minCardinality 0)
NaturallyOccurringWaterSource
Properties name xsdstring
BodyOfWater
Stream
Brook
Ocean
Lake
River
Sea
Tributary
Rivulet
All of the classes inherit the name
property. When defining the Brook class it would
be useful to indicate that a Brook might not
have a name.
97
Defining the minCardinality of the name property
to be 0
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema
" xmlnsowl"http//www.w3.org/200
2/07/owl" xmlbase"http//www.geo
desy.org/water/naturally-occurring"gt
ltowlClass rdfID"Brook"gt
ltrdfssubClassOf rdfresource"Stream"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"name"/gt
ltowlminCardinality
rdfdatatype"http//www.w3.org/2001/XMLSchemanon
NegativeInteger"gt0lt/owlminCardinalitygt
lt/owlRestrictiongt
lt/rdfssubClassOfgt lt/owlClassgt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
98
Defining the cardinality of the name property to
be a range (0-10)
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schem
a" xmlnsowl"http//www.w3.org/2
002/07/owl" xmlbase"http//www.
geodesy.org/water/naturally-occurring"gt
ltowlClass rdfID"Brook"gt
ltrdfssubClassOf rdfresource"Stream"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"name"/gt
ltowlminCardinality
rdfdatatype"http//www.w3.org/2001/XMLSchemanon
NegativeInteger"gt0lt/owlminCardinalitygt
ltowlmaxCardinality
rdfdatatype"http//www.w3.org/2001/XMLSchemanon
NegativeInteger"gt10lt/owlmaxCardinalitygt
lt/owlRestrictiongt
lt/rdfssubClassOfgt lt/owlClassgt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
99
Summary of the different ways to express the
cardinality of a property
  • In the preceding slides we have seen the ways
    that a class can specify the cardinality of a
    property, using
  • cardinality
  • minCardinality
  • maxCardinality

100
Complete List of Properties of the Restriction
Class
rdfsClass
owlClass
owlRestriction
Properties onProperty rdfProperty
allValuesFrom rdfsClass hasValue
someValuesFrom rdfsClass cardinality
xsdnonNegativeInteger minCardinality
xsdnonNegativeInteger maxCardinality
xsdnonNegativeInteger
101
Equivalent Properties
  • Now we will look at the ways to express that two
    properties are equivalent ...

102
name is equivalent to the Title property in
Dublin Core
NaturallyOccurringWaterSource
Properties name xsdstring
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Rivulet
103
Defining name to be equivalent to dcTitle
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schem
a" xmlnsowl"http//www.w3.org/2
002/07/owl" xmlbase"http//www.
geodesy.org/water/naturally-occurring"gt
ltowlDatatypeProperty rdfID"name"gt
ltowlequivalentProperty rdfresource"http//pur1.
org/metadata/dublin-coreTitle"/gt
ltrdfsdomain rdfresource"NaturallyOccurringWate
rSource"/gt ltrdfsrange
rdfresource"http//www.w3.org/2001/XMLSchemastr
ing"/gt lt/owlDatatypePropertygt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
Note that we are using owlDatatypeProperty to
define name.
104
Using OWL to Define Classes
105
Constructing Classes using Set Operators
  • OWL gives you the ability to construct classes
    using these set operators
  • intersectionOf
  • unionOf
  • complementOf

106
Defining a Flueve class using the intersectionOf
operator
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Tributary
Brook
Lake
Sea
Properties emptiesInto BodyOfWater
Rivulet
Flueve
Recall the definition of a Flueve (French) is "a
River which emptiesInto a Sea". Thus, a Flueve
may be defined as the intersectionOf the
River class and an anonymous class containing the
emptiesInto property with allValuesFrom Sea.
107
Defining Flueve
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlClass rdfID"Flueve"gt
ltowlintersectionOf rdfparseType"Collection
"gt ltowlClass rdfabout"River"/gt
ltowlRestrictiongt
ltowlonProperty rdfresource"emptiesInt
o"/gt ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/owlintersectionOfgt
lt/owlClassgt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
108
Understanding intersectionOf
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schem
a" xmlnsowl"http//www.w3.org/2
002/07/owl" xmlbase"http//www.
geodesy.org/water/naturally-occurring"gt
ltowlClass rdfID"Flueve"gt
ltowlintersectionOf rdfparseType"Collection"gt
ltowlClass rdfabout"River"/gt
ltowlRestrictiongt
ltowlonProperty rdfresource"emptiesInto"/gt
ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/owlintersectionOfgt
lt/owlClassgt ... lt/rdfRDFgt
This is read as "The Flueve class is the
intersection of the River class and an
anonymous class that contains a property
emptiesInto and all values are instances of
Sea." Here's an easier way to read this "The
Flueve class is a River that emptiesInto a Sea."
109
Understanding intersectionOf
River
The members of this anonymous class are instances
which have an emptiesInto property in which all
values are instances of Sea.
Flueve
- a River that emptiesInto a Sea.
110
Contrast with defining Flueve using 2 subClassOf
statements
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlClass rdfID"Flueve"gt
ltrdfssubClassOf rdfresource"River"/gt
ltrdfssubClassOfgt
ltowlRestrictiongt
ltowlonProperty rdfresource"emptiesInto"/gt
ltowlallValuesFrom
rdfresource"Sea"/gt
lt/owlRestrictiongt lt/rdfssubClassOfgt
lt/owlClassgt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
111
Multiple subClassOf a subset of the
intersection
River
The members of this anonymous class are instances
which have an emptiesInto property in which all
values are instances of Sea.
Flueve
- a Flueve is a River that emptiesInto a Sea.
However, as this diagram shows, by using
multiple subClassOf elements there may be
Rivers which emptiesInto a Sea that are not
Flueves.
The conjunction (AND) of two subClassOf
statements is a subset of the intersection of the
classes.
112
Contrast
  • Defining a Flueve using two subClassOf elements
    all instances of Flueve must be a River and
    emptiesInto Sea.
  • Defining a Flueve using intersectionOf a Flueve
    is the collection of all instances that is both a
    River and emptiesInto Sea.
  • Thus, the subClassOf form merely characterizes a
    Flueve is, whereas the intersectionOf form
    defines a Flueve.

113
Defining a Rivìere class using the unionOf
operator
NaturallyOccurringWaterSource
BodyOfWater
Stream
Ocean
River
Brook
Lake
Sea
Tributary
Properties emptiesInto NaturallyOccurringWat
erSource
Rivulet
Rivìere
The definition of a Rivìere (French) is "a River
which emptiesInto a Lake or another River".
Thus, to define a Rivìere we will need to use
both intersectionOf and unionOf Note the range
for emptiesInto has been changed for this example.
114
A Rivìere is the intersection of River with the
union of two classes
River
The members of this anonymous class are instances
which have an emptiesInto property in which all
values are instances of Lake.
- a River that emptiesInto a Lake or another
River.
Rivìere
Question do you understand why the two
anonymous classes are disjoint? Answer
because emptiesInto is a Functional
Property!
The members of this anonymous class are
instances which have an emptiesInto property in
which all values are instances of River.
115
Defining Rivìere
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-schem
a" xmlnsowl"http//www.w3.org/2
002/07/owl" xmlbase"http//www.
geodesy.org/water/naturally-occurring"gt
ltowlClass rdfID"Rivìere"gt
ltowlintersectionOf rdfparseType"Collection"gt
ltowlClass rdfabout"River"/gt
ltowlClassgt
ltowlunionOf rdfparseType"Collection"gt
ltowlRestrictiongt
ltowlonProperty
rdfresource"emptiesInto"/gt
ltowlallValuesFrom rdfresource"Lake
"/gt lt/owlRestrictiongt
ltowlRestrictiongt
ltowlonProperty
rdfresource"emptiesInto"/gt
ltowlallValuesFrom rdfresource"Rive
r"/gt lt/owlRestrictiongt
lt/owlunionOfgt
lt/owlClassgt lt/owlintersectionOfgt
lt/owlClassgt ... lt/rdfRDFgt
naturally-occurring.owl (snippet)
116
Defining NaturallyOccurringWaterSource using
complementOf
WaterSource
ManMadeWaterSource
NaturallyOccurringWaterSource
- the intersection of WaterSource and the
complementOf ManMadeWaterSource.
117
Using complementOf
lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/2000/01/rdf-sche
ma" xmlnsowl"http//www.w3.org
/2002/07/owl"
xmlbase"http//www.geodesy.org/water/naturally-o
ccurring"gt ltowlClass rdfID"NaturallyOccur
ringWaterSource"gt ltowlintersectionOf
rdfparseType"Collection"gt
ltowlClass rdfabout"WaterSource"/gt
ltowlClassgt
ltowlcomplementOf rdfresource"ManMadeWaterSourc
e"/gt lt/owlClassgt
lt/owlintersectionOfgt lt/owlClassgt
... lt/rdfRDFgt
naturally-occurring.owl (snippet)
118
Enumeration, equivalence, disjoint
  • OWL gives you the ability to
  • construct a class by enumerating its instances.
  • specify that a class is equivalent to another
    class.
  • specify that a
Write a Comment
User Comments (0)
About PowerShow.com