SlideShare a Scribd company logo
1 of 53
Jarrar © 2013 1
Dr. Mustafa Jarrar
University of Birzeit
mjarrar@birzeit.edu
www.jarrar.info
Lecture Notes on OWL
Birzeit University, Palestine
2013
OWL
Web Ontology Language
Jarrar © 2013 2
Watch this lecture and download the slides from
http://jarrar-courses.blogspot.com/2014/01/web-data-management.html
Thanks to Anton Deik and Rami Hodrob for their help in preparing these slides
Most information based on [1]
Jarrar © 2013 3
Reading Material
http://www.w3.org/TR/owl2-primer/
Jarrar © 2013 4
Lecture outline
1. Introduction to OWL
2. OWL Basics
3. Class Expression Axioms
4. Property Axioms
5. Assertions
6. Class Expressions -Propositional Connectives
and Enumeration of Individuals
7. Class Expressions​ -Property Restrictions
8. Class Expressions​ -Cardinality Restrictions
Keywords: Tutorial, lecture, OWL, OWL2, RDFS, Ontology, Ontology Language, Class,
Property, Object Property, Data Property, Class Expression Axioms, Class Expression, Property
Axioms, Class Expressions, Enumeration, Property Restrictions, Cardinality Restrictions
Jarrar © 2013 5
What is OWL?
OWL stands for Web Ontology Language.
OWL became a W3C standard in February 2004. OWL 2, and OWL2 in
27 October 2009.
OWL is part of the "Semantic Web Vision" – The next generation of the
Web (Web 3.0).
To describe the meaning/semantics of the Web data (RDF is written in
terms of OWL)
OWL is called an ontology language. That is, what we specify in OWL is
called an ontology (Ontology is about the exact description of things and
their relationships.) For the web, ontology is about the exact description
of web information and relationships between them.
OWL’s underpinning description logic is SHOIQ.
Jarrar © 2013 6
OWL versus RDFS and RDF
OWL and RDFS are much of the same thing, but OWL allow constrains
and rules.
OWL can be seen as an extension of RDF/RDFS, OWL comes with a
larger vocabulary and stronger syntax than RDF and RDFS.
OWL has three sublanguages (OWL full, OWL DL, OWL Lite).
Jarrar © 2013 7
Variations of OWL
OWL Lite
– A subset of OWL DL
– This part of OWL is easier for reasoning
OWL DL
– The part of OWL Full that is in the Description Logic framework.
– Known to have decidable reasoning.
OWL Full
– maximum expressiveness
– no computational guarantees (not undecidable reasoning)
Jarrar © 2013 8
OWL 2
• OWL 2, became a W3C recommendation in 27 October 2009.
• An ontology language for the semantic Web which is extended from
OWL 1 and empowered by new features.
• OWL 2 DL underpinning description logic is SROIQ.
• OWL 2 is supported by several semantic reasoners such as RacerPro
2, Pellet, Hermit and FaCT++.
Jarrar © 2013 9
Versions of OWL 2
OWL 2 EL
– Allows for subclass axioms with intersection, existential
quantification, top, bottom and closed classes with only one member.
– Disallow for negation, disjunction, arbitrary universal quantification,
role inverses.
OWL 2 QL
– Allows for subproperties, domain, range and subclass statements.
– Disallow for closed classes.
OWL 2 RL
– Allows for all axiom types, cardinality restrictions(only ≤1 and ≤0 on
right hand side) and closed classes with only one member.
– Disallow certain constructors( universal and negation on left hand
side and extensional and union on right hand side of subclass
statements).
Jarrar © 2013 10
OWL Basics
• Classes
• Individuals
• Properties
• Special Classes and Properties
Part 2/8
Jarrar © 2013 11
Classes
Owl:Class
Unary predicates: Person(__), City(__).
User-defined classes which are subclasses of root class owl:Thing. A
class may contain individuals, which are instances of the class, and other
subclasses.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:ontology rdf:about="http://www.example.com">
<rdfs:comment> comments here</rdfs:comment>
</owl:ontology>
<owl:Class rdf:about="Person"/>
<owl:Class rdf:about="City"/>
<owl:Class rdf:about="Country"/>
</rdf:RDF>
Similar to Object-Type in ORM, Entity in EER, or Class in UML
Jarrar © 2013 12
Individuals
Individuals
• Constants: Edward_Said, Palestine.
• An individual is a member/instance of a class
<Man rdf:about=“Edward_Said" />
<Country rdf:about=“Palestine" />
<City rdf:about=“Jerusalem" />
Notice that there is no way in ORM/UML/EER to add instance of
concepts as art of the schema.
Jarrar © 2013 13
Properties (ObjectProperty)
owl:ObjectProperty
• A relation between instances of two classes.
• Binary predicates (hasAuthor(__, __) ).
<owl:ObjectProperty rdf:about=“hasAuthor">
<rdfs:domain rdf:resource="# Book"/>
<rdfs:range rdf:resource="#Person"/>
</owl:ObjectProperty>
Similar to a binary relation in ORM between two entity types.
But unlike ORM, property may not have domain and range, these are
used for reasoning
Book Person
HasAuthor
Jarrar © 2013 14
Properties (DatatypeProperty)
owl:DataTypeProperty
• Relation between instances of classes and values.
• The range of a literal datatype (use XML Schema datatypes).
<owl:DatatypeProperty rdf:about=“hasTitle">
<rdfs:domain rdf:resource=“Book" />
<rdfs:range rdf:resource=" xsd:string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about=“hasPrice">
<rdfs:domain rdf:resource=“Book" />
<rdfs:range rdf:resource="xsd:integer"/>
</owl:DatatypeProperty>
Similar to a binary relation in ORM between an Entity and a Value.
Book Title
Has
Jarrar © 2013 15
Properties (Assertions)
<rdf:Description rdf:about=” http://en.wikipedia.org/wiki/Orientalism">
<hasAuther rdf:resource="http://en.wikipedia.org/wiki/Edward_Said"/>
<hasTitle rdf:datatype=”xsd:string">Orientalism</hasTitle>
<hasPrice rdf:datatype=”xsd:integer">51</hasPrice>
</rdf:Description>
<rdf:Description rdf:about="John">
<hasWife rdf:resource="Mary"/>
</rdf:Description>
Examples of how to instances of properties
Based on [1]
Jarrar © 2013 16
Special Classes and Properties
• Top class: T
owl:Thing
contains all individuals of the domain.
• Bottom class: ┴
owl:Nothing
contains no individuals(empty class).
• Universal property: U
owl:topObjectProperty
links every individual to every individual.
Jarrar © 2013 17
Class Expression Axioms
• Subclass Axioms
• Equivalent Classes
• Disjoint Classes
• Disjoint Union of Class Expressions
Part 3/8
Jarrar © 2013 18
Class Expression Axioms
Subclass Axioms
rdfs:subClassOf
Notice that rdfs:subClassOf is part of RDFS, not OWL. This to show that
OWL extends RDF/RDFS.
SubClassOf( a:Man a:Person ) means that Each Man is a Person.
<owl:Class rdf:about=“Man">
<rdfs:subClassOf rdf:resource=“Person"/>
</owl:Class>
<owl:Class rdf:about=“Book">
<rdfs:subClassOf rdf:resource=“Publication" />
</owl:Class>
Similar to the SubType relation ORM, UML and EER,
Publication
Book
Jarrar © 2013 19
Class Expression Axioms
Equivalent Classes
owl:equivalentClass
• States equivalence (i.e., class extension) of two named classes.
• Useful when integrating or mapping between two different ontologies.
<owl:Class rdf:about=“Palestine_President">
<owl:equivalentClass rdf:resource=“PrincipalResidentOfPlestine"/>
</owl:Class>
• A class axiom may contain (multiple) owl:equivalentClass statements.
• The classes Being, Human and Person are semantically equivalent to
each other.
<owl:Class rdf:about=“Being">
<owl:equivalentClass rdf:resource=“Human"/>
<owl:equivalentClass rdf:resource=“Person"/>
</owl:Class>
Jarrar © 2013 20
Class Expression Axioms
Disjoint Classes
owl:AllDisjointClasses
• To state that these classes have no individuals in common.
• AllDisjointClasses (C1 ... Cn ): all of the classes Ci, 1 ≤ i ≤ n, are
pairwise disjoint; that is, no individual can be at the same time an
instance of both Ci and Cj for i ≠ j.
<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<owl:Class rdf:about="Woman"/>
<owl:Class rdf:about="Man"/>
</owl:members>
</owl:AllDisjointClasses>
…
A1
A
AnA2
⨂
Jarrar © 2013 21
Class Expression Axioms
Disjoint Union of Class Expressions
owl:disjointUnionOf
• DisjointUnion (C C1 ... Cn ): a class C is a disjoint union of the classes
Ci, 1 ≤ i ≤ n, all of which are pairwise disjoint the extensions of all Ci
exactly cover the extension of C.
• DisjointUnion (Person Female Male ) means each Person is either a
Male or a Female, each Female is a Person, each Male is a Person,
and nothing can be both a Female and a Male.
<owl:Class rdf:about="#Person">
<owl:disjointUnionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Female"/>
<rdf:Description rdf:about="#Male"/>
</owl:disjointUnionOf>
…
A1
A
AnA2
⨂.
Jarrar © 2013 22
Class Expression Axioms
OWL2 Example1
• Here we illustrate a simple example represented in ORM and OWL 2.
• In the example, the illustrated OWL 2 constructs are Class, Subclass,
Union of Classes and Disjoint Classes.
<owl:Class rdf:about="&OWL2Example1:Person“/>
<owl:Class rdf:about="&OWL2Example1:Female">
<rdfs:subClassOf rdf:resource="&OWL2Example1:Person"/>
</owl:Class>
<owl:Class rdf:about="&OWL2Example1:Male">
<rdfs:subClassOf rdf:resource="&OWL2Example1:Person"/>
</owl:Class>
<owl:Class rdf:about="&OWL2Example1:Person">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&OWL2Example1:Female"/>
<rdf:Description rdf:about="&OWL2Example1:Male"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
Female
Person
Male
Jarrar © 2013 23
Class Expression Axioms
OWL2 Example1
• Here we illustrate a simple example represented in ORM and OWL 2.
• In the example, the illustrated OWL 2 constructs are Class, Subclass,
Union of Classes and Disjoint Classes.
<owl:AllDisjointClasses>
<owl:members rdf:parseType="Collection">
<owl:Class rdf:about=“Female"/>
<owl:Class rdf:about="Male"/>
</owl:members>
</owl:AllDisjointClasses> Female
Person
Male
Jarrar © 2013 24
Property Axioms
• Object Subproperties
• Equivalent Object Properties
• Disjoint Object Properties
• Inverse Object Properties
• Object Property Domain
• Object Property Range
• Functional Object Properties
• Inverse-Functional Object Properties
Part 4/8
Jarrar © 2013 25
Object Property Axioms
Object Subproperties
rdfs:subPropertyOf
Properties, like classes, can be arranged in a hierarchy.
SubPropertyOf (OP1 OP2 ): if an individual x is connected by OP1 to an
individual y, then x is also connected by OP2 to y.
The rdfs:subPropertyOf means that anything with a Borrows property with
value X also has a ChecksOut property with value X.
<owl:ObjectProperty rdf:about=“Borrows">
<rdfs:domain rdf:resource=“Person"/>
<rdfs:range rdf:resource=“Book"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about=“ChecksOut">
<rdfs:subPropertyOf rdf:resource=”Borrows" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="hasWife">
<rdfs:subPropertyOf rdf:resource="hasSpouse"/>
</owl:ObjectProperty>
Similar to the Subset constraint in ORM.
R
S
...
......
...
⊆
Jarrar © 2013 26
Object Property Axioms
Equivalent Properties
owl:equivalentProperty
• EquivalentObjectProperties (OP1 ... OPn): all of the object properties
OPi, 1 ≤ i ≤ n, are semantically equivalent to each other.
• EquivalentObjectProperties (a:hasBrother a:hasMaleSibling) means
that having a brother is the same as having a male sibling
<owl:ObjectProperty rdf:about="hasChild">
<owl:equivalentProperty rdf:resource=”x:child"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="hasAge">
<owl:equivalentProperty rdf:resource=”y:age"/>
</owl:DatatypeProperty>
R
S
...
......
...
=
Jarrar © 2013 27
Object Property Axioms
Disjoint Properties
owl:propertyDisjointWith
• DisjointObjectProperties (OP1 ... OPn): all of the object properties
OPi, 1 ≤ i ≤ n, are pairwise disjoint; that is, no individual x can be
connected to an individual y by both OPi and OPj for i ≠ j .
• DisjointObjectProperties( a:hasFather a:hasMother ) means that
Fatherhood is disjoint with motherhood.
<rdf:Description rdf:about="hasFather">
<owl:propertyDisjointWith rdf:resource="hasMother"/>
</rdf:Description>
R
S
...
......
...
⨂
Jarrar © 2013 28
Object Property Axioms
Inverse Object Properties
owl:inverseOf
• If a property P is tagged as the owl:inverseOf Q, then for all x and y:
P(x,y) iff Q(y,x).
• Note that the syntax for owl:inverseOf takes a property name as an
argument. A iff B means (A implies B) and (B implies A).
• InverseObjectProperties (OP1 OP2): the object property OP1 is an
inverse of the object property OP2, that is if an individual x is
connected by OP1 to an individual y, then y is also connected by OP2
to x, and vice versa.
<owl:ObjectProperty rdf:about="hasParent">
<owl:inverseOf rdf:resource="hasChild"/>
</owl:ObjectProperty>
......
hasParent/hasChild
Jarrar © 2013 29
Object Property Axioms
Property Domain
rdfs:domain
• ObjectPropertyDomain (OP C): the domain of the object property
OP is the class C, that is, if an individual x is connected by OP with
some other individual, then x is an instance of C.
• ObjectPropertyDomain( a:hasDog a:Person ) means that only people
can own dogs.
<owl:ObjectProperty rdf:about=“hasDog">
<rdfs:domain rdf:resource=“Person"/>
…
</owl:ObjectProperty>
hasDog/
Person ...
Jarrar © 2013 30
Object Property Axioms
Property Range
rdfs:range
• ObjectPropertyRange(OP C): the range of the object property OP is
the class C , that is, if some individual is connected by OP with an
individual x, then x is an instance of C.
• ObjectPropertyRange( a:hasDog a:Dog ) means that the range of the
a:hasDog property is the class a:Dog.
<owl:ObjectProperty rdf:about="#hasDog">
…
<rdfs:range rdf:resource="#Dog"/>
</owl:ObjectProperty>
hasDog/
Dog
Jarrar © 2013 31
Object Property Axioms
Functional Object Property
Owl:FunctionalProperty
• FunctionalObjectProperty (OP): the object property OP is functional,
that is, for each individual x, there can be at most one distinct
individual y such that x is connected by OP to y.
• FunctionalObjectProperty (a:hasFather ) means that each individual
can have at most one father.
<owl:FunctionalProperty rdf:about=“#hasFather"/>
R
BA
Jarrar © 2013 32
Object Property Axioms
Inverse-Functional Object Property
Owl:InverseFunctionalProperty
• InverseFunctionalObjectProperty (OPI ): the object property OPI is
inverse-functional, that is, for each individual x, there can be at most
one individual y such that y is connected by OP with x.
• InverseFunctionalObjectProperty (a:fatherOf ) means that each
object can have at most one father.
<owl:InverseFunctionalProperty rdf:about=“#FatherOf"/>
There is no inverse for Datatype properties
R
BA
Jarrar © 2013 33
Object Property Axioms
OWL2 Example2
• Here we illustrate a simple example represented in ORM and OWL 2.
• In the example, the illustrated OWL 2 constructs are Object
Subproperties, Inverse Object Properties, Object Property Domain,
Object Property Range and Functional Object Properties.
<owl:Class rdf:about="&OWL2Example2:Person"/>
<owl:Class rdf:about="&OWL2Example2:Vehicle"/>
<owl:Class rdf:about="&OWL2Example2:Gender"/>
<owl:ObjectProperty rdf:about="&OWL2Example2:Drives">
<rdfs:domain rdf:resource="&OWL2Example2:Person"/>
<rdfs:range rdf:resource="&OWL2Example2:Vehicle"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="&DrivenBy">
<owl:inverseOf rdf:resource="OWL2Example2:Drives"/>
</owl:ObjectProperty>
Has
Drives DrivenBy
VehiclePersonGender
Owns
<owl:ObjectProperty rdf:about="&OWL2Example2:Owns">
<rdfs:domain rdf:resource="&OWL2Example2:Person"/>
<rdfs:range rdf:resource="&OWL2Example2:Vehicle"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="&OWL2Example2:Owns">
<rdfs:subPropertyOf rdf:resource="&OWL2Example2:Drives"/>
</owl:ObjectProperty>
<owl:FunctionalProperty rdf:about=“&OWL2Example2:Has/>
Jarrar © 2013 34
Assertions
• Individual Equality
• Individual Inequality
Part 5/8
Jarrar © 2013 35
Assertions
Individual Equality
owl:sameAs
• Identity between Individuals
• This mechanism is similar to that for classes, but declares two
individuals to be identical.
• SameIndividual ( a1 ... an ): all of the individuals ai, 1 ≤ i ≤ n, are equal
to each other(synonymes).
<rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X">
<owl:sameAs rdf:resource="http://en.wikipedia.org/wiki/Orientalis"/>
</rdf:Description>
<rdf:Description rdf:about=“x:Edward_Said">
<owl:sameAs rdf:resource=“# E_Said"/>
</rdf:Description>
Jarrar © 2013 36
Assertions
Individual Inequality
owl:differentFrom
• An owl:differentFrom statement indicates that two URI references refer
to different individuals.
<rdf:Description rdf:about="http:/amazon.com/Orientalism-Edward-W-Said/dp/039474067X">
<owl:differentFrom rdf:resource="http://www.youtube.com/watch?v=X3iA73JXIFo"/>
</rdf:Description>
<rdf:Description rdf:about="John">
<owl:differentFrom rdf:resource="Bill"/>
</rdf:Description>
Jarrar © 2013 37
Class Expressions
Propositional Connectives and Enumeration of Individuals
• Intersection of Class Expressions
• Union of Class Expressions
• Complement of Class Expressions
• Enumeration of Individuals
Part 6/8
Jarrar © 2013 38
Class Expressions
Intersection of Class Expressions
owl:intersectionOf
Describes a class for which the class extension contains precisely those
individuals that are members of the class extension of all class
descriptions in the list.
<owl:Class rdf:about="Mother">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="Woman"/>
<owl:Class rdf:about="Parent"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class> . . .
⊓⊓
A_Intersection
A1 A2 An
Proposed Notation
Jarrar © 2013 39
Class Expressions
Union of Class Expressions
owl:unionOf
The union of two classes contains every individual which is contained in
at least one of these classes. Therefore we could characterize the class
of all parents as the union of the classes Mother and Father:
<owl:Class rdf:about="Parent">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="Mother"/>
<owl:Class rdf:about="Father"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class> …
A1
A
AnA2
Jarrar © 2013 40
Class Expressions
Complement of Class Expressions
owl:complementOf
The complement of a class corresponds to logical negation: it consists of
exactly those objects which are not members of the class itself. The
following definition of childless persons uses the class complement and
also demonstrates that class constructors can be nested:
<owl:Class rdf:about="ChildlessPerson">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="Person"/>
<owl:Class>
<owl:complementOf rdf:resource="Parent"/>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
A
¬
NotA
Proposed Notation
Jarrar © 2013 41
Class Expressions
Enumeration of Individuals
owl:one of
• A way to describe a class is just to enumerate all its instances.
• These instances are the only members of PalestinianCities. Classes
defined this way are sometimes referred to as closed classes or
enumerated sets. We cannot have more, or less instances.
<owl:Class rdf:about=”PalestinianCities">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="Jerusalem "/>
<rdf:Description rdf:about="Aka"/>
<rdf:Description rdf:about=”Ramallah"/>
…
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
{b1, … , bn}
... B B  {b1, … , bn}
Jarrar © 2013 42
Class Expressions -Property Restrictions
• Existential Quantification
• Universal Quantification
• Individual Value Restriction
• Self-Restriction
Part 7/8
Jarrar © 2013 43
Class Expressions
Object Property Restrictions- Existential Quantification
owl:someValuesFrom
• Defines a class as the set of all individuals that are connected via a
particular property to another individual which is an instance of a
certain class.
• Each Account must have at least one Owner that is a Person.
HasOwner/
Account Person
<owl:Class rdf:about=“Account">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#HasOwner" />
<owl:someValuesFrom rdf:resource="#Person" />
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
 Same for DatatypeProperty
