OWL: The Web Ontology
Language
Semantic Web Lecture
Lecture VII – xx 2009
Dieter Fensel
Slides by: Federico M. Facca
©www.sti-innsbruck.at
Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at
Where are we?
#
Date
Title
1
Introduction
2
Semantic Web Architecture
3
RDF and RDF Schema
4
Web of hypertext (RDFa, Microformats) and Web of data
5
Semantic Annotation
6
Repositories and SPARQL
7
The Web Ontology Language
8
Rule Interchange Format
9
Web-scale Reasoning
10
Social Semantic Web
11
Ontologies and the Semantic Web
12
Semantic Web Services
13
Tools
14
Applications
15
Exam
www.sti-innsbruck.at
2
Overview
• Introduction and Motivation
• Technical Solution
–
–
–
–
Design of OWL
OWL Layering
OWL and Description Logics
OWL Syntaxes
• Illustration by a Large Example
• Extensions
www.sti-innsbruck.at
3
INTRODUCTION AND
MOTIVATION
www.sti-innsbruck.at
5
Overview
• Limitations of RDFS
– Expressivity limitations
– Layering problems
• Web Ontology Language OWL
–
–
–
–
Design of OWL
OWL Layering
OWL and Description Logics
OWL Syntaxes
www.sti-innsbruck.at
6
What we discussed so far…
• RDF Schema
– RDFS Vocabulary
– RDFS Metadata
– Literals and datatypes in RDFS
• Semantics of RDF and RDF Schema
– Semantic notions
– RDF(S) Entailment
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
7
What we discussed so far…
RDF Vocabulary
• RDF Schema
•
Classes:
rdf:Property, rdf:Statement,
– RDFS Vocabulary rdf:XMLLiteral
– RDFS Metadata rdf:Seq, rdf:Bag, rdf:Alt, rdf:List
Properties:
– Literals and datatypes
in RDFS
rdf:type, rdf:subject, rdf:predicate,
rdf:object,
rdf:first,
rdf:_n
Semantics of RDF and
RDFrdf:rest,
Schema
rdf:value
– Semantic notions
Resources:
– RDF(S) Entailment rdf:nil
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
8
What we discussed so far…
RDF Vocabulary
• RDF Schema
•
Classes:
rdf:Property, rdf:Statement,
– RDFS Vocabulary rdf:XMLLiteral
– RDFS Metadata rdf:Seq, rdf:Bag, rdf:Alt, rdf:List
Properties:
– Literals and datatypes
in RDFS
rdf:type, rdf:subject, rdf:predicate,
RDFS Vocabulary
rdf:object,
rdf:first,
rdf:_n
RDFS Properties
Semantics of RDF and
RDFrdf:rest,
Schema
rdfs:domain
rdf:value
– Semantic notions
rdfs:range
Resources:
RDFS Vocabulary
rdfs:subPropertyOf
– RDF(S) Entailment rdf:nil
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
RDFS Classes
rdfs:Resource
rdfs:Class
rdfs:Literal
rdfs:Datatype
rdfs:Container
rdfs:ContainerMembershipProperty
rdfs:subClassOf
rdfs:member
rdfs:seeAlso
rdfs:isDefinedBy
rdfs:comment
rdfs:label
9
What we discussed so far…
• RDF Schema
– RDFS Vocabulary
– RDFS Metadata
– Literals and datatypes in RDFS
• Semantics of RDF and RDF Schema
– Semantic notions
– RDF(S) Entailment
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
10
What we discussed so far…
• RDF Schema
– RDFS Vocabulary
– RDFS Metadata
– Literals and datatypes in RDFS
• Semantics of RDF and RDF Schema
– Semantic notions
– RDF(S) Entailment
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
11
What we discussed so far…
• RDF Schema
– RDFS Vocabulary
– RDFS Metadata
– Literals and datatypes in RDFS
• Semantics of RDF and RDF Schema
– Semantic notions
– RDF(S) Entailment
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
12
What we discussed so far…
• RDF Schema
– RDFS Vocabulary
– RDFS Metadata
– Literals and datatypes in RDFS
• Semantics of RDF and RDF Schema
– Semantic notions
– RDF(S) Entailment
• SPARQL
– SPARQL Queries
– Query answer
www.sti-innsbruck.at
PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#>
SELECT ?fullName
WHERE {?x vCard:FN ?fullName}
13
Requirements for Ontology Languages
• Well-defined syntax
• Convenience of expression
• Formal semantics
– Needed in reasoning, e.g.:
•
•
•
•
Class membership
Equivalence of classes
Consistency
Classification
• Efficient reasoning support
• Sufficient expressive power
www.sti-innsbruck.at
14
Limitations of RDFS
• No semantics for:
– Containers
– Collections
– Reification
• Domain and range of property infer information rather than
check data
– Conjunctive interpretation of multiple restrictions
• Use of properties as objects
• RDF/XML syntax very verbose
www.sti-innsbruck.at
15
RDFS as an Ontology Language
•
•
•
•
•
Classes
Properties
Class hierarchies
Property hierarchies
Domain and range restrictions
www.sti-innsbruck.at
16
Expressiveness Limitations of RDF(S)
• Only binary relations
• Characteristics of Properties
– E.g. inverse, transitive, symmetric
• Local range restrictions
– E.g. for class Person, the property hasName has range
xsd:string
• Complex concept descriptions
– E.g. Person is defined by Man and Woman
• Cardinality restrictions
– E.g. a Person may have at most 1 name
• Disjointness axioms
– E.g. nobody can be both a Man and a Woman
www.sti-innsbruck.at
17
Layering Issues
• Syntax
– Only binary relations in RDF
– Verbose syntax
– No limitations on graph in RDF
• Every graph is valid
• Semantics
– Malformed graphs
– Use of vocabulary in language
• e.g. <rdfs:Class, rdfs:subClassOf, ex:a>
– Meta-classes
• e.g. <rdfs:Class, rdfs:subClassOf, ex:a>, <rdfs:Class,
rdfs:subClassOf, ex:b>, <ex:a, rdf:type, ex:b>
www.sti-innsbruck.at
18
Stack of Languages
• XML
– Surface syntax, no semantics
• XML Schema
– Describes structure of XML documents
• RDF
– Datamodel for “relations” between “things”
• RDF Schema
– RDF Vocabulary Definition Language
• OWL
– A more expressive Vocabulary Definition Language
This and following slides in part due to Frank van Harmelen
http://www.cs.vu.nl/~frankh/spool/SemWebSlides/OWL.ppt
www.sti-innsbruck.at
19
RDF Schema Recap
• RDFS provides
–
–
–
–
–
Classes
Class hierarchies
Properties
Property hierarchies
Domain and range restrictions
• RDFS does not provide
–
–
–
–
–
Property characteristics (inverse, transitive, ...)
Local range restrictions
Complex concept definitions
Cardinality restrictions
Disjointness axioms
www.sti-innsbruck.at
20
Extending RDF Schema
• OWL extends RDF Schema to a full-fledged knowledge
representation language for the Web
–
–
–
–
–
–
–
Logical expressions (and, or, not)
(In)equality
Local properties
Required/optional properties
Required values
Enumerated classes
Symmetry, inverse
www.sti-innsbruck.at
21
The Web Ontology Language
TECHNICAL SOLUTION
www.sti-innsbruck.at
22
Design Goals for OWL
•
•
•
•
•
•
•
•
Shareable
Changing over time
Interoperability
Inconsistency detection
Balancing expressivity and complexity
Ease of use
Compatible with existing standards
Internationalization
www.sti-innsbruck.at
23
Requirements for OWL
• Ontologies are object on the Web with their own metadata, versioning, etc...
• Ontologies are extendable
From Grigoris Antoniou and Frank van Harmelen: A Semantic Web Primer, MIT Press 2004
www.sti-innsbruck.at
24
Requirements for OWL
• Ontologies are object on the Web with their own metadata, versioning, etc...
• Ontologies are extendable
• They contain classes, properties, data-types,
range/domain, individuals
• Equality (for classes, for individuals)
• Classes as instances
• Cardinality constraints
• XML syntax
www.sti-innsbruck.at
25
Objectives for OWL
Objectives:
–
–
–
–
–
Disregarded:
Layered language
Complex datatypes
Digital signatures
Decidability (in part)
Local unique names (in
part)
–
–
–
–
–
–
–
–
Default values
Closed world option
Property chaining
Arithmetic
String operations
Partial imports
View definitions
Procedural attachments
A logical system or theory is decidable if there exists an
effective method such that for every formula in the system
the method is capable of deciding whether the formula is valid
in the system or not.
[http://www.wikipedia.org]
[http://www.w3.org/TR/webont-req/]
www.sti-innsbruck.at
26
Language Layers of OWL
• OWL Lite
– Classification hierarchy
– Simple constraints
• OWL DL
– Maximal expressiveness while maintaining tractability
– Standard formalization in a DL
• OWL Full
– Very high expressiveness
– Losing tractability
– All syntactic freedom of RDF (self-modifying)
www.sti-innsbruck.at
27
Language Layers of OWL
• OWL Lite
Problems that are solvable in theory
but cannot be solved in practice are called intractable.
[http://www.wikipedia.org]
– Classification hierarchy
– Simple constraints
• OWL DL
– Maximal expressiveness while maintaining tractability
– Standard formalization in a DL
• OWL Full
– Very high expressiveness
– Losing tractability
– All syntactic freedom of RDF (self-modifying)
www.sti-innsbruck.at
28
Features of OWL Language Layers
• OWL Lite
– (sub)classes, individuals
– (sub)properties, domain,
range
– conjunction
– (in)equality
– cardinality 0/1
– datatypes
– inverse, transitive,
symmetric properties
– someValuesFrom
– allValuesFrom
www.sti-innsbruck.at
• OWL DL
–
–
–
–
–
Negation
Disjunction
Full cardinality
Enumerated types
hasValue
• OWL Full
– Meta-classes
– Modify language
29
OWL Full
• No restriction on use of vocabulary (as long as legal
RDF)
– Classes as instances (and much more)
• RDF style model theory
– Reasoning using FOL engine
– Semantics should correspond to OWL DL for restricted KBs
www.sti-innsbruck.at
30
OWL DL
• Use of vocabulary restricted
– Can’t be used to do “nasty things” (e.g. modify OWL)
– No classes as instances
– Defined by abstract syntax
• Standard DL-based model theory
– Direct correspondence with a DL
– Partial reasoning via DL engines
– Reasoning for full language via FOL engines
• No need for axiomatization
• Built-in datatypes required for performance
www.sti-innsbruck.at
31
OWL Lite
• No explicit negation or union
• Restricted cardinality (0/1)
• No nominals (oneOf)
• DL-based semantics
– Reasoning via DL engines (+ datatypes)
• Semantically, only small restriction on OWL DL
– No nominals
– No arbitrary cardinality
www.sti-innsbruck.at
32
OWL and Description Logics
• OWL Lite corresponds to the DL SHIN(D)
–
–
–
–
–
–
–
–
–
–
Named classes (A)
Named properties (P)
Individuals (C(o))
Property values (P(o, a))
Intersection (C ⊓ D)
Union(!) (C ⊔ D)
Negation(!) (¬C)
Existential value restrictions (∃P.C)
Universal value restrictions (∀P.C)
Unqualified number restrictions (≥ nP, ≤ nP, = nP)
• OWL DL corresponds to the DL SHOIN(D)
– Property value (∃ P.{o})
– Enumeration ({o1, ..., on})
www.sti-innsbruck.at
33
OWL Constructs
∃
+ XML Schema datatypes: int, string, real, etc...
www.sti-innsbruck.at
34
OWL Axioms
www.sti-innsbruck.at
35
More on OWL Species
• OWL Full is not a Description Logic
• OWL Lite has strong syntactic restrictions, but only limited
semantics restrictions, compared with OWL DL
– Negation can be encoded using disjointness
– With negation and conjunction, you can encode disjunction
Class(C complete unionOf(B C))
is equivalent to:
DisjointClasses(not B B)
DisjointClasses(not C C)
Class(not B and not C complete not B not C)
DisjointClasses(notB and not C B or C)
Class(C complete not B and not C)
www.sti-innsbruck.at
36
More on Layering
• For an OWL DL-restricted KB, OWL Full semantics is not
equivalent to OWL DL semantics
John friend Susan
OWL Full entails:
John rdf:type owl:Thing
Susan rdf:type owl:Thing
friend rdf:type owl:ObjectProperty
John rdf:type _:x
_:x owl:onProperty friend
_:x owl: minCardinality ”1”ˆˆxsd:nonNegativeInteger
www.sti-innsbruck.at
37
Syntaxes of OWL
• RDF
– Official exchange syntax
– Hard for humans
– RDF parsers are hard to write!
• UML
– Large user base
• XML
– Not the RDF syntax
– Better for humans
– More XML than RDF tools available
• Abstract syntax
– Not defined for OWL Full
– Human readable
www.sti-innsbruck.at
38
OWL in RDF/XML
Example from [OwlGuide]:
<!ENTITY vin ”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#” >
<!ENTITY food ”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#” >
...
<rdf:RDF xmlns:vin=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#”
xmlns:food=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#”
... >
<owl:Class rdf:ID=”Wine”>
<rdfs:subClassOf rdf:resource=”&food;PotableLiquid”/>
<rdfs:label xml:lang=”en”>wine</rdfs:label>
<rdfs:label xml:lang=”fr”>vin</rdfs:label>
...
</owl:Class>
<owl:Class rdf:ID=”Pasta”>
<rdfs:subClassOf rdf:resource=”#EdibleThing” />
...
</owl:Class>
</rdf:RDF>
www.sti-innsbruck.at
39
OWL in RDF/XML
Example from [OwlGuide]:
<!ENTITY vin ”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#” >
<!ENTITY food ”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#” >
...
<rdf:RDF xmlns:vin=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#”
xmlns:food=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#”
... >
<owl:Class rdf:ID=”Wine”>
<rdfs:subClassOf rdf:resource=”&food;PotableLiquid”/>
<rdfs:label xml:lang=”en”>wine</rdfs:label>
<rdfs:label xml:lang=”fr”>vin</rdfs:label>
...
</owl:Class>
<owl:Class rdf:ID=”Pasta”>
<rdfs:subClassOf rdf:resource=”#EdibleThing” />
...
</owl:Class>
</rdf:RDF>
From Grigoris Antoniou and Frank van Harmelen: A Semantic Web Primer, MIT Press 2004
www.sti-innsbruck.at
40
OWL Abstract Syntax
Class(professor partial )
Class(associateProfessor partial academicStaffMember)
DisjointClasses(associateProfessor assistantProfessor)
DisjointClasses(professor associateProfessor)
Class(faculty complete academicStaffMember)
www.sti-innsbruck.at
41
OWL Abstract Syntax
• In DL syntax:
associateProfessor ⊑ academicStaffMember
associateProfessor ⊑ ¬assistantProfessor
professor ⊑ ¬associateProfessor
faculty ≡ academicStaffMember
Class(professor partial )
Class(associateProfessor partial academicStaffMember)
DisjointClasses(associateProfessor assistantProfessor)
DisjointClasses(professor associateProfessor)
Class(faculty complete academicStaffMember)
www.sti-innsbruck.at
42
More Examples
DatatypeProperty(age range(xsd:nonNegativeInteger))
ObjectProperty(lecturesIn)
ObjectProperty(isTaughtBy domain(course)
range(academicStaffMember))
SubPropertyOf(isTaughtBy involves)
ObjectProperty(teaches inverseOf(isTaughtBy)
domain(academicStaffMember)
range(course))
EquivalentProperties(lecturesIn teaches)
ObjectProperty(hasSameGradeAs Transitive Symmetric
domain(student)
range(student))
www.sti-innsbruck.at
43
More Examples
DatatypeProperty(age
range(xsd:nonNegativeInteger))
•
In DL syntax:
ObjectProperty(lecturesIn)
⊤ ⊑ ∀age.xsd:nonNegativeInteger
⊤ ⊑ ∀isTaughtBy−.course
⊤ ⊑ ∀isTaughtBy.academicStaffMember
ObjectProperty(isTaughtBy
domain(course)
range(academicStaffMember))
isTaughtBy ⊑ involves
SubPropertyOf(isTaughtBy involves)
teaches ≡ isTaughtBy−
⊤ ⊑ ∀teaches−.academicStaffMember
⊤ ⊑ ∀teaches.course
ObjectProperty(teaches
inverseOf(isTaughtBy)
domain(academicStaffMember)
range(course))
lecturesIn ≡ teaches
EquivalentProperties(lecturesIn teaches)
hasSameGradeAs+ ⊑ hasSameGradeAs
hasSameGradeAs ≡ hasSameGradeAs−
⊤ ⊑ ∀hasSameGradeAs−.student
⊤ ⊑ ∀hasSameGradeAs.student
ObjectProperty(hasSameGradeAs
Transitive Symmetric
domain(student)
range(student))
www.sti-innsbruck.at
44
More Examples
Individual(949318 type(lecturer))
Individual(949352 type(academicStaffMember)
value(age ”39”ˆˆ&xsd;integer))
ObjectProperty(isTaughtBy Functional)
Individual(CIT1111 type(course)
value(isTaughtBy 949352)
value(isTaughtBy 949318))
DifferentIndividuals(949318 949352)
DifferentIndividuals(949352 949111 949318)
www.sti-innsbruck.at
45
More Examples
• In DL syntax:
949318 : lecturer
949352 : academicStaffMember
949352, ”39”ˆˆ&xsd; integer:age
⊤ ⊑ ≤1isTaughtBy
CIT1111 : course
CIT1111, 949352:isTaughtBy
CIT1111, 949318:isTaughtBy
949318 ≠ 949352
949352 ≠ 949111
949111 ≠ 949318
949352 ≠ 949318
www.sti-innsbruck.at
Individual(949318 type(lecturer))
Individual(949352
type(academicStaffMember)
value(age ”39”ˆˆ&xsd;integer))
ObjectProperty(isTaughtBy Functional)
Individual(CIT1111 type(course)
value(isTaughtBy 949352)
value(isTaughtBy 949318))
DifferentIndividuals(949318 949352)
DifferentIndividuals(949352 949111 949318)
46
More Examples
Class(firstYearCourse partial
restriction(isTaughtBy allValuesFrom (Professor)))
Class(mathCourse partial
restriction(isTaughtBy hasValue (949352)))
Class(academicStaffMember partial
restriction (teaches someValuesFrom
(undergraduateCourse)))
Class(course partial
restriction (isTaughtBy minCardinality (1)))
Class(department partial
restriction (hasMember minCardinality(10))
restriction (hasMember maxCardinality(30)))
www.sti-innsbruck.at
47
More Examples
• In DL syntax:
firstYearCourse ⊑ ∀isTaughtBy.Professor
mathCourse ⊑ ∃isTaughtBy.{949352}
academicStaffMember ⊑ ∃teaches.undergraduateCourse
course ⊑ ≥1isTaughtBy
department ⊑ ≥10hasMember ⊓ ≤30hasMember
Class(firstYearCourse partial restriction(isTaughtBy allValuesFrom (Professor)))
Class(mathCourse partial restriction(isTaughtBy hasValue (949352)))
Class(academicStaffMember partial restriction (teaches someValuesFrom (undergraduateCourse)))
Class(course partial restriction (isTaughtBy minCardinality (1)))
Class(department partial restriction (hasMember minCardinality(10))
restriction (hasMember maxCardinality(30)))
www.sti-innsbruck.at
48
More Examples
Class(course partial complementOf(staffMember))
Class(peopleAtUni complete unionOf(staffMember student))
Class(facultyInCS complete
intersectionOf(faculty
restriction (belongsTo hasValue (CSDepartment))))
Class(adminStaff complete
intersectionOf(staffMember
complementOf(unionOf(faculty techSupportStaff))))
www.sti-innsbruck.at
49
More Examples
• In DL syntax:
course ⊑ ¬staffMember
peopleAtUni ≡ staffMember ⊔ student
facultyInCS ≡ faculty ⊓ ∃belongsTo.{CSDepartment}
adminStaff ≡ staffMember ⊓
¬(faculty ⊔ techSupportStaff )
Class(course partial complementOf(staffMember))
Class(peopleAtUni complete unionOf(staffMember student))
Class(facultyInCS complete
intersectionOf(faculty
restriction (belongsTo hasValue (CSDepartment))))
Class(adminStaff complete
intersectionOf(staffMember
complementOf(unionOf(faculty techSupportStaff))))
www.sti-innsbruck.at
50
Tool Support for OWL
• Ontology editors
– Protégé (http://protege.stanford.edu/)
– OilED (http://oiled.man.ac.uk/)
• Reasoners
–
–
–
–
Hoolet (http://owl.man.ac.uk/hoolet/)
Fact++ (http://owl.man.ac.uk/factplusplus/)
KAON2 (http://kaon2.semanticweb.org/)
Pellet (http://clarkparsia.com/pellet/)
• APIs
– OWL-API (http://owlapi.sourceforge.net/)
– Jena (http://jena.sourceforge.net/)
www.sti-innsbruck.at
51
An example of usage of OWL
ILLUSTRATION BY A LARGER
EXAMPLE
www.sti-innsbruck.at
52
The Wine Ontology
• An Ontology describing wine domain
• One of the most widely used examples for OWL and
referenced by W3C.
• There is also a wine agent associated to this ontology
that performs OWL queries using a web-based
ontological mark-up language. That is, by combining a
logical reasoner with an OWL ontology.
• The agent's operation can be described in three parts:
consulting the ontology, performing queries and
outputting results.
• Available here: http://www.w3.org/TR/owl-guide/
www.sti-innsbruck.at
53
Wine Ontology Schema
[http://mysite.verizon.net/jflynn12/VisioOWL/VisioOWL.htm]
www.sti-innsbruck.at
54
Wine Ontology OWL Example
<owl:Class rdf:ID="CheninBlanc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor"/>
<owl:hasValue rdf:resource="#White"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody"/>
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Full"/>
<owl:Thing rdf:about="#Medium"/>
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromGrape"/>
<owl:hasValue rdf:resource="#CheninBlancGrape"/>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromGrape"/>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
…
</owl:Class>
<CheninBlanc rdf:ID="VentanaCheninBlanc">
<locatedIn rdf:resource="#CentralCoastRegion"/>
<hasMaker rdf:resource="#Ventana"/>
<hasSugar rdf:resource="#OffDry"/>
<hasFlavor rdf:resource="#Moderate"/>
<hasBody rdf:resource="#Medium"/>
</CheninBlanc>
www.sti-innsbruck.at
55
EXTENSIONS
www.sti-innsbruck.at
56
From Description Logic to Horn Logic
• The practical experience in building applications has revealed
several shortcomings of OWL, and hence Description Logics
for modeling knowledge
• Feature that ontology engineers are missing:
–
–
–
–
–
Higher Relational Expressivity
Polyadic Predicates
Close-World Reasoning
Integrity Constraints
Modeling Exceptions
• Proper combination of Description Logic and Horn Logic can
define extensions of the language to support such features
– OWL-Flight
www.sti-innsbruck.at
57
That’s almost all for day…
WRAP-UP
www.sti-innsbruck.at
58
Things to Keep in Mind
(or Summary)
• Limitations of RDFS
– Expressivity limitations
– Problems with layering
• Web Ontology Language OWL
–
–
–
–
Design of OWL
OWL Layering
OWL and Description Logics
OWL Syntaxes
www.sti-innsbruck.at
59
Further Reading
•
Mandatory reading
–
–
–
•
Semantic Web Primer
• Chapters 4
[OWL Guide]
• http://www.w3.org/TR/owl-guide/
Ian Horrocks, Peter F. Patel-Schneider, and Frank van Harmelen. From SHIQ and RDF to
OWL: The making of a web ontology language. Journal of Web Semantics, 1(1):7, 2003.
• http://www.cs.vu.nl/%7Efrankh/abstracts/JWS03.html
Further reading
–
–
–
–
Jos de Bruijn: Using Ontologies. Enabling Knowledge Sharing and Reuse on the Semantic
Web. DERI Technical Report DERI-2003-10-29, 2003.
• http://www.deri.org/publications/techpapers/documents/DERI-TR-2003-10-29.pdf
[OWL Reference]
• http://www.w3.org/TR/owl-ref/
[OWL Abstract syntax and Semantics]
• http://www.w3.org/TR/owl-semantics
J. de Bruijn, A. Polleres, R. Lara, and D. Fensel: OWL DL vs. OWL Flight: Conceptual
modeling and reasoning on the semantic web. In Proceedings of the 14th International World
Wide Web Conference (WWW2005), Chiba, Japan, 2005. ACM.
www.sti-innsbruck.at
60
Next Lecture
#
Date
Title
1
Introduction
2
Semantic Web Architecture
3
RDF and RDF Schema
4
Web of hypertext (RDFa, Microformats) and Web of data
5
Semantic Annotation
6
Repositories and SPARQL
7
The Web Ontology Language
8
Rule Interchange Format
9
Web-scale Reasoning
10
Social Semantic Web
11
Ontologies and the Semantic Web
12
Semantic Web Services
13
Tools
14
Applications
15
Exam
www.sti-innsbruck.at
61
Questions?
www.sti-innsbruck.at
62
© Copyright 2026 Paperzz