Uni Göttingen
Institute for Informatics
Databases and Information Systems


Practical Course Semantic Web Technologies
Summer Term 2023

Note: this course does not give an introduction to Semantic Web, but builds upon the knowledge from the Semantic Web WS 2022/23 lecture. The next introductory course to Semantic Web will prospectively take place in WS 2023/24.

Prof. Dr. Wolfgang May
Lars Runge, M.Sc.

  • Date and Time: Friday 14-18, depending on how long the course takes. The course meeting will not take place every week.
  • Virtual Meetings: We will use BigBlueButton provided by GWDG; the rooms/meetings can be entered via StudIP.
    Please also read the general and technical information about DBIS virtual teaching.

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),
  • or equivalent knowledge.

Course Description

The practical course builds upon the lecture Semantic Web. Among other sources, the Mondial database in RDF format is used.

Documentation: use the slides from the Semantic Web lecture (the full slide set can be found here)

The course takes place in groups of 3-4 persons. There will be several units.
Usually, for every unit there is a course meeting, and additionally individual meetings with the groups.

Topics: Warm-Up: SPARQL revisited, Linked Open Data, distributed queries in SPARQL (e.g. using Wikidata), RDF/OWL with Java/Jena, OWL and hybrid OWL+ (Datalog-style) rules reasoning, Tools: OWLAPI (Manchester Syntax) +Protege, RDF4J (ex-Sesame), Querying and analyzing OWL Metadata (which is not easily possible with only SPARQL), (maybe: Web Services, if not taught before in the XML lab course)

Time Schedule

  • 1. Meeting 14.4. (Friday), 14-16 ct SR 2.101 in StudIP→BBB: Introduction, Formalities, SPARQL revisited
    • Slides (from the lecture): RDF, SPARQL, RDFS
    • Exercise Sheet 1: SPARQL - to be discussed until 5.5.2023.
  • 21.4.: online hands-on/group meeting (optional)
  • 28.4.: Linked Open Data. Mondial as LOD example.
  • 5.5.: Discussion of the first exercise sheet
  • 12.5.: online hands-on/group meeting (optional)
  • 19.5.: RDF/RDFS/OWL and SPARQL and Java. The Jena API.
  • 26.5.: Discussion of exercise sheet 2


Jena: RDF and SPARQL

Apache JENA ( https://jena.apache.org/ ) 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.

  • requires Java 8
  • set alias (bashrc etc.)
     alias jena='java -jar /afs/informatik.uni-goettingen.de/course/semweb-lecture/JENA-API/semweb-23-mai-2019.jar'
  • query: (if=input-files, qf=query-file, e.g. in SPARQL)
    jena -q -if inputfiles -qf queryfile
  • general options:
    -il: input language (not necessary, is auto-detected)
    -if: input files
  • query options:
    -q: query
    -il, -if: as above
    -qf: query-file
    -ofo optimize-federated-off (concerns the eval. of SERVICE clauses in SPARQL)
  • transform options:
    -t: transform
    -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 rule-based reasoner: option -inf (for "inference")
    or use the pellet/openllet class that comes with the semweb.jar:
     jena -q -inf -qf query-filename
     jena -q -pellet -qf query-filename

Raptor RDF Syntax Library - Raptor RDF parser utility

  • access URLs as RDF client rapper instructions