Jarrar © 2013 44
Class Expressions
Object Property Restrictions- Universal Quantification
owl:allValuesFrom
• To describe a class of individuals for which all related individuals must be
instances of a given class
• For every Account, if they have owners, all the owners must be Persons.
<owl:Class rdf:about=“Account">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#HasOwner" />
<owl:allValuesFrom rdf:resource="#Person" />
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
 Same for DatatypeProperty
Jarrar © 2013 45
Class Expressions
Object Property Restrictions- Individual Value Restriction
owl:hasValue
ObjectHasValue( OP a ): consists of an object property OP and an
individual a, and it contains all those individuals that are connected by
OP to a. For example, we can create a class “BirzeitLovers” to include
all those who love Birzeit.
loves/
BirzeitLovers
Birzeit
(Proposed Notation)
<owl:Class rdf:about=“BirzeitLovers">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource=”#Loves"/>
<owl:hasValue rdf:resource="#Birzeit"/>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
individual
Jarrar © 2013 46
Class Expressions
Object Property Restrictions- Self Restriction
owl:hasSelf
• ObjectHasSelf (OP): a class expression that contains all individuals that
are connected to themselves via OPE
• ObjectHasSelf ( a:loves ) contains those individuals that love themselves.
Loves/
SelfLover
Self (Proposed
Notation)
<owl:Class rdf:about=“SelfLover">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#loves"/>
<owl:hasSelf rdf:datatype="&xsd;boolean">true</owl:hasSelf>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
Jarrar © 2013 47
Class Expressions -Cardinality Restrictions
• Minimum Cardinality
• Maximum Cardinality
• Exact Cardinality
Part 8/8
Jarrar © 2013 48
Class Expressions - Cardinality
Owl:minCardinality
• OWL allows us to place some restrictions on properties, such as
owl:minCardinality.
• Each student must be EnrolledIn in 3 things, at least
<owl:Class rdf:about=“Student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger“> 3
</owl:minCardinality>
<owl:onProperty rdf:resource=”#EnrolledIn"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
rA
≥ n
A Thing
Jarrar © 2013 49
Class Expressions - Cardinality
Owl:maxCardinality
• OWL allows us to place some restrictions on properties, such as
owl:maxCardinality.
• Each student must be EnrolledIn in 6 things, at most
<owl:Class rdf:about=“Student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger“> 6
</owl:MaxCardinality>
<owl:onProperty rdf:resource=”EnrolledIn"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
rA
≤ n
A Thing
Jarrar © 2013 50
Class Expressions - Cardinality
Owl:Cardinality
• OWL allows us to place some restrictions on properties, such as
owl:Cardinality.
<owl:Class rdf:about=“Student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:Cardinality rdf:datatype="&xsd;nonNegativeInteger“> 5
</owl:Cardinality>
<owl:onProperty rdf:resource=”EnrolledIn"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
• Each student must be EnrolledIn in 5 things, exactly
rA
= n
A Thing
Jarrar © 2013 51
Class Expressions - Cardinality
owl:qualifiedCardinality
• Same as owl:Cardinality, but we restrict the property with its range.
<owl:Class rdf:about=“Student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger“> 5
</owl:qualifiedCardinality>
<owl:onProperty rdf:resource=”EnrolledIn"/>
<owl:onClass rdf:resource=”Course"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
• Each student must be EnrolledIn in 5 courses, exactly
Similarly, there is minQualifiedCardinality and maxQualifiedCardinality
rA
= n
A B
Jarrar © 2013 52
XML Datatypes
xsd:string
xsd:normalizedString
xsd:boolean
xsd:decimal
xsd:float
xsd:double
xsd:integer
xsd:nonNegativeInteger
xsd:positiveInteger
xsd:nonPositiveInteger
xsd:negativeInteger
xsd:long
xsd:int
xsd:short
xsd:byte
xsd:unsignedLong
xsd:unsignedInt
xsd:unsignedShort
xsd:unsignedByte
xsd:hexBinary
xsd:base64Binary
xsd:dateTime
xsd:time
xsd:date
xsd:gYearMonth
xsd:gYear
xsd:gMonthDay
xsd:gDay
xsd:gMonth
xsd:anyURI
xsd:token
xsd:language
xsd:NMTOKEN
xsd:Name
xsd:NCName
The above datatypes, plus rdfs:Literal, form the built-in OWL datatypes.
Jarrar © 2013 53
References
1. www.w3c.org
2. www.w3schools.com

