Prof. Dr. Wolfgang May
Assistance: Daniel Schubert
Date and Time: Wednesday 10-12 ct, Thursday 10-12 ct, Friday 14-16 ct.
Note: the course is 4hrs/week, thus 14x4hrs will be taught by choosing amongst the above slots
(which allows some flexibility wrt. holidays, bridge days, collisions and absences)
Exercises (Übung): integrated into lecture (see announcements on this page)
Room: IFI 2.101 (North Campus)
If (and as long as) non-german-speaking participants attend, the course will be given in english.
3+1 SWS, 6 ECTS credits (Studies in Applied Informatics),
Knowledge in First-Order Logic as taught in "Formale Systeme" is sufficient.
Although, prospective participants are strongly recommended to have participated in
the lecture Database Theory.
XML: RDF/XML uses XML as representation, but requires only a little bit of
knowledge about XML. A short introduction to XML from that point of view will be given
in the lecture.
XML with DTD, XPath, XQuery, XSLT and XML Schema is the topic of the lecture
Semistructured Data and XML
(prospectively taking place again in Winter Term 2016/17).
Note: the module is by default credited as
"Core Informatics". It can also be credited as "Applied Informatics".
(Decision by the Dean of Studies on 25.10.2006/2.2.2010). In this case,
please prepare a personal plan of studies (that e.g. connects
it with your application area etc.) and ask for approval by the DoS.
- Short Review: Basic Notions of First-Order Logic
- RDF: N3 and RDF/XML format, semantics
- RDFS, OWL: having RDF data with additional reasoning
- Description Logics: the logic underlying OWL
- Practical experiments with RDF, Jena, Reasoners etc.
Dates & Topics
- First Meeting: 23.4. 10-12: Administrativa, Overview.
Slides: Introduction and Ontologies
- Reasoning Motivation: the Einstein/Fish Puzzle ...
will (again) be solved declaratively, but totally different than in DBT.
- Thu, 24.4. 10-12. Introduction, Web architectures
Smartboard Notes (Data Models, RDF sketch, reification)
- Fri, 25.4. 14-16. Ontologies
- Wed, 30.4. 10-12: Ontologies (Cont'd); introduction to first-order logic and basic notions of
Slides: Introduction to Logics [1-on-1,
- Thu, 1.5. holiday
- Fri, 2.5. bridge day, no lecture
- 7.5. 10-12: Logical Formalization of Ontologies.
A slide set on first-order logic (from the DB theory lecture) can be
found here (discussed today: Slides 393-413).
- 8.5. 10-12 Lecture: Ontologies (Cont'd)
- 9.5. 14-16 Lecture: Ontologies, Reasoning (Cont'd)
A slide set on reasoning and the FOL tableau calculus (from the DB
theory lecture) can be found here.
- 14.5. 10-12: Tableau Calculus
- 15.5. 10-12: Reasoning (Conclusions), RDF
Slides: RDF [1-on-1,
Note: all example files are accessible in the RDF subdirectory of
this Web page.
Announcement: 15.5. 14-15h, Room 0.101: Colloquium talk on LOD
- 16.5. 14-16: RDF, SPARQL
Exercise Sheet 1 (Ex.1 to play with SPARQL and Mondial; other exercises later)
- Preliminary schedule: [up to here: 10 lectures],
21./22./23.5.; 28.5.,-,-; 5./6./7.6.; 11./12./13.6., [=20] 18./19./20.6.,
25./26./- [D-USA], 2./3./4.7. [=28]
The remaining slots will then be used for the presentations of the
Seminar "Web Data Integration and Data Management".
- 21.5. 10-12: SPARQL
Sample SPARQL Queries
Additional SPARQL exercises to be discussed on Friday:
- (from Slide 118): if both parents are given, put both into the same answer.
(Note: in the relational algebra, this is called a full outer join).
- Mondial: For each country, give the name, and the population.
If more than 1/4 of the population are living in its capital, then give
also the name and the population of the capital.
- 22.5. 10-12: SPARQL Formal Semantics
- 23.5. 14-16: Discussion of Exercise 1.1 + Lecture
Sample SPARQL Queries (Ex.1.1 etc.)
- Wed 28.5. 10-12: Lecture
- Thu, 29.5. holiday
- Fri, 30.5. bridge day, no lecture
- Wed 4.6. 10-12 Discussion of Exercises 1.5, 1.2, 1.3
- Thu, 5.6. 10-12 Discussion of the remaining Exercises from Sheet 1; Lecture
- Fri, 6.6. 14-16: Lecture
- Wed, 11.6. 10-12: RDFS
Slides: RDFS [1-on-1,
- Thu, 12.6. 10-12: RDFS (Cont'd)
- Fri, 13.6. 14-16:
RDF/XML - shortly the main ideas. RDF/XML ist nothing conceptually new,
but (if one knows XML well) mainly craft, like using URIs, and element names
and namespaces, and xml:base.
Slides: RDF/XML [1-on-1,
Slides: DL [1-on-1,
- Wed, 18.6. 10-12: Description Logics
- Thu, 19.6. 10-12: OWL
Slides: OWL [1-on-1,
- Fri, 20.6. 14-16: OWL
- Wed, 25.6. 10-12: OWL
- Thu, 26.6. 10-12: OWL
Exercise Sheet 2 (OWL)
Note: if experiments with mondial fail, check whether the namespace
in the first/second line of mondial-meta.n3 is correct (comment out the
short, experimental one).
- Fri, 27.6. 14-16 no Lecture after soccer WC
- Wed, 2.7. 10-12 Lecture: OWL 2.0
Slides: OWL 2.0 [1-on-1,
- Thu, 3.7. 10-12 Discussion of Exercises 2.1 - 2.3, Lecture
Another Exercise (2.5): Solve Exercise 2.1 with OWL2 features
Solutions to Exercise Sheet 2
(no smartboard notes have been taken)
- Thu, 4.7. 14-16 Discussion of Exercises 2.4 and 2.5, Lecture
... that's it. According to the plan, the course consists of 28 double-hours.
- ... finally, there is also the solution to the Fishpuzzle in OWL:
- fishpuzzleLong.n3 is a very detailed
and intuitive specifikation:
Part 1: Specification of a row of 5 houses.
Part 2: Specification of the properties.
Part 3: Specification of the constraints.
- fishpuzzleLong.sparql is the corresponding query
- fishpuzzleShort.n3 is a shorter encoding:
Part 1: Specification of a row of 5 houses as above.
Part 2: tricky encoding of the properties. Instead of assigning to each house a color, a person,
a brand of cigarettes, a drink, and a pet via explicit RDF edges,
they are declared to be sets that are identified/mapped to each other.
Teil 3: specification of the constraints. Simpler as before, since only the equivalence
classes have to be considered.
- fishpuzzleShort.sparql is the corresponding query.
15.7.: the exam slots have been created in FlexNever (note that for the first slot,
the registration ends 21.7.!)
The SmartBoard Notes are collected here
(only relevant ones, so for some dates there are no notes).
The complete slide set can be found
do not print it yet (subject to change); the slides of the
SSD&XML lecture can also be found there. Knowledge of XML is only required
so far as RDF/XML is (in addition to the N3 format) a possible representation
of RDF data. One should be able to "understand" an XML document. XPath/XQuery and
XSLT are not required.
- Oral exams, several slots to choose between July 20 and October.
- Exam procedure: about 30-40 minutes. Candidates start
with talking about a topic of their choice from the lecture (5-10 minutes),
then questions+answers, including sketches on paper develops dynamically.
The 5-10 minutes talk at the beginning should give me as an examiner a good
impression of your knowledge, and a good starting point to assess your
knowledge with further questions (usually starting with the chosen topic, and then
also going to other topics from the lecture).
- Administration/Registration via FlexNever:
Individual oral exams are not appropriately supported by FlexNever.
Having only one SemWeb item in FlexNever would require that all participants
must register until a given date, and no deregistration is possible after this date.
This schema proved to be not practicable in previous years.
Thus, the following strategy is implemented:
- There will be several slots to chose. Choose one of them.
Each slot has a fixed registration/deregistration end date.
- Exams between 28.7.-8.8.; registration/deregistration until 21.7.
- Exams between 1.9.-12.9.; registration/deregistration until 25.8.
- Exams between 6.10.-24.10.; registration/deregistration until 29.9.
- Contact me by mail for the individual exam appointment in the slot of your choice
at latest one week before end of registration.
P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure: "Semantic Web - Grundlagen" (in German).
Springer eXamen.press, 2008;
The (german language) book covers nearly exactly the contents of the lecture and also
contains an introduction to first-order logic in the appendix.
P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure: "Foundations of Semantic Web Technologies"
Chapman & Hall/CRC, 2009;
The (english language) book covers nearly exactly the contents of the lecture and also
contains an introduction to first-order logic in the appendix.
For the part on (first order) logic, and textbook on foundations of logic from the library
(e.g. "Logik für Informatiker" (in German) von Uwe Schöning) or the manuscript
"Formale Systeme" by
Peter H. Schmitt (Uni Karlsruhe) (Kap. 1-5) can be used.
If you experience any problems (forgotten chmod, wrong paths, forgotten updates etc.),
please notify us.
- Pellet Homepage
- Command line usage:
- Usage as Web Service (see Slides)
For use in the CIP Pool, a Pellet instance running on ap34 can be used at
- If you have an own Pellet on your own computer, start it with ./pellet-dig.sh.
Pellet usually runs at port 8081. The URL will then be http://localhost:8081.
The course uses a lightweight housemade shell interface to Jena for querying, located at
- requires java 1.5
- set alias (bashrc etc.)
alias jena='java -jar /afs/informatik.uni-goettingen.de/course/semweb-lecture/JENA-API/semweb.jar'
- query: (if=input-files, qf=query-file, e.g. in SPARQL)
jena -q -if inputfiles -qf queryfile
- general options:
-il: input language (allows RDF/XML RDF/XML-ABBREV N-TRIPLE N3 TURTLE; N3 is default)
-if: input files
- query options:
-il, -if: as above
- transform options:
-ol: output format (allows RDF/XML RDF/XML-ABBREV N-TRIPLE N3-PLAIN N3-PP N3-TRIPLE
N3 TURTLE; N3 is default)
- export class tree; options:
-e: export class tree (gives some insight for debugging an ontology ...)
-il, -if: as above
- reasoner options (for -q and -e):
activate reasoning; default: internal reasoner: option -inf (for "inference")
or use the pellet class that comes with the semweb.jar:
jena -q -inf -qf query-filename
jena -q -r pellet -qf query-filename
jena -q -pellet -qf query-filename
or use an external reasoner: options -inf -r reasoner-url
e.g. use the Pellet instance running at ap34 as external reasoner from the CIP Pool:
jena -q -qf query-filename -inf -r http://ap34.ifi.informatik.uni-goettingen.de/pellet/
- use of a rule file with the Jena Rule Reasoner (not combined with the Pellet
-rf file containing the rules for the ruleengine
- IsaViz is used for visualization of RDF-Graphs, installed locally at:
- You can either change into that directory and start the program with the command
./run.sh or by using an alias pointing to that script. In the latter case
you will need to copy the configuration file
isaviz.cfg into your home directory.
- If you want to run the application on your own computer, you will have
to install graphviz as well, either from its
or from the appropriate package provided by your distribution
(e.g. debian-package graphviz).
jena -q -qf mondial-query.sparql
jena -inf -r pellet -q -qf mondial-meta-query.sparql