Title: OWL Web Ontology Language
1OWLWeb Ontology Language
- The Knowledge Presentation Language
2Web Ontology Language (OWL)
- Web Ontology Language (OWL) extends RDF and RDFS
languages by adding several other constructs such
as class (in addition to the rdfsclass),
relationships between class and individuals, and
property characteristics - These new constructs facilitate interoperability
among distributed resources - OWL is encoded in RDF/XML
- OWL is said to be monotonic, meaning that
addition of new information to a knowledge base
does not falsify previous conclusions
3Owl dialects
- OWL has three species OWL-Lite, OWL DL, and OWL
Full - The differences are on limitations on
restrictions on classes - OWL Lite supports class and property hierarchies
and simple restrictions, allowing us to develop
thesauri and simple ontologies - OWL DL is the decidable version of OWL Full, with
some limitation it is a restricted version of
RDF - OWL Full has no limitation, but may not be
decidable
4Features of OWL
- Is compatible with (serializable in) XML
- Uses XSD datatypes
- Follows description logic in having class,
property, and individuals - Has constructs that are identified by the URIref
- Allow us to define complex classes with Boolean
combinations (intersection, union, complement) - Makes it possible to define properties and
subproperties and assignng logical metadata
(e.g., transitivity) - Has features to set two classes, properties, and
individuals as equivalent
5- Allows setting the cardinality constraints
- Setting classes as instances
- Resources defined by it can have labels such that
they can be displayed in different natural
languages - Allows developing Web-distributed ontologies
- Lets us import and reuse other owl code
(ontologies) by extension - Allows saving the same ontologies with different
versions - Allows defining metadata for ontologies (e.g.,
author, version)
6OWL ontology header info
- Includes namespace declaration
- Information about the ontology within the
owlOntology Qname, e.g., version, comments, and
import - The version includes owlversionInfo,
owlpriorVersion, owlbackwardCompatibleWith,
owlincompatibleWith, owl.deprecatedClass, and
owldeprecatedProperty - We can also use the rdfscomment, rdfslabel,
rdfsseeAlso, and rdfsisDefinedBy
7lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"http//www.
Tectonics.org"gt ltrdftypegtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlOntology"
/gtlt/rdftypegt lt/rdfDescriptiongt
ltrdfDescription rdfabout"http//www.StructuralG
eology.org"gt ltrdftypegtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlOntology"
/gtlt/rdftypegt ltrdfscommentgtPart of
Structural Geologylt/rdfscommentgt
ltrdfslabelgtStructural Geologylt/rdfslabelgt
ltowlimportsgtltrdfDescription rdfabout"http//w
ww.Tectonics.org"/gt lt/owlimportsgt
ltowlpriorVersiongtltrdfDescription
rdfabout"http//www.StructuralGeology.org/v0"/gtlt
/owlpriorVersiongt lt/rdfDescriptiongt lt/rdfRD
Fgt
8Two Types of Property in OWL
- Datatype Property has a typed literal (e.g., XSD
or RDF literal ) as its range - As a binary relation, the datatype property
relates a set of instances of a class to a set of
instances of a datatype - A datatype property is declared using the
owlDatatypeProperty - ltlength rdftype owlDatatypePropertygt
- Or
- ltowldatatypeProperty rdfaboutlength/gt
9Object Property
- Object property has a URIref as its range
- As a binary property, it relates a set of
individuals of one class to the set of another
class - The subject and objects of a triple are both
individuals - Object properties are declared two different
ways - ltanalyze rdftype owlObjectPropertygt or
- ltowlobjectProperty rdfaboutanalyze/gt
10Example in N3
- strucfoldDescription rdftype
owlDatatypeProperty. - struc foldDescription rdfs domain struc
Fold. - struc foldDescription rdfs range xsd
string. - struc foldAxis rdf type owl
ObjectProperty. - struc foldAxis rdfs domain struc Fold.
- struc foldAxis rdfs range struc Line.
11Domain and range of properties
- Can be assigned in a short form
- ltowlobjectProperty rdfaboutinfiltrate/gt
- ltowldomain rdfresourceSurfaceWater/gt
- ltowlrange rdfresourceAquifer/gt
- lt/owlobjectPropertygt
- Or the long way, as is shown in the following
slide! - ltrdfDescription rdfabout"infiltrategtltrdftype
gtltrdfDescription - rdfabout"http//www.w3.org/2002/07/owlOb
jectProperty"/gtlt/rdftypegt - ltrdfsdomaingtltrdfDescription
rdfabout"SurfaceWater"/gtlt/rdfsdomaingt - ltrdfsrangegtltrdfDescription
rdfabout"Aquifer"/gtlt/rdfsrangegt - lt/rdfDescriptiongt
12lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"length"gt
ltrdftypegtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlDatatypeP
roperty"/gtlt/rdftypegt ltrdfsdomaingtltrdfDesc
ription rdfabout"Fault"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"http//www
.w3.org/2001/XMLSchemastring"/gtlt/rdfsrangegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"infiltrate"gt ltrdftypegtltrdfDesc
ription rdfabout"http//www.w3.org/2002/07/owlO
bjectProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription rdfabout"SurfaceW
ater"/gtlt/rdfsdomaingt ltrdfsrangegtltrdfDescr
iption rdfabout"Aquifer"/gtlt/rdfsrangegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"Fault"gt ltrdftypegtltrdfDescriptio
n rdfabout"http//www.w3.org/2002/07/owlClass"/
gtlt/rdftypegt lt/rdfDescriptiongt
ltrdfDescription rdfabout"SurfaceWater"gtltrdfty
pegt ltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"Aquifer"gt ltrdftypegtltrdfDescriptio
n rdfabout"http//www.w3.org/2002/07/owlClass"/
gtlt/rdftypegt lt/rdfDescriptiongt lt/rdfRDFgt
13owlinveseOf
- Properties themselves have properties
- OwlinverseOf property relates two properties to
each other - Many properties in one direction have an inverse
property in the opposite direction - For example, the first property in each of the
following pairs analyzes and analyzedBy,
investigates and investigatedBy, hasSample
and sampleOf, wrote and writtenBy, and
locatedIn and locationOf, reverses the
direction of the second property - These follow the definition of the mathematical
inverse function that state if f(x) y, then
f-1(y) x.
14Inference of the owlinverseOf
- P owlinverseOf Q.
- If
- x P y.
- Then
- y Q x.
- Example The partOf property is an inverse
property -
- struc Fold hasPart struc limb.
- partOf owl inveseOf struc hasPart.
- This means that if fold has limb as part, then
limb is part of fold
hasPart
Fold
Limb
x
y
partOf
15lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"Fold"gtltrd
ftypegt ltrdfDescription rdfabout"http//w
ww.w3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"Limb"gtltrdftypegt
ltrdfDescription rdfabout"http//www.w3.org/2002
/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"partOf"gtltrdftypegt
ltrdfDescription rdfabout"http//www.w3.org/2002
/07/owlObjectProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription rdfabout"Limb"/gtlt
/rdfsdomaingt ltrdfsrangegtltrdfDescription
rdfabout"Fold"/gtlt/rdfsrangegt
ltowlinverseOfgtltrdfDescription
rdfabout"hasPart"/gtlt/owlinverseOfgt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"hasPart"gtltrdftypegt
ltrdfDescription rdfabout"http//www.w3.org/2002
/07/owlObjectProperty"/gtlt/rdftypegt
lt/rdfDescriptiongt lt/rdfRDFgt
16partOf owlinverseOf hasPart
17owlsymmetricProperty
- Â If the property that relates two classes is the
same in both directions, we declare the property
as symmetric - For example equals or siblingOf is a
symmetric property (if x is siblingOf y, then y
is siblingOf x) - Symmetric properties must be declared as such
-
- P rdf type owlSymmetricProperty.
- The inference for a symmetric property is as
follows - P owlinverseOf P.
- That is, the symmetric property is an inverse
property.
18owltransitiveProperty
- Â In mathematics, a relation is said to be
transitive if P(a,b) and P(b,c) implies P(a,c).
This is represented by the owltransitiveProperty,
which applies to a property. - Â
- P rdf type owl TransitiveProperty.
- Â
- The inference for this property is as follows
- IFÂ
- x P y. y P z.
- THEN x P z.
- C part of B B part of A C part of A.
P
P
FaultBend
FaultSegment
Fault
x
y
z
19partOf
partOf
partOf
FaultBend
FaultSegment
Fault
x
y
z
- The partOf property (containment) may be
transitive (not always). Finger is part of hand,
and hand is part of body - However, someones hand is not part of the group
to which the person is part of - Geologically, being fractal, faults have segments
that have smaller fault segments, which have even
smaller segments which are themselves fault - strucFaultSegment strucpart of struc
FaultSegment. - strucpartOf rdf type owlTransitivePropert
y. - strucFaultSegment rdfssubClassOf strucFault.
20Transitive partOfpartOf owlinverseOf hasPart
21lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"Fault"gt
ltrdftypegtltrdfDescription rdfabout"http//w
ww.w3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"FaultSegmentgt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"partOf"gtltrdftypegt
ltrdfDescription rdfabout"http//www.w3.org/2002
/07/owlObjectProperty"/gtlt/rdftypegt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlTransitiveProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription
rdfabout"FaultSegment"/gtlt/rdfsdomaingt
ltrdfsdomaingtltrdfDescription rdfabout"FaultBen
d"/gtlt/rdfsdomaingt ltrdfsrangegtltrdfDescript
ion rdfabout"Fault"/gtlt/rdfsrangegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"FaultBend"gtltrdftypegt
ltrdfDescription rdfabout"http//www.w3.org/2002
/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"hasPart"gt ltrdftypegtltrdfDescrip
tion rdfabout"http//www.w3.org/2002/07/owlObje
ctProperty"/gtlt/rdftypegt ltrdfsdomaingtltrdfD
escription rdfabout"Fault"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"FaultSe
gment"/gtlt/rdfsrangegt ltowlinverseOfgtltrdfDe
scription rdfabout"partOf"/gtlt/owlinverseOfgt
lt/rdfDescriptiongt lt/rdfRDFgt
22locatedIn is transitive
- C locatedIn B B locatedIn A C locatedIn A
- Â
- geolocatedIn rdftype owlTransitiveProperty.
- Â
- If
- tectSanAndreasFault geolocatedIn geoCalifornia.
- geoCalifornia geolocatedIn geoUnited
States. - Then
- geoSanAndreasFault geolocatedIn geoUnited
States.
23owlfunctionalProperty
- A functional property p (e.g., hasBiologic
Mother) can only have one unique value y for a
particular individual x - That is, there is a single value of y for a given
x as is for a mathematical function - Function yx2 has a square which is unique for
each input x - Given x (subject individual) we can find y
(object individual) i.e., x ? y - A functional property is therefore one for which
there is only one value! - There could be many x (e.g., children samples),
but all relate only to one y (Mother Sampler) - Functional properties have a global cardinality
constraint
24Inference
- The owlFunctionalProperty can only take one
value for any individual, allowing sameness to be
inferred - The inference rule for this construct is as
follows - Â
- If
- P rdftype owlFunctionalProperty.
- X P A
- X P B
- Then
- A owlsameAs B.
25- A property p is functional if x p y1 and x p y2
imply that y1 y2 i.e., the two object
individuals are the same(owl sameAs) - The subjects are not asserted to be the same
only the objects are the same - For example mineral type is a functional
property - minhasType rdftype owlFunctionalPropert
y. - minmineral1 minhasType minpyr.
- minmineral 1 minhasType minpyroxene.
- minpyr owlsameAs minpyroxene.
- Isotope daughterOf isotope
- sampleLocation and samplerOf are functional
properties, because x sampleLocation y or x
samplerOf y has one unique value y for each x
(i.e., location for a sample or person who took
the sample)
26owlFunctionalProperty
27lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"Sample"gt
ltrdftypegtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlClass"/gtlt
/rdftypegt lt/rdfDescriptiongt
ltrdfDescription rdfabout"Location"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"sampleLocation"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlObjectProperty"/gtlt/rdftypegt
ltrdftypegtltrdfDescription rdfabout"http//ww
w.w3.org/2002/07/owlFunctionalProperty"/gtlt/rdfty
pegt ltrdfsdomaingtltrdfDescription
rdfabout"Sample"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"Location"
/gtlt/rdfsrangegt lt/rdfDescriptiongt
ltrdfDescription rdfabout"Geologist"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"samplerOfgt ltrdftypegtltrdfDescr
iption rdfabout"http//www.w3.org/2002/07/owlOb
jectProperty"/gtlt/rdftypegt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlFunctionalProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription
rdfabout"Geologist"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"Sample"/gt
lt/rdfsrangegt lt/rdfDescriptiongt lt/rdfRDFgt
28Inverse Functional Property
- This property, which is the inverse of the
owlFuncationalProperty, is very useful for
merging data from different sources - The owlFunctionalProperty and owlInverseFuncatio
nalProperty allow merging data for a same
individual from different sources - The owlInverseFunctionalProperty is equivalent
to the key in relational databases, such as SSN
and driving license number - Â
- The inference rule of this construct is as
follows - Â
- P rdftype owlInverseFunctionalProperty.
- A P X.
- B P X.
- Then
- A owlsameAs B.
29owlInverseFuncationalProperty
- If x p y, and p is inverse functional, then there
can be only a single value of x for a given y,
that is - The object individual y of an owlInverseFunctiona
lProperty p uniquely determines a single subject
individual x - Given the object individual (y), we can find a
unique subject individual (x) (i.e., x ?y-1) - In this case, if x1 p y and x2 p y, then x1 and
x2 are the same! - e.g., Isotope parentOf isotope
- e.g., hasSingleAuthorArticle a person may have
many published papers (objects), but all are
authored by one author (subject). - Person hasSingleAuthorArticle SingleAuthorArticle
- Given a singleAuthorArticle object individual (y)
we can find a unique subject individual (x)
y
x
y
y
30hasSingleAuthorPaper
Author
Article
- A single value of the property (object y) cannot
be shared by two x subject entities, e.g.,
describes as in Geologist describes ThinSection - Declaring a property to be inverse functional,
puts a global cardinality constraints on the
property - Datatype properties cannot be declared
inverse-functional in OWL DL
describes
Geologist
ThinSection
31Example
locatedAt
Station
Location
- Assume location of any measurement is uniquely
identified by the longitude and latitude (defined
by Location class), i.e., no two samples can be
taken at the same exact spot - Station134 locatedAt LocationA.
- Station346 locatedAt LocationA.
- Â
- We infer that
- Station134 owl sameAs Station346
32One-to-one Property
x
y
- For a one-to-one relationship, we use a
combination of the owlFunctionalProperty and
owlinverseFunctionalProperty. - Note Sample sampleId XSDInteger is not a good
example, because it is a datatype property, and
not every number gives you the sample - Â
- hasimage rdfsdomain ThinSection.
- hasImage rdfsrange Image.
- hasImage rdftype owlFunctionalProperty.
- hasImage rdftype owlInverseFuncationalPropert
y. - Â
- So, any two thin sections with the same image
must be the same thin section!
sampleId
X
Sample
XSDInteger
hasImage
ThinSection
Image
33- Note that not every functional property can also
be an inverse functional property - For example, mineral composition can be
functional only, because every mineral has a
unique composition, but many individuals can
share that same composition (if they belong to
the same class) (compare with hasFather) - Some properties can only be inverse functional,
but not functional - For example, a single-author publication of an
author (or description of an outcrop or a thin
section by one person) may be inverse functional,
because it only belongs to one person - The person can have several such publications or
descriptions
34owlequivalentProperties
folds
owlequivalentProperty
- Already we have learned about asserting thattwo
properties behave in the same way - To make two properties equivalent, we do exactly
as we did to make to classes equivalent (by using
rdfssubclassOf), i.e., use the
rdfssubPropertyOf twice or using
owlequivalentProperty - e.g., make the folds and buckles properties
equivalent - Â
- struc folds rdfs subPropertyOf buckles.
- struc buckles rdfs subPropertyOf strucfolds.
- This can also be done with the owlequivalentPrope
rty - Â
- strucfolds owlequivalentProperty struc
buckles.
buckles
35One-to-one hasImage Property
36- ltrdfDescription rdfabout"hasImage"gt
- ltrdftypegt
- ltrdfDescription rdfabout"http//www.w3.org/20
02/07/owlObjectProperty"/gtlt/rdftypegt - ltrdftypegtltrdfDescription rdfabout"http//www
.w3.org/2002/07/owlFunctionalProperty"/gtlt/rdftyp
egt - ltrdftypegtltrdfDescription rdfabout"http//www
.w3.org/2002/07/owlInverseFunctionalProperty"/gtlt/
rdftypegt - ltrdfsdomaingt ltrdfDescription
rdfabout"ThinSection"/gtlt/rdfsdomaingt - ltrdfsrangegtltrdfDescription rdfabout"Image"/
gtlt/rdfsrangegt - lt/rdfDescriptiongt
- ltrdfDescription rdfabout"ThinSection"gt
- ltrdftypegtltrdfDescription rdfabout"http//www
.w3.org/2002/07/owlClass"/gtlt/rdftypegt - lt/rdfDescriptiongt
- ltrdfDescription rdfabout"Image"gt
- ltrdftypegtltrdfDescription rdfabout"http//www
.w3.org/2002/07/owlClass"/gtlt/rdftypegt - lt/rdfDescriptiongt
- lt/rdfRDFgt
37Example
folds
shortening
Bedding
equivalentProperty
buckles
- Which means any triple using the folds
property, can use its equivalent property
buckles - strucShortening strucfolds strucBedding.
- strucshortening strucbuckles strucBedding.
- Â
- Â
- Note
- owlequivalentProperty rdftype owl
symmetricPropertÂ
38Combining Properties
- Â Writing procedures or modeling processes, for
example in a laboratory experiment, workflow
management, and modeling geological processes, we
commonly combine several types of properties
(e.g., inverseOf, transitiveProperty,
subPropertyOf) - In such cases, some activities may depend on the
completion of others - For example, making thin section may require the
following steps, each may depend on the
completion of others. Here is the workflow - Slice the rock specimen, square the slice into
chip, polish the chip to fine grit, mount the
chip to slide, cut and polish the section, and
finally, mount with cover slide
39Workflow
- Since these steps are in order, then each step
may enable the next step, or each step depends or
requires the previous step
40code
- dependsOn owl inverseOf enables
- sliceSpecimen enables makeChip.
- makeChip enables polishChip.
- polishChip enables mountChip.
- mountChip enables polishSection.
- polishSection enables putCoverslide.
- Â
- dependsOn rdfs subPropertyOf requires.
- requires rdf type owl TransitiveProperty.
- enables rdfs subPropertyOf requiredFor.
- requiredFor rdf type owl
TransitiveProperty - From the above statements we infer the following
requirements for mountChip - Â
- mountChip requires polishChip
- requires makechip
- requires sliceSpecimen.
41OWL Class
- OWL allows constructing complex classes using
restrictions of the properties of existing
classes - It also includes
- owldisjointWith, owlThing, owlNothing,,
owlequivalentClass, owlone of,
owlintersectionOf, owlunion, and
owlcomplementOf
42Declaring classes in OWL
- An owl class is defined in two different ways
- ltowlDescription rdfaboutClassNamegt
- ltrdftype rdfresourceowlClassgt
- lt/owlDescriptiongt
- Or in short hand, using the owlClass constructor
- ltowlClass rdfaboutclassName/gt
- Or
- ltowlClass rdfIDname/gt
43Owl uses the rdfssubClassOf
- This is used to create class a hierarchy
- rdfssubClassOf is transitive
- ltowlClass rdfaboutStrikeSlipFaultgt
- ltrdfssubClassOf rdfresourceFault/gt
- ltowlClassgt
- Every owl class is a subclass of the owlThing
44owldisjointWith
- Two classes can be declared to be disjoint if
they cannot have a common instance - i.e., their intersection is empty
- For example
- Solid and Liquid Solid and Gas
- Inorganic and Organic
- Crystalline and Amorph
- Mineral and Gas, Mineral and Organic
45Mineral is naturally occurring, inorganic, solid,
crystalline substance with definite chemical
composition. It is disjoint with amorph,
artificial, gas, and organic substances.
46lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synta
x-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-
schema"gt ltrdfDescription rdfabout"Mineral"gt
ltrdftypegtltrdfDescription rdfabout"http//ww
w.w3.org/2002/07/owlClass"/gtlt/rdftypegt
ltowldisjointWithgtltrdfDescription
rdfabout"Amorph"/gtlt/owldisjointWithgt
ltowldisjointWithgtltrdfDescription
rdfabout"Artificial"/gtlt/owldisjointWithgt
ltowldisjointWithgtltrdfDescription
rdfabout"Gas"/gtlt/owldisjointWithgt
ltowldisjointWithgtltrdfDescription
rdfabout"Organic"/gtlt/owldisjointWithgt
ltowldisjointWithgtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlClass"/gtlt
/owldisjointWithgt lt/rdfDescriptiongt ltrdfDescri
ption rdfabout"Amorph"gt ltrdftypegtltrdfDescr
iption rdfabout"http//www.w3.org/2002/07/owlCl
ass"/gtlt/rdftypegt lt/rdfDescriptiongt ltrdfscomment
gtthe Artificial, Gas, and Organic classes
herelt/rdfscommentgt ltrdfDescription
rdfabout"hasComposition"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlDatatypeProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription
rdfabout"Mineral"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"http//www
.w3.org/2001/XMLSchemastring"/gtlt/rdfsrangegt lt/rd
fDescriptiongt lt/rdfRDFgt
47owlThing (?)owlNothing (?)
- OWL has two predefined classes owlThing and
owlNothing - All individuals are members of the owlThing
- OwlThing is the top, most general class, and
represents the universe, which means all
individuals are its instances - OwlNothing has no instance
- Because the intersection of two disjoint sets is
empty, it is represented by the owlNothing
48Intersection (?) of two disjoint classes that
subclass owlThing is owlNothing
49lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"Liquid"gt
ltrdftypegtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlClass"/gtlt
/rdftypegt ltrdfssubClassOfgtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlThing"/gt
lt/rdfssubClassOfgt ltowldisjointWithgtltrdfDe
scription rdfabout"Solid"/gtlt/owldisjointWithgt
lt/rdfDescriptiongt ltrdfDescription
rdfabout"MyNothing"gt ltrdftypegtltrdfDescr
iption rdfabout"http//www.w3.org/2002/07/owlCl
ass"/gtlt/rdftypegt ltowlintersectionOf
rdfparseType"Collection"gt
ltrdfDescription rdfabout"Solid"/gt
ltrdfDescription rdfabout"Liquid"/gt
lt/owlintersectionOfgt lt/rdfDescriptiongt
ltrdfDescription rdfabout"Solid"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
ltrdfssubClassOfgtltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlThing"/gtlt
/rdfssubClassOfgt lt/rdfDescriptiongt lt/rdfRDF
gt
50Set Equivalence (?) by owlequivalentClass
- Â When we want to assert that two URIs refer to
the same thing, we use owlequivalentClass - ltowlClass rdfaboutSaturatedZonegt
- ltowlequivalentClass rdfresourceZoneOfSaturatio
n/gt - lt/owlClassgt
- XRD owlequivalentClass XRayDiffraction.
- strucJoint owlequivalentClass strucTensileFract
ure. - We can also make two classes to be equal if we
make each a subclass of the other, for example,
if we want to say that a joint is the same thing
as a tensile fracture, we assert - strucJoint rdfssubClassOf
strucTensileFracture. - strucTensileFracture rdfssubClassOf
strucJoint. - Â
51Inference for owlequivalentClass
- A owlequivalentClass B.
- x rdftype A
- then
- x rdftype B
- Moreover, from the subClassOf property we
additionally infer that the two classes have
exactly the same members - Â
- A rdfssubClassOf B.
- x rdftype B.
- then
- x rdftype A.
- Â
- Â
- Notice that
- owlequivalentClass rdfstype
owlSymmetricProperty.
A
B
?
x
xy
52owlone of ?x1,, xn?
- Allows defining a class by enumerating its
member, using owl one of - Enumeration is a list of options that a user can
select from - The list is usually exhaustive, like the list of
planets, types of rock or minerals, names of
oceans
53Mercury, Venus, Earth, Mars, Jupiter, Saturn,
Uranus, Neptune
54ltrdfDescription rdfabout"SolarPlanet"gt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlClass"/gtlt/rdftypegt
ltowloneOf rdfparseType"Collection"gt
ltrdfDescription rdfabout"Mercury"/gt
ltrdfDescription rdfabout"Venus"/gt
ltrdfDescription rdfabout"Earth"/gt
ltrdfDescription rdfabout"Mars"/gt
ltrdfDescription rdfabout"Jupiter"/gt
ltrdfDescription rdfabout"Saturn"/gt
ltrdfDescription rdfabout"Uranus"/gt
ltrdfDescription rdfabout"Neptune"/gt
lt/owloneOfgt ltrdfscommentgtDeclare each planet
as an instance of the SolarPlanetlt/rdfscommentgt lt
/rdfDescriptiongt ltrdfDescription
rdfabout"Mercury"gt ltrdftypegtltrdfDescription
rdfabout"SolarPlanet"/gtlt/rdftypegtlt/rdfDescri
ptiongt ltrdfscommentgtlt/rdfscommentgt ltrdfDescri
ption rdfabout"Sun"gt ltrdftypegtltrdfDescript
ion rdfabout"http//www.w3.org/2002/07/owlClass
"/gtlt/rdftypegt lt/rdfDescriptiongt ltrdfDescription
rdfabout"hasPlanet"gt ltrdftypegtltrdfDescrip
tion rdfabout"http//www.w3.org/2002/07/owlObje
ctProperty"/gt lt/rdftypegt
ltrdftypegtltrdfDescription rdfabout"http//www.w
3.org/2002/07/owlFunctionalProperty"/gtlt/rdftypegt
ltrdfsdomaingtltrdfDescription
rdfabout"Sun"/gtlt/rdfsdomaingt
ltrdfsrangegtltrdfDescription rdfabout"SolarPlan
et"/gtlt/rdfsrangegt lt/rdfDescriptiongt
55Individuals
- These are instances of physical or virtual types,
i.e., same type individuals are members of the
same class - Any individual belongs to the owlThing class
- An individual can belong to one or more classes
- Individuals may be assigned to a class as
follows - ltrdfDescription rdfaboutinstanceNamegt
- ltrdftype rdfresourceClassNamegt
- ltrdfDescriptiongt
56Short form of class assignment
- Alternatively, we can instantiate a class as
- ltClassName rdfaboutinstanceName/gt
- ltFault rdfaboutSanAndreasFault/gt
- Or, use the rdfID
- ltowl Thing rdfID ZagrosFault/gt
- ltowl Person rdfID Babaie/gt
- Or we can do it using rdftype as shown on next
slide! - These statements say that the ZagrosFault is a
Thing, and Babaie is of type Person
57Instantiating and individual
lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltrdfDescription rdfabout"Mineral"gt
ltrdftypegt ltrdfDescription
rdfabout"http//www.w3.org/2002/07/owlClass"/gt
lt/rdftypegt lt/rdfDescriptiongt
ltrdfDescription rdfabout"Mineral1"gt
ltrdftypegtltrdfDescription rdfabout"Mineral"/gtlt
/rdftypegt lt/rdfDescriptiongt lt/rdfRDFgt
58Same Individuals (owlsameAs)
- In many cases we want to assert that two things
are actually the same - For example, two samples with different numbers
may actually be the same, or two faults with
different names may actually be the same fault - ltFault rdfaboutSanAndreasFault/gt
- ltFault rdfaboutSanAndreasShearZone/gt
- ltrdfDescription rdfabout SanAndreasFaultgt
- ltowlsameAs rdfresourceSanAndreasShearZone/gt
- lt/rdfDescriptiongt
- For example, Zagros Fault, Zagros shear zone,
Zagros Crash zone, Zagros Thrust - geochemsample1 owlsameAs strucsample22.
- tectZagrosFault owlsameAs strucZagrosShearZone.
59Inference
- Notice that owlsameAs is a symmetric Property
- Â
- owlsameAs rdf type owlSymmetricProperty.
- Therefore, we can infer that
- strucsample22 owlsameAs geochemsample1.
- strucZagrosShearZone owlsameAs
tectZagrosFault. - Â
60owldifferentFrom
- Is used to declare that individuals are mutually
different - It uses owldistinctMembers and
rdfparseTypeCollection to represent an
exhaustive list - ltowldifferentFromgt
- ltowldistinctMembers rdfparseTypeCollection
gt - ltFault rdfaboutBrevardFault/gt
- ltFault rdfaboutTowaligaFault/gt
- lt/owldistinctMembersgt
- lt/owldifferentFromgt
61Merging Different Databases w/ owlsameAs
- The owlsameAs is very useful when merging data
from different databases - For example, lets assume that the following
Sample and Sampling tables (next slide) are
from two autonomous relational databases - As we can see, some concepts are named
differently in the two databases. We want to
merge data from the two tables - Recall that in a relational database, every row
is a record of an individual - The Sample table has 6 rows and 6 columns, which
means that we can extract 36 triples from this
table - The Sampling table has 8 columns and 6 rows,
yielding 48 triples
62Sample Table
SAMPLE (Petrology Database) SAMPLE (Petrology Database) SAMPLE (Petrology Database) SAMPLE (Petrology Database) SAMPLE (Petrology Database) SAMPLE (Petrology Database)
Sample ID Sample Number Paleont Age Rock Absolute Age Researcher
1 N100 Basalt 75 Ma Babaie
2 N110 Miocene Limestone Babaie
3 N120 Miocene Limestone Babaie
4 N130 Basalt 73 Ma Babaie
5 N140 Oligocene Shale Babaie
6 N150 Gabbro 70 Ma Babaie
63Make the Triples
- To make the triples, we use the namespace for
each group (e.g., petr for the petrology, and
tect for the tectonics domains) - Every cell of each table is a triple, with
subject (individual corresponding to the row)
designated with the namespace and table name
attached to the id of the row - The predicate for each triple is designated with
the namespace and table name attached to field
name for the corresponding cell - The object is the content of the corresponding
cell
64Some of the triples are shown below
- Triples for the first row shown below (only
triples of two rows are shown) - petr Sample1 petr Sample_Sample_Number
N100. - petr Sample1 petr Sample_Paleont_Age .
- Petr Sample1 petr Sample_Rock Basalt.
- petr Sample1 petr Sample_Absolute_Age 75 Ma.
- petr Sample1 petr Sample_Researcher Babaie.
- Â
- petr Sample2 petr Sample_Sample_Number
N110. - petr Sample2 petr Sample_Paleont_Age
Miocene. - Petr Sample2 petr Sample_Rock Limestone.
- petr Sample2 petr Sample_Absolute_Age .
- petr Sample2 petr Sample_Researcher Babaie.
65SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database) SAMPLING (Tectonics Database)
ID Sample Number Region SamplingDate Project Investigator Map Name Isotopic Age
1 N130 Neyriz 11/2/2007 Neyriz Ophiolite Babaie Neyriz 124000 73 Ma
2 N150 Neyriz 11/6/2007 Neyriz Ophiolite Babaie Neyriz 124000 70 Ma
3 N100 Neyriz 11/6/2007 Neyriz Ophiolite Babaie Neyriz 124000 75 Ma
4 N120 Neyriz 11/3/2007 Neyriz Ophiolite Babaie Neyriz 124000
5 N140 Neyriz 11/3/2007 Neyriz Ophiolite Babaie Neyriz 124000
6 N110 Neyriz 11/5/2007 Neyriz Ophiolite Babaie Neyriz 124000
66- RDF triples for the Sampling table (only triples
of two rows are shown) - Â
- tect Sample1 tect Sampling_Sample_Number
N130. - tect Sample1 tect Sampling_Region Neyriz.
- tect Sample1 tect Sampling_Sampling_Date
11/2/2007. - tect Sample1 tect Sampling_Project Neyriz
Ophiolite. - tect Sample1 tect Sampling_Investigator
Babaie. - tect Sample1 tect Sampling_Map_Name Neyriz
124000. - tect Sample1 tect Sampling_Isotopic_Age 73
Ma. - Â
- tect Sample2 tect Sampling_Sample_Number
N150. - tect Sample2 tect Sampling_Region Neyriz.
- tect Sample2 tect Sampling_Sampling_Date
11/6/2007. - tect Sample2 tect Sampling_Project Neyriz
Ophiolite. - tect Sample2 tect Sampling_Investigator
Babaie. - tect Sample2 tect Sampling_Map_Name Neyriz
124000. - tect Sample2 tect Sampling_Isotopic_Age 70
Ma. - Â
-
67Mapping the Databases
- We need to map the two tables to each other using
some of the rdfs and owl construct if we want to
run a federated query on the two tables - Because the records (rows) in each table are
actually individual data, we use the owlsameAs
to assert that some individuals are the same - Â Â
- Notice that sample number 130 is in the 4th row
for the Sample table, but is in the 1st row of
the Sampling table (same situation for other
samples)
68The merging assertions
- petr Sample1 owl sameAs tect Sample3.
- petr Sample2 owl sameAs tect Sample6.
- petr Sample3 owl sameAs tect Sample4.
- petr Sample4 owl sameAs tect Sample1.
- petr Sample5 owl sameAs tect Sample5.
- petr Sample6 owl sameAs tect Sample2.
69Boolean class constructors
- OWL provides Boolean constructors such as
owlintersectionOf, owlunionOf, and
owlcomplementOf to allow modeling complex
knowledge - These constructors represent logical
- and (?, conjunction)
- or (?, disjunction)
- not (?, negation)
- The purpose of these constructors is to combine
simple classes into more complex classes with
increased expressivity
70owlintersectionOf (A?B)
- The class defined by the intersection of two
classes contains instances of both classes - ltowlClass rdfaboutSemibrittlegt
- ltowlintersectionOf rdfparseTypeCollectiongt
- ltowlClass rdfaboutBrittle/gt
- ltowlClass rdfaboutDuctile/gt
- lt/owlintersectionOfgt
- lt/owlClassgt
71OwlunionOf (A U B)
- The class defined by the union of two classes has
instances of either or both classes - ltowlClass rdfaboutMigmatitegt
- ltowlunionOf rdfparseTypeCollectiongt
- ltowlClass rdfaboutMetamorphicRock/gt
- ltowlClass rdfaboutIgneousRock/gt
- lt/owlunionOfgt
- lt/owlClassgt
- We can use the owlintersectionOf and owlunionOf
constructor s with the owlsubClassOf as in next
slide for the case of owlcomplementOf
72owlcomplementOf (A)
- The complement of a class contains no instance of
the class - For example, the complement of Fault contains
instances of Cat, Fruit, and River - ltowlClass rdfaboutLandgt
- ltowlsubClassOf gt
- ltowlClassgt
- ltowlcomplementOf rdfresourceBodyOfWa
tergt - lt/owlClassgt
- lt/owlcomplementOfgt
- lt/owlClassgt
- Even though this looks correct, but it is not ,
because the instances of the Land class can
include
73Combination of Boolean constructors
- A better definition of the Land class may, for
example, be defined by first defining a class
(e.g., SolidGround) that annotates all land
features, such as continents, islands, and then
declare Land at the intersection of this class
and the complement of the BodyOfWater class - See next slide
-
74lt?xml version"1.0" encoding"UTF-8"?gt ltrdfRDF
xmlnsowl"http//www.w3.org/2002/07/owl"
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsrdfs"http//www.w3.org/2000/01/rdf-sc
hema"gt ltowlClass rdfabout"Land"gt
ltowlintersectionOf rdfparseType"Collection"gt
ltowlClassgt ltowlcomplementOf
rdfresource"BodyOfWater"/gt
lt/owlClassgt ltowlClass
rdfabout"SolidGround"/gt
lt/owlintersectionOfgt lt/owlClassgt
ltowlClass rdfabout"BodyOfWater"/gt lt/rdfRDFgt
75owl.disjointUnionOf
- OWL 2 DLs owl.disjointUnionOf defines a class
as the union of other classes, all of which are
pairwise disjoint - It is a shorthand for separate axioms making the
classes pairwise disjoint and one setting up the
union class - For example, we can define Mesozoic as the
disjointUnionOf Triassic, Jurassic, and
Cretaceous - ltowl.Class rdfaboutMesozoicgt
- ltowl.disjointUnionOf rdfparseTypeCollection
gt - ltowlClass rdfaboutCretaceous/gt
- ltowlClass rdfaboutJurassic/gt
- ltowlClass rdfaboutTriassic/gt
- lt/owldisjointUnionOfgt
- lt/owl.Class
76owlAlldisjointClasses
- OWL 2 also defines the owlAlldisjointClasses to
collectively define a set of classes as mutually
disjoint - Use the owlmembers and rdfparseTypeCollection
- ltowlAllDisjointClassesgt
- ltowlmembers rdfparseTypeCollectiongt
- ltowlClass rdfaboutCretaceous/gt
- ltowlClass rdfaboutJurassic/gt
- ltowlClass rdfaboutTriassic/gt
- lt/owlmembersgt
- lt/owlAllDisjointClassesgt
77Other alternative ways
- We can also use OWL 1 and mutually define the
Triassic, Jurassic, and Cretaceous periods as
disjoint, with the owldisjointWith - ltowlClass rdfaboutCretaceous/gt
- ltowlClass rdfaboutJurassic/gt
- ltowldisjointWith rdfresourceCretaceous/gt
- lt/owlClassgt
- Or we can define the Cretaceous, Jurassic, and
Triassic classes as disjoint, and then find the
union of these disjoint sets (see owl code
below), which is equivalent to the owl 2.0
disjointUnionOf shortcut
78Example Laramide Orogeny
- The Laramide orogeny in Montana and Wyoming
occurred during the Late Cretaceous and Eocene
(i.e., some processes occurred in either
Cretaceous or Eocene, which are disjoint) - The two periods have no intersection!
- Lets define timeLateCretaceousEocene (may be
defined in the Time ontology) using the
owl.disjointUnion, that occurred either in
Cretaceous or in Eocene, but not in their
intersection (i.e., A xor B) -
- AxorB Exclusive disjunction or exclusive or
One or the other, but not both (red is true in
the image), and is false if neither or both are
true
79N3 Code for Laramide Orogeny
- owldisjointUnionOf (timeLateCretaceousEocene
timeCretaceous timeEocene). - Assuming that we have the LateCretaceousEocene
class - tectLaramide rdf type
tectOrogeny. - tect Laramide timeoccurredIn
timeLateCretaceousEocene. - timeintervalFor owl.inverseOf time
occurredInInterval. - We infer that
- time LateCretaceousEocene intervalFor tect
Laramide - Query Which orogeny occurred in Late
Cretaceous-Eocene?) - ?orogeny time occurredInInterval time
LateCretaceousEocene. - Will return Laramide
80LateCretaceousEocene
- ltowl.Class rdfaboutLateCretaceousEocenegt
- ltowl.disjointUnionOf rdfparseTypeCollection
gt - ltowlClass rdfaboutEocene/gt
- ltowlClass rdfaboutCretaceous/gt
- lt/owldisjointUnionOfgt
- lt/owl.Class
- ltowlClass rdfaboutLaramideOrogeny/gt
- ltowlobjectProperty rdfaboutoccurredIn/gt
- ltrdfsdomain rdfresourceLaramideOrogeny
- ltrdfsrange rdfresource LateCretaceousEocenegt
81Property Restriction
- OWL allows modifying the description of an
existing class C to include a restriction R
(based on some property P) on members of the
class -
- Restriction in OWL is a class (owlRestriction),
meaning that it has individual members which are
constrained by modified properties - The individuals that satisfy R, do not have to be
members of C (they could be in an unnamed class),
because R defines a necessary but not sufficient
condition for membership in C -
- owl Restriction rdfs subClassOf owl
Class.
82Example
- A restriction limits the things that can be said
(i.e., the values for its properties) about an
individual of a class - This means that a class may be modified by
constraining the possible values for its
properties - For example, assume that we have the Fold class,
which has a property called limb, and another
property called intersectsAlong, which is a
subproperty of the intersects property - The intersectsAlong can mean intersect along
anything - However, we want to say that the limb of the fold
intersects the axial plane of the fold along the
fold axis. Thus, we want to restrict the
intersectsAlong property of the Fold class to
have a fold axis range
83- Since we are constraining the values for
properties, we use the keyword owlonProperty
when we want to limit the way a property is used
for the restricted class. For example, if we are
constraining the use of the intersectsAlong
property of the Fold class, we write
owlonProperty intersectsAlong. - Property restrictions are done using the
following format - 1 ltowlClass rdfabout Cgt
- 2
- 3 ltrdfssubClassOfgt
- 4 ltowlRestrictiongt
- 5 ltowlonProperty rdfresource
Pgt - 6 R (restrictions here)
- 7 lt/owl Restriction
- 8 lt/rdfssubClassOfgt
- 9
- lt/owlClassgt
- Line 3 indicates that C is a subclass of an
unnamed restriction class (defined in lines 4-7),
that satisfies R.
84Types of Restriction
- Restrictions in OWL may be of three types
quantified, cardinality, and value (filter
information) - A quantified restrictions may be
- Existential (?) declared with the owl
someValuesFrom - Universal (?), declared with owl allValuesFrom
or owlhasValue
85Quantified Restriction Existential
owlsomeValuesFrom
- This restriction says All individuals for which
at least one (some) value of the property P comes
from class C. - This means that there is at least one member of
the class with the P property
P
C
86Example
- We would like to make a new restricted REE (Rare
Earth Elements) class out of existing Analysis
and RareEarth classes, by constraining the REE
class to contain only individuals, at least one
of which is a rare earth (this can better be done
by defining what the REE are with a different
restriction!) -
- ltowlClass rdfabout REEgt
- ltrdfssubClassOf rdfresource Analysis/gt
ltowlRestrictiongt ltowlonProperty
rdfresource elements/gt
ltowlsomeValuesFrom rdfresource
RareEarth/gt lt/owlRestrictionlt/rdfssubClass
Ofgt - lt/owlClassgt
87Restricted REE class
88Example courses taught at GSU
- Assume that we have the two existing classes
Course and GSU, and we want to define a new
restricted class called GSUCourse from the Course
class - So, we declare GSUCourse a subclass of Course,
and constrain it with an unnamed Restriction
class - Assume that an existing property called
taughtIn is defined for the Course class. The
GSUCourse restricted class can only have
individuals some of which are taughtIn GSU -
- ltowl Class rdf about GSUCoursegt ltrdfs
subClassOf rdf resource Course/gt
ltowl Restrictiongt ltowl onProperty
rdf resource taughtIn/gt ltowl
someValuesFrom rdf resource GSU/gt
lt/owl Restriction lt/rdfs subClassOfgtlt/owl
Classgt
89(No Transcript)
90Quantified RestrictionUniversal owlallValuesFrom
- This produces a restriction class that says
- the individuals for which all values of the
property P come from class C. - This means that if there are any members, then
they all must have this property P
91Example Planar Structure
- ltowlClass rdfabout PlanarStructuregt
ltrdfssubClassOf rdfresource Structure/gt
ltowlRestrictiongt ltowlonProperty
rdfresource attitude/gt
ltowlallValuesFrom rdfresource
PlanarAttitude/gt lt/owlRestriction
lt/rdfssubClassOfgtlt/owlClassgt
92Example XRF Analysis
- Assume that we have defined the Analysis and XRF
classes before - We would like to define a new restricted class
constrained to have all of its individuals be of
type XRF -
- ltowl Class rdf about XRFAnaysisgt ltrdfs
subClassOf rdf resource Analysis/gt
ltowl Restrictiongt ltowl onProperty
rdf resource typeOfAnalysis/gt ltowl
allValuesFrom rdf resource XRF/gt
lt/owl Restriction lt/rdfs subClassOfgt - lt/owl Classgt
93(No Transcript)
94Cardinality Restriction (Constraint)
- Cardinality restriction imposes a limit on the
number of occurrences of property P that each
member of a class C can have - i.e., it provides constraints on the number of
individuals that can be related to a member of a
restriction class - Cardinality restriction can be used to create
special sets - Â
- Exact cardinality restriction, declared by owl
cardinality, defines the exact number of
occurrences of property P for members of class C - For example, every mineral may have exactly one
refractive index
95Example Single Authored publication
- ltowl Class rdf about SingleAuthorPublicatio
ngt ltrdfs subClassOf rdf resource
Publication/gt ltowl Restrictiongt
ltowl onProperty rdf resource
hasAuthor/gt ltowl cardinality
rdf datatype xsdnonNegativeInte
gergt 1 ltowl cardinalitygt lt/owl
Restriction lt/rdfs subClassOfgt - lt/owl Classgt
96Max or min cardinality restrictions
- Are declared with maxCardinality or
minCardinality, and give the maximum or minimum
number of occurrences of property P for members
of class C - Example A box fold can have at least two axes.
- ltowl Class rdf about BoxFoldgt ltrdfs
subClassOf rdf resource Fold/gt
ltowl Restrictiongt ltowl onProperty
rdf resource axis/gt ltowl
minCardinality rdf datatype
xsdnonNegativeIntegergt 2 ltowl
mincardinalitygt lt/owl Restriction
lt/rdfs subClassOfgtlt/owl Classgt
97Hydrogen has a maximum of three isotopes
- ltowl Class rdf about HydrogenIsotopegt
ltrdfs subClassOf rdf resource
Isotope/gt ltowl Restrictiongt
ltowl onProperty rdf resource
numberOfIsotopes/gt ltowl
maxCardinality rdf datatype
xsdnonNegativeIntegergt 3 ltowl
maxcardinalitygt lt/owl Restriction
lt/rdfs subClassOfgtlt/owl Classgt
98(No Transcript)
99Value Restriction (Filter Information) owl
hasValue
- This is a special case of owl someValueFrom
restriction in which the class C is a singleton
set A - It imposes a limit on the values the occurrences
of property P may have - This kind of restriction applies to cases in
which we want to say all individuals that have
the value A for the property P.
100Planets that orbit around the sun
- Assume orbits has a Planet domain and an XSD
string range - ltowl Class rdf about PlanetOrbitingSungt
ltrdfs subClassOf rdf resource
Planet/gt ltowl Restrictiongt
ltowl onProperty rdf resource orbits/gt
ltowl hasValue rdf resource Sun/gt
lt/owl Restriction lt/rdfs subClassOfgt - lt/owl Classgt
101(No Transcript)
102Zagros folds are those located in the Zagros Range
- ltowl Class rdf about ZagrosFoldgt ltrdfs
subClassOf rdf resource Fold/gt
ltowl Restrictiongt ltowl onProperty
rdf resource locatedIn/gt ltowl
hasValue rdf resource ZagrosRange/gt
lt/owl Restriction lt/rdfs subClassOfgt - lt/owl Classgt