More Related Content

What's hot (20)

Resource description framework
Resource description frameworkResource description framework
Resource description framework
 
Jarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF SchemaJarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF Schema
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Semantic web
Semantic webSemantic web
Semantic web
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Rdf
RdfRdf
Rdf
 
Owl web ontology language
Owl  web ontology languageOwl  web ontology language
Owl web ontology language
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
Efficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF DatabasesEfficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF Databases
 
Semantic Web in Action
Semantic Web in ActionSemantic Web in Action
Semantic Web in Action
 
Ontologies in RDF-S/OWL
Ontologies in RDF-S/OWLOntologies in RDF-S/OWL
Ontologies in RDF-S/OWL
 
semantic web & natural language
semantic web & natural languagesemantic web & natural language
semantic web & natural language
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Rdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology SpecificationRdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology Specification
 
General Introduction for Semantic Web and Linked Open Data
General Introduction for Semantic Web and Linked Open DataGeneral Introduction for Semantic Web and Linked Open Data
General Introduction for Semantic Web and Linked Open Data
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
 
SHACL Overview
SHACL OverviewSHACL Overview
SHACL Overview
 

Viewers also liked

Jarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageJarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageMustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsMustafa Jarrar
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFMustafa Jarrar
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationMustafa Jarrar
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineMustafa Jarrar
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsMustafa Jarrar
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsMustafa Jarrar
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationMustafa Jarrar
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsMustafa Jarrar
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFMustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionMustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebJarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebMustafa Jarrar
 
Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps Mustafa Jarrar
 
Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema) Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema) Mustafa Jarrar
 

Viewers also liked (20)

Jarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageJarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query Language
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and Solutions
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDF
 
Jarrar: Linked Data
Jarrar: Linked DataJarrar: Linked Data
Jarrar: Linked Data
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data Integration
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course Outline
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data Mashups
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and Constraints
 
Jarrar: Zinnar
Jarrar: ZinnarJarrar: Zinnar
Jarrar: Zinnar
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data Integration
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and Solutions
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDF
 
Jarrar: RDFa
Jarrar: RDFaJarrar: RDFa
Jarrar: RDFa
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
 
Corpora and its use in elt
Corpora and its use in eltCorpora and its use in elt
Corpora and its use in elt
 
Sketch engine
Sketch engine Sketch engine
Sketch engine
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebJarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
 
Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps
 
Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema) Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema)
 

Similar to Jarrar: OWL -Web Ontology Language

Chapter 4 semantic web
Chapter 4 semantic webChapter 4 semantic web
Chapter 4 semantic webR A Akerkar
 
Semantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsSemantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsGuus Schreiber
 
WEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLWEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLTochukwu Udeh
 
Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Samuel Croset
 
Ontologies and Vocabularies
Ontologies and VocabulariesOntologies and Vocabularies
Ontologies and Vocabulariesseanb
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologyRinke Hoekstra
 
Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123Rinke Hoekstra
 
CS6010 Social Network Analysis Unit II
CS6010 Social Network Analysis   Unit IICS6010 Social Network Analysis   Unit II
CS6010 Social Network Analysis Unit IIpkaviya
 
Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic  Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic Mustafa Jarrar
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitynvitucci
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic webMarakana Inc.
 
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...Allison Jai O'Dell
 
Pal gov.tutorial2.session5 1.rdf_jarrar
Pal gov.tutorial2.session5 1.rdf_jarrarPal gov.tutorial2.session5 1.rdf_jarrar
Pal gov.tutorial2.session5 1.rdf_jarrarMustafa Jarrar
 

Similar to Jarrar: OWL -Web Ontology Language (20)

Chapter 4 semantic web
Chapter 4 semantic webChapter 4 semantic web
Chapter 4 semantic web
 
Semantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsSemantic Web: From Representations to Applications
Semantic Web: From Representations to Applications
 
WEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLWEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWL
 
Owl assignment udeh
Owl assignment udehOwl assignment udeh
Owl assignment udeh
 
Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013
 
eureka09
eureka09eureka09
eureka09
 
eureka09
eureka09eureka09
eureka09
 
Ontology Engineering
Ontology EngineeringOntology Engineering
Ontology Engineering
 
Semantic Web - OWL
Semantic Web - OWLSemantic Web - OWL
Semantic Web - OWL
 
Ontologies and Vocabularies
Ontologies and VocabulariesOntologies and Vocabularies
Ontologies and Vocabularies
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web Technology
 
Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123
 
CS6010 Social Network Analysis Unit II
CS6010 Social Network Analysis   Unit IICS6010 Social Network Analysis   Unit II
CS6010 Social Network Analysis Unit II
 
Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic  Jarrar: ORM in Description Logic
Jarrar: ORM in Description Logic
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
 
OWL briefing
OWL briefingOWL briefing
OWL briefing
 
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...
Ontologies and Ontology Languages: RDFS, OWL, and SKOS: University of Florida...
 
Pal gov.tutorial2.session5 1.rdf_jarrar
Pal gov.tutorial2.session5 1.rdf_jarrarPal gov.tutorial2.session5 1.rdf_jarrar
Pal gov.tutorial2.session5 1.rdf_jarrar
 

More from Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisMustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal OntologyMustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course OutlineMustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process ImplementationMustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineeringMustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsMustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementMustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesMustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORMMustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineMustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesMustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalMustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsMustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsMustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Mustafa Jarrar
 
Jarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringJarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringMustafa Jarrar
 

More from Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringJarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology Engineering
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Jarrar: OWL -Web Ontology Language

  • 1. Jarrar © 2013 1 Dr. Mustafa Jarrar University of Birzeit mjarrar@birzeit.edu www.jarrar.info Lecture Notes on OWL Birzeit University, Palestine 2013 OWL Web Ontology Language
  • 2. Jarrar © 2013 2 Watch this lecture and download the slides from http://jarrar-courses.blogspot.com/2014/01/web-data-management.html Thanks to Anton Deik and Rami Hodrob for their help in preparing these slides Most information based on [1]
  • 3. Jarrar © 2013 3 Reading Material http://www.w3.org/TR/owl2-primer/
  • 4. Jarrar © 2013 4 Lecture outline 1. Introduction to OWL 2. OWL Basics 3. Class Expression Axioms 4. Property Axioms 5. Assertions 6. Class Expressions -Propositional Connectives and Enumeration of Individuals 7. Class Expressions​ -Property Restrictions 8. Class Expressions​ -Cardinality Restrictions Keywords: Tutorial, lecture, OWL, OWL2, RDFS, Ontology, Ontology Language, Class, Property, Object Property, Data Property, Class Expression Axioms, Class Expression, Property Axioms, Class Expressions, Enumeration, Property Restrictions, Cardinality Restrictions
  • 5. Jarrar © 2013 5 What is OWL? OWL stands for Web Ontology Language. OWL became a W3C standard in February 2004. OWL 2, and OWL2 in 27 October 2009. OWL is part of the "Semantic Web Vision" – The next generation of the Web (Web 3.0). To describe the meaning/semantics of the Web data (RDF is written in terms of OWL) OWL is called an ontology language. That is, what we specify in OWL is called an ontology (Ontology is about the exact description of things and their relationships.) For the web, ontology is about the exact description of web information and relationships between them. OWL’s underpinning description logic is SHOIQ.
  • 6. Jarrar © 2013 6 OWL versus RDFS and RDF OWL and RDFS are much of the same thing, but OWL allow constrains and rules. OWL can be seen as an extension of RDF/RDFS, OWL comes with a larger vocabulary and stronger syntax than RDF and RDFS. OWL has three sublanguages (OWL full, OWL DL, OWL Lite).
  • 7. Jarrar © 2013 7 Variations of OWL OWL Lite – A subset of OWL DL – This part of OWL is easier for reasoning OWL DL – The part of OWL Full that is in the Description Logic framework. – Known to have decidable reasoning. OWL Full – maximum expressiveness – no computational guarantees (not undecidable reasoning)
  • 8. Jarrar © 2013 8 OWL 2 • OWL 2, became a W3C recommendation in 27 October 2009. • An ontology language for the semantic Web which is extended from OWL 1 and empowered by new features. • OWL 2 DL underpinning description logic is SROIQ. • OWL 2 is supported by several semantic reasoners such as RacerPro 2, Pellet, Hermit and FaCT++.
  • 9. Jarrar © 2013 9 Versions of OWL 2 OWL 2 EL – Allows for subclass axioms with intersection, existential quantification, top, bottom and closed classes with only one member. – Disallow for negation, disjunction, arbitrary universal quantification, role inverses. OWL 2 QL – Allows for subproperties, domain, range and subclass statements. – Disallow for closed classes. OWL 2 RL – Allows for all axiom types, cardinality restrictions(only ≤1 and ≤0 on right hand side) and closed classes with only one member. – Disallow certain constructors( universal and negation on left hand side and extensional and union on right hand side of subclass statements).
  • 10. Jarrar © 2013 10 OWL Basics • Classes • Individuals • Properties • Special Classes and Properties Part 2/8
  • 11. Jarrar © 2013 11 Classes Owl:Class Unary predicates: Person(__), City(__). User-defined classes which are subclasses of root class owl:Thing. A class may contain individuals, which are instances of the class, and other subclasses. <?xml version="1.0"?> <rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <owl:ontology rdf:about="http://www.example.com"> <rdfs:comment> comments here</rdfs:comment> </owl:ontology> <owl:Class rdf:about="Person"/> <owl:Class rdf:about="City"/> <owl:Class rdf:about="Country"/> </rdf:RDF> Similar to Object-Type in ORM, Entity in EER, or Class in UML
  • 12. Jarrar © 2013 12 Individuals Individuals • Constants: Edward_Said, Palestine. • An individual is a member/instance of a class <Man rdf:about=“Edward_Said" /> <Country rdf:about=“Palestine" /> <City rdf:about=“Jerusalem" /> Notice that there is no way in ORM/UML/EER to add instance of concepts as art of the schema.
  • 13. Jarrar © 2013 13 Properties (ObjectProperty) owl:ObjectProperty • A relation between instances of two classes. • Binary predicates (hasAuthor(__, __) ). <owl:ObjectProperty rdf:about=“hasAuthor"> <rdfs:domain rdf:resource="# Book"/> <rdfs:range rdf:resource="#Person"/> </owl:ObjectProperty> Similar to a binary relation in ORM between two entity types. But unlike ORM, property may not have domain and range, these are used for reasoning Book Person HasAuthor
  • 14. Jarrar © 2013 14 Properties (DatatypeProperty) owl:DataTypeProperty • Relation between instances of classes and values. • The range of a literal datatype (use XML Schema datatypes). <owl:DatatypeProperty rdf:about=“hasTitle"> <rdfs:domain rdf:resource=“Book" /> <rdfs:range rdf:resource=" xsd:string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about=“hasPrice"> <rdfs:domain rdf:resource=“Book" /> <rdfs:range rdf:resource="xsd:integer"/> </owl:DatatypeProperty> Similar to a binary relation in ORM between an Entity and a Value. Book Title Has
  • 15. Jarrar © 2013 15 Properties (Assertions) <rdf:Description rdf:about=” http://en.wikipedia.org/wiki/Orientalism"> <hasAuther rdf:resource="http://en.wikipedia.org/wiki/Edward_Said"/> <hasTitle rdf:datatype=”xsd:string">Orientalism</hasTitle> <hasPrice rdf:datatype=”xsd:integer">51</hasPrice> </rdf:Description> <rdf:Description rdf:about="John"> <hasWife rdf:resource="Mary"/> </rdf:Description> Examples of how to instances of properties Based on [1]
  • 16. Jarrar © 2013 16 Special Classes and Properties • Top class: T owl:Thing contains all individuals of the domain. • Bottom class: ┴ owl:Nothing contains no individuals(empty class). • Universal property: U owl:topObjectProperty links every individual to every individual.
  • 17. Jarrar © 2013 17 Class Expression Axioms • Subclass Axioms • Equivalent Classes • Disjoint Classes • Disjoint Union of Class Expressions Part 3/8
  • 18. Jarrar © 2013 18 Class Expression Axioms Subclass Axioms rdfs:subClassOf Notice that rdfs:subClassOf is part of RDFS, not OWL. This to show that OWL extends RDF/RDFS. SubClassOf( a:Man a:Person ) means that Each Man is a Person. <owl:Class rdf:about=“Man"> <rdfs:subClassOf rdf:resource=“Person"/> </owl:Class> <owl:Class rdf:about=“Book"> <rdfs:subClassOf rdf:resource=“Publication" /> </owl:Class> Similar to the SubType relation ORM, UML and EER, Publication Book
  • 19. Jarrar © 2013 19 Class Expression Axioms Equivalent Classes owl:equivalentClass • States equivalence (i.e., class extension) of two named classes. • Useful when integrating or mapping between two different ontologies. <owl:Class rdf:about=“Palestine_President"> <owl:equivalentClass rdf:resource=“PrincipalResidentOfPlestine"/> </owl:Class> • A class axiom may contain (multiple) owl:equivalentClass statements. • The classes Being, Human and Person are semantically equivalent to each other. <owl:Class rdf:about=“Being"> <owl:equivalentClass rdf:resource=“Human"/> <owl:equivalentClass rdf:resource=“Person"/> </owl:Class>
  • 20. Jarrar © 2013 20 Class Expression Axioms Disjoint Classes owl:AllDisjointClasses • To state that these classes have no individuals in common. • AllDisjointClasses (C1 ... Cn ): all of the classes Ci, 1 ≤ i ≤ n, are pairwise disjoint; that is, no individual can be at the same time an instance of both Ci and Cj for i ≠ j. <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Man"/> </owl:members> </owl:AllDisjointClasses> … A1 A AnA2 ⨂
  • 21. Jarrar © 2013 21 Class Expression Axioms Disjoint Union of Class Expressions owl:disjointUnionOf • DisjointUnion (C C1 ... Cn ): a class C is a disjoint union of the classes Ci, 1 ≤ i ≤ n, all of which are pairwise disjoint the extensions of all Ci exactly cover the extension of C. • DisjointUnion (Person Female Male ) means each Person is either a Male or a Female, each Female is a Person, each Male is a Person, and nothing can be both a Female and a Male. <owl:Class rdf:about="#Person"> <owl:disjointUnionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Female"/> <rdf:Description rdf:about="#Male"/> </owl:disjointUnionOf> … A1 A AnA2 ⨂.
  • 22. Jarrar © 2013 22 Class Expression Axioms OWL2 Example1 • Here we illustrate a simple example represented in ORM and OWL 2. • In the example, the illustrated OWL 2 constructs are Class, Subclass, Union of Classes and Disjoint Classes. <owl:Class rdf:about="&OWL2Example1:Person“/> <owl:Class rdf:about="&OWL2Example1:Female"> <rdfs:subClassOf rdf:resource="&OWL2Example1:Person"/> </owl:Class> <owl:Class rdf:about="&OWL2Example1:Male"> <rdfs:subClassOf rdf:resource="&OWL2Example1:Person"/> </owl:Class> <owl:Class rdf:about="&OWL2Example1:Person"> <owl:equivalentClass> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <rdf:Description rdf:about="&OWL2Example1:Female"/> <rdf:Description rdf:about="&OWL2Example1:Male"/> </owl:unionOf> </owl:Class> </owl:equivalentClass> </owl:Class> Female Person Male
  • 23. Jarrar © 2013 23 Class Expression Axioms OWL2 Example1 • Here we illustrate a simple example represented in ORM and OWL 2. • In the example, the illustrated OWL 2 constructs are Class, Subclass, Union of Classes and Disjoint Classes. <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about=“Female"/> <owl:Class rdf:about="Male"/> </owl:members> </owl:AllDisjointClasses> Female Person Male
  • 24. Jarrar © 2013 24 Property Axioms • Object Subproperties • Equivalent Object Properties • Disjoint Object Properties • Inverse Object Properties • Object Property Domain • Object Property Range • Functional Object Properties • Inverse-Functional Object Properties Part 4/8
  • 25. Jarrar © 2013 25 Object Property Axioms Object Subproperties rdfs:subPropertyOf Properties, like classes, can be arranged in a hierarchy. SubPropertyOf (OP1 OP2 ): if an individual x is connected by OP1 to an individual y, then x is also connected by OP2 to y. The rdfs:subPropertyOf means that anything with a Borrows property with value X also has a ChecksOut property with value X. <owl:ObjectProperty rdf:about=“Borrows"> <rdfs:domain rdf:resource=“Person"/> <rdfs:range rdf:resource=“Book"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about=“ChecksOut"> <rdfs:subPropertyOf rdf:resource=”Borrows" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="hasWife"> <rdfs:subPropertyOf rdf:resource="hasSpouse"/> </owl:ObjectProperty> Similar to the Subset constraint in ORM. R S ... ...... ... ⊆
  • 26. Jarrar © 2013 26 Object Property Axioms Equivalent Properties owl:equivalentProperty • EquivalentObjectProperties (OP1 ... OPn): all of the object properties OPi, 1 ≤ i ≤ n, are semantically equivalent to each other. • EquivalentObjectProperties (a:hasBrother a:hasMaleSibling) means that having a brother is the same as having a male sibling <owl:ObjectProperty rdf:about="hasChild"> <owl:equivalentProperty rdf:resource=”x:child"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:about="hasAge"> <owl:equivalentProperty rdf:resource=”y:age"/> </owl:DatatypeProperty> R S ... ...... ... =
  • 27. Jarrar © 2013 27 Object Property Axioms Disjoint Properties owl:propertyDisjointWith • DisjointObjectProperties (OP1 ... OPn): all of the object properties OPi, 1 ≤ i ≤ n, are pairwise disjoint; that is, no individual x can be connected to an individual y by both OPi and OPj for i ≠ j . • DisjointObjectProperties( a:hasFather a:hasMother ) means that Fatherhood is disjoint with motherhood. <rdf:Description rdf:about="hasFather"> <owl:propertyDisjointWith rdf:resource="hasMother"/> </rdf:Description> R S ... ...... ... ⨂
  • 28. Jarrar © 2013 28 Object Property Axioms Inverse Object Properties owl:inverseOf • If a property P is tagged as the owl:inverseOf Q, then for all x and y: P(x,y) iff Q(y,x). • Note that the syntax for owl:inverseOf takes a property name as an argument. A iff B means (A implies B) and (B implies A). • InverseObjectProperties (OP1 OP2): the object property OP1 is an inverse of the object property OP2, that is if an individual x is connected by OP1 to an individual y, then y is also connected by OP2 to x, and vice versa. <owl:ObjectProperty rdf:about="hasParent"> <owl:inverseOf rdf:resource="hasChild"/> </owl:ObjectProperty> ...... hasParent/hasChild
  • 29. Jarrar © 2013 29 Object Property Axioms Property Domain rdfs:domain • ObjectPropertyDomain (OP C): the domain of the object property OP is the class C, that is, if an individual x is connected by OP with some other individual, then x is an instance of C. • ObjectPropertyDomain( a:hasDog a:Person ) means that only people can own dogs. <owl:ObjectProperty rdf:about=“hasDog"> <rdfs:domain rdf:resource=“Person"/> … </owl:ObjectProperty> hasDog/ Person ...
  • 30. Jarrar © 2013 30 Object Property Axioms Property Range rdfs:range • ObjectPropertyRange(OP C): the range of the object property OP is the class C , that is, if some individual is connected by OP with an individual x, then x is an instance of C. • ObjectPropertyRange( a:hasDog a:Dog ) means that the range of the a:hasDog property is the class a:Dog. <owl:ObjectProperty rdf:about="#hasDog"> … <rdfs:range rdf:resource="#Dog"/> </owl:ObjectProperty> hasDog/ Dog
  • 31. Jarrar © 2013 31 Object Property Axioms Functional Object Property Owl:FunctionalProperty • FunctionalObjectProperty (OP): the object property OP is functional, that is, for each individual x, there can be at most one distinct individual y such that x is connected by OP to y. • FunctionalObjectProperty (a:hasFather ) means that each individual can have at most one father. <owl:FunctionalProperty rdf:about=“#hasFather"/> R BA
  • 32. Jarrar © 2013 32 Object Property Axioms Inverse-Functional Object Property Owl:InverseFunctionalProperty • InverseFunctionalObjectProperty (OPI ): the object property OPI is inverse-functional, that is, for each individual x, there can be at most one individual y such that y is connected by OP with x. • InverseFunctionalObjectProperty (a:fatherOf ) means that each object can have at most one father. <owl:InverseFunctionalProperty rdf:about=“#FatherOf"/> There is no inverse for Datatype properties R BA
  • 33. Jarrar © 2013 33 Object Property Axioms OWL2 Example2 • Here we illustrate a simple example represented in ORM and OWL 2. • In the example, the illustrated OWL 2 constructs are Object Subproperties, Inverse Object Properties, Object Property Domain, Object Property Range and Functional Object Properties. <owl:Class rdf:about="&OWL2Example2:Person"/> <owl:Class rdf:about="&OWL2Example2:Vehicle"/> <owl:Class rdf:about="&OWL2Example2:Gender"/> <owl:ObjectProperty rdf:about="&OWL2Example2:Drives"> <rdfs:domain rdf:resource="&OWL2Example2:Person"/> <rdfs:range rdf:resource="&OWL2Example2:Vehicle"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="&DrivenBy"> <owl:inverseOf rdf:resource="OWL2Example2:Drives"/> </owl:ObjectProperty> Has Drives DrivenBy VehiclePersonGender Owns <owl:ObjectProperty rdf:about="&OWL2Example2:Owns"> <rdfs:domain rdf:resource="&OWL2Example2:Person"/> <rdfs:range rdf:resource="&OWL2Example2:Vehicle"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="&OWL2Example2:Owns"> <rdfs:subPropertyOf rdf:resource="&OWL2Example2:Drives"/> </owl:ObjectProperty> <owl:FunctionalProperty rdf:about=“&OWL2Example2:Has/>
  • 34. Jarrar © 2013 34 Assertions • Individual Equality • Individual Inequality Part 5/8
  • 35. Jarrar © 2013 35 Assertions Individual Equality owl:sameAs • Identity between Individuals • This mechanism is similar to that for classes, but declares two individuals to be identical. • SameIndividual ( a1 ... an ): all of the individuals ai, 1 ≤ i ≤ n, are equal to each other(synonymes). <rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X"> <owl:sameAs rdf:resource="http://en.wikipedia.org/wiki/Orientalis"/> </rdf:Description> <rdf:Description rdf:about=“x:Edward_Said"> <owl:sameAs rdf:resource=“# E_Said"/> </rdf:Description>
  • 36. Jarrar © 2013 36 Assertions Individual Inequality owl:differentFrom • An owl:differentFrom statement indicates that two URI references refer to different individuals. <rdf:Description rdf:about="http:/amazon.com/Orientalism-Edward-W-Said/dp/039474067X"> <owl:differentFrom rdf:resource="http://www.youtube.com/watch?v=X3iA73JXIFo"/> </rdf:Description> <rdf:Description rdf:about="John"> <owl:differentFrom rdf:resource="Bill"/> </rdf:Description>
  • 37. Jarrar © 2013 37 Class Expressions Propositional Connectives and Enumeration of Individuals • Intersection of Class Expressions • Union of Class Expressions • Complement of Class Expressions • Enumeration of Individuals Part 6/8
  • 38. Jarrar © 2013 38 Class Expressions Intersection of Class Expressions owl:intersectionOf Describes a class for which the class extension contains precisely those individuals that are members of the class extension of all class descriptions in the list. <owl:Class rdf:about="Mother"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> . . . ⊓⊓ A_Intersection A1 A2 An Proposed Notation
  • 39. Jarrar © 2013 39 Class Expressions Union of Class Expressions owl:unionOf The union of two classes contains every individual which is contained in at least one of these classes. Therefore we could characterize the class of all parents as the union of the classes Mother and Father: <owl:Class rdf:about="Parent"> <owl:equivalentClass> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> </owl:unionOf> </owl:Class> </owl:equivalentClass> </owl:Class> … A1 A AnA2
  • 40. Jarrar © 2013 40 Class Expressions Complement of Class Expressions owl:complementOf The complement of a class corresponds to logical negation: it consists of exactly those objects which are not members of the class itself. The following definition of childless persons uses the class complement and also demonstrates that class constructors can be nested: <owl:Class rdf:about="ChildlessPerson"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf rdf:resource="Parent"/> </owl:Class> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> A ¬ NotA Proposed Notation
  • 41. Jarrar © 2013 41 Class Expressions Enumeration of Individuals owl:one of • A way to describe a class is just to enumerate all its instances. • These instances are the only members of PalestinianCities. Classes defined this way are sometimes referred to as closed classes or enumerated sets. We cannot have more, or less instances. <owl:Class rdf:about=”PalestinianCities"> <owl:equivalentClass> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:about="Jerusalem "/> <rdf:Description rdf:about="Aka"/> <rdf:Description rdf:about=”Ramallah"/> … </owl:oneOf> </owl:Class> </owl:equivalentClass> </owl:Class> {b1, … , bn} ... B B  {b1, … , bn}
  • 42. Jarrar © 2013 42 Class Expressions -Property Restrictions • Existential Quantification • Universal Quantification • Individual Value Restriction • Self-Restriction Part 7/8
  • 43. Jarrar © 2013 43 Class Expressions Object Property Restrictions- Existential Quantification owl:someValuesFrom • Defines a class as the set of all individuals that are connected via a particular property to another individual which is an instance of a certain class. • Each Account must have at least one Owner that is a Person. HasOwner/ Account Person <owl:Class rdf:about=“Account"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#HasOwner" /> <owl:someValuesFrom rdf:resource="#Person" /> </owl:Restriction> </owl:equivalentClass> </owl:Class>  Same for DatatypeProperty
  • 44. Jarrar © 2013 44 Class Expressions Object Property Restrictions- Universal Quantification owl:allValuesFrom • To describe a class of individuals for which all related individuals must be instances of a given class • For every Account, if they have owners, all the owners must be Persons. <owl:Class rdf:about=“Account"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#HasOwner" /> <owl:allValuesFrom rdf:resource="#Person" /> </owl:Restriction> </owl:equivalentClass> </owl:Class>  Same for DatatypeProperty
  • 45. Jarrar © 2013 45 Class Expressions Object Property Restrictions- Individual Value Restriction owl:hasValue ObjectHasValue( OP a ): consists of an object property OP and an individual a, and it contains all those individuals that are connected by OP to a. For example, we can create a class “BirzeitLovers” to include all those who love Birzeit. loves/ BirzeitLovers Birzeit (Proposed Notation) <owl:Class rdf:about=“BirzeitLovers"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource=”#Loves"/> <owl:hasValue rdf:resource="#Birzeit"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> individual
  • 46. Jarrar © 2013 46 Class Expressions Object Property Restrictions- Self Restriction owl:hasSelf • ObjectHasSelf (OP): a class expression that contains all individuals that are connected to themselves via OPE • ObjectHasSelf ( a:loves ) contains those individuals that love themselves. Loves/ SelfLover Self (Proposed Notation) <owl:Class rdf:about=“SelfLover"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#loves"/> <owl:hasSelf rdf:datatype="&xsd;boolean">true</owl:hasSelf> </owl:Restriction> </owl:equivalentClass> </owl:Class>
  • 47. Jarrar © 2013 47 Class Expressions -Cardinality Restrictions • Minimum Cardinality • Maximum Cardinality • Exact Cardinality Part 8/8
  • 48. Jarrar © 2013 48 Class Expressions - Cardinality Owl:minCardinality • OWL allows us to place some restrictions on properties, such as owl:minCardinality. • Each student must be EnrolledIn in 3 things, at least <owl:Class rdf:about=“Student"> <rdfs:subClassOf> <owl:Restriction> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger“> 3 </owl:minCardinality> <owl:onProperty rdf:resource=”#EnrolledIn"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> rA ≥ n A Thing
  • 49. Jarrar © 2013 49 Class Expressions - Cardinality Owl:maxCardinality • OWL allows us to place some restrictions on properties, such as owl:maxCardinality. • Each student must be EnrolledIn in 6 things, at most <owl:Class rdf:about=“Student"> <rdfs:subClassOf> <owl:Restriction> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger“> 6 </owl:MaxCardinality> <owl:onProperty rdf:resource=”EnrolledIn"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> rA ≤ n A Thing
  • 50. Jarrar © 2013 50 Class Expressions - Cardinality Owl:Cardinality • OWL allows us to place some restrictions on properties, such as owl:Cardinality. <owl:Class rdf:about=“Student"> <rdfs:subClassOf> <owl:Restriction> <owl:Cardinality rdf:datatype="&xsd;nonNegativeInteger“> 5 </owl:Cardinality> <owl:onProperty rdf:resource=”EnrolledIn"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • Each student must be EnrolledIn in 5 things, exactly rA = n A Thing
  • 51. Jarrar © 2013 51 Class Expressions - Cardinality owl:qualifiedCardinality • Same as owl:Cardinality, but we restrict the property with its range. <owl:Class rdf:about=“Student"> <rdfs:subClassOf> <owl:Restriction> <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger“> 5 </owl:qualifiedCardinality> <owl:onProperty rdf:resource=”EnrolledIn"/> <owl:onClass rdf:resource=”Course"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • Each student must be EnrolledIn in 5 courses, exactly Similarly, there is minQualifiedCardinality and maxQualifiedCardinality rA = n A B
  • 52. Jarrar © 2013 52 XML Datatypes xsd:string xsd:normalizedString xsd:boolean xsd:decimal xsd:float xsd:double xsd:integer xsd:nonNegativeInteger xsd:positiveInteger xsd:nonPositiveInteger xsd:negativeInteger xsd:long xsd:int xsd:short xsd:byte xsd:unsignedLong xsd:unsignedInt xsd:unsignedShort xsd:unsignedByte xsd:hexBinary xsd:base64Binary xsd:dateTime xsd:time xsd:date xsd:gYearMonth xsd:gYear xsd:gMonthDay xsd:gDay xsd:gMonth xsd:anyURI xsd:token xsd:language xsd:NMTOKEN xsd:Name xsd:NCName The above datatypes, plus rdfs:Literal, form the built-in OWL datatypes.
  • 53. Jarrar © 2013 53 References 1. www.w3c.org 2. www.w3schools.com