Practical Course Semantic Web Technologies
Summer Term 2019
Note: this course does not give an introduction to Semantic Web, but builds upon
the knowledge from the Semantic Web WS 2018/19
lecture. The next introductory course to Semantic Web will prospectively take
place in WS 2019/20.
Prof. Dr. Wolfgang May
Lars Runge, M.Sc.,
Sebastian Schrage, M.Sc.
Date and Time: Friday 14-18, depending on how long the course takes. The course meeting will not take place every week.
Room: IFI 2.101 (North Campus)
The course yields 6 ECTS-credits; it is graded (=benotet)
- Successful participation in the module "Semantic Web"
- Successful participation in the "General
Programming Lab/Allgemeines Programmierpraktikum" (or an equivalent course).
The practical course builds upon the lecture
Semantic Web. Among other sources, the
Mondial database in RDF format
Documentation: use the slides from the
Semantic Web lecture (the full slide set can be found
The course takes place in groups of 3-4 persons. There will be several
Usually, for every unit there is a course meeting, and additionally
individual meetings with the groups.
Potential topics include:
- More exercises with SPARQL
- Linked Open Data, distributed Queries in SPARQL (e.g. using Wikidata),
Multilinguality based on RDF (Wikidata, DBpedia)
- RDF/OWL with Java I: Jena
- RDF/OWL with Java II: RDF4J (ex-Sesame), OWL-API (OWL Manchester Syntax)
- OWL Reasoning: rule-based internal Jena (Datalog-style) Reasoner vs. Pellet DL Reasoner
- Openllet (open source continuation of the Pellet reasoner)
- Ontology Generation (Protege-Tool)
- Querying and analyzing OWL Metadata (which is not easily possible with only SPARQL)
- RDF Databases/Data Management (with updates etc.), Data Acquisition/Consolidation
- OWL puzzles
- SWRL rules
- Web Services (aside: basically a simple thing, and a good way to make the above
- (Friday 19.4.: holiday - easter weekend)
- 1. Meeting
26.4. (Friday), 14-16 ct SR 2.101: Introduction, Formalities, SPARQL revisited
Exercises: SPARQL - to be discussed until 10.5.2019.
3.5.: Linked Open Data. Mondial as LOD example.
Other examples: Wikidata and its Modeling. DBPedia, Yago, ...
Some examples for HTML LOD SPARQL endpoints with Web forms to explore these sources:
Syntax of SPARQL functions and operators:
An URL-encoding service can be found here
10.5.: RDF/RDFS/OWL and SPARQL and Java. The Jena API.
17.5.: no course
- from now on, the course takes place in SR -1.101 because the Smartboard in
2.101 is dead.
24.5.: Rule-based Reasoning: RDFS, OWL-RL, Rules in Jena; the internal rule-based Jena reasoner.
The new semweb-23-mai-2019.jar (ist jetzt nur noch 20MB gross,
dafür ist nicht mehr alles dreimal drin ...).
31.5.: no course (30.5. is Himmelfahrt holiday)
7.6.: OWL-API (Manchester-Syntax for OWL/DL ), Hermit, Protege
(Ontology editing; supports also SWRL rules in Manchester Syntax)
Slides: OwlAPI, Hermit, Protege
- 14.6.: 13:00 2.101. Besprechung von Aufgaben, Fragen etc.,
- 21.6., 13:00: RDF4J (ex-Sesame, now with Eclipse Foundation),
Discussion of Exercise Sheet 4
- 28.6., 13:00: Discussion of Exercises
Web-Server-Technology, HTTP, Servlets.
Slides: Web Services
Installation instructions for tomcat
XQuery Demo Servlet as .war-file
Servlet Demo Source Code
- 5.7., 13:00: Discussion of Exercises ...
- 12.7., 13:00: Discussion of Exercises ...
Anmeldung in FlexNow bis 21.7.2019
- TO BE EXTENDED
basically the same as in the Lecture, but updated (subject to change and extension)
Apache JENA (
is a free and open source Java framework for building Semantic Web and
Linked Data applications.
The course uses a lightweight housemade shell interface to Jena with Pellet for querying
in a still experimental unstable version:
If something does not work, send us an email.
Raptor RDF Syntax Library - Raptor RDF parser utility
- access URLs as RDF client