OWL Web Ontology Language - PowerPoint PPT Presentation

1 / 102
About This Presentation
Title:

OWL Web Ontology Language

Description:

We infer that: time : LateCretaceousEocene intervalFor tect : Laramide Query: Which orogeny occurred in Late Cretaceous-Eocene?): ... (Rare Earth Elements) ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 103
Provided by: hab61
Category:
Tags: owl | earth | language | ontology | web

less

Transcript and Presenter's Notes

Title: OWL Web Ontology Language


1
OWLWeb Ontology Language
  • The Knowledge Presentation Language

2
Web 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

3
Owl 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

4
Features 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)

6
OWL 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

7
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"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
8
Two 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

9
Object 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

10
Example 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.

11
Domain 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

12
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"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
13
owlinveseOf
  • 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.

14
Inference 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
15
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"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
16
partOf owlinverseOf hasPart
17
owlsymmetricProperty
  •  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.

18
owltransitiveProperty
  •  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
19
partOf
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.

20
Transitive partOfpartOf owlinverseOf hasPart
21
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"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
22
locatedIn 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.

23
owlfunctionalProperty
  • 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

24
Inference
  • 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)

26
owlFunctionalProperty
27
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"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
28
Inverse 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.

29
owlInverseFuncationalProperty
  • 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
30

hasSingleAuthorPaper
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
31
Example
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

32
One-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

34
owlequivalentProperties
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
35
One-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

37
Example
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 

38
Combining 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

39
Workflow
  • Since these steps are in order, then each step
    may enable the next step, or each step depends or
    requires the previous step

40
code
  • 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.

41
OWL 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

42
Declaring 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

43
Owl 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

44
owldisjointWith
  • 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

45
Mineral is naturally occurring, inorganic, solid,
crystalline substance with definite chemical
composition. It is disjoint with amorph,
artificial, gas, and organic substances.
46
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-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
47
owlThing (?)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

48
Intersection (?) of two disjoint classes that
subclass owlThing is owlNothing
49
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"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
50
Set 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.
  •  

51
Inference 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
52
owlone 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

53
Mercury, Venus, Earth, Mars, Jupiter, Saturn,
Uranus, Neptune
54
ltrdfDescription 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
55
Individuals
  • 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

56
Short 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

57
Instantiating 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
58
Same 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.

59
Inference
  • Notice that owlsameAs is a symmetric Property
  •  
  • owlsameAs rdf type owlSymmetricProperty.
  • Therefore, we can infer that
  • strucsample22 owlsameAs geochemsample1.
  • strucZagrosShearZone owlsameAs
    tectZagrosFault.
  •  

60
owldifferentFrom
  • 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

61
Merging 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

62
Sample 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
63
Make 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

64
Some 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.

65
SAMPLING (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.
  •  

67
Mapping 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)

68
The 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.

69
Boolean 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

70
owlintersectionOf (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

71
OwlunionOf (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

72
owlcomplementOf (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

73
Combination 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

74
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 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
75
owl.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

76
owlAlldisjointClasses
  • 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

77
Other 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

78
Example 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

79
N3 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

80
LateCretaceousEocene
  • 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

81
Property 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.

82
Example
  • 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.

84
Types 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

85
Quantified 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
86
Example
  • 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

87
Restricted REE class
88
Example 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)
90
Quantified 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

91
Example Planar Structure
  • ltowlClass rdfabout PlanarStructuregt
    ltrdfssubClassOf rdfresource Structure/gt
    ltowlRestrictiongt ltowlonProperty
    rdfresource attitude/gt
    ltowlallValuesFrom rdfresource
    PlanarAttitude/gt lt/owlRestriction
    lt/rdfssubClassOfgtlt/owlClassgt

92
Example 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)
94
Cardinality 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

95
Example 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

96
Max 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

97
Hydrogen 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)
99
Value 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.

100
Planets 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)
102
Zagros 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
Write a Comment
User Comments (0)
About PowerShow.com