Uni Göttingen
Institute for Informatics
Databases and Information Systems

dbis

Semantic Web
SS 2017

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

Date and Time: Mon 10-12, Wed 10-12, Fri 14-16; formally 3+1 SWS, (i.e. 2x14 = 28 double hours; the SS17 course will be given 3x2 hours/week starting in the third week);
Room: IFI 2.101 (North Campus)
Exercises (Übung): integrated into lecture (see announcements on this page)
If (and as long as) non-german-speaking participants attend, the course will be given in english.

Technical Data: 6 ECTS credits (Studies in Applied Informatics).

Prerequisites

  • Knowledge in First-Order Logic as taught in "Formale Systeme" is sufficient. Although, prospective participants are recommended to have participated in the lecture Deductive Databases.
  • 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 2017/18).

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.

Course Description

  • Short Review: Basic Notions of First-Order Logic
  • RDF: N3 and RDF/XML format, semantics
  • SPARQL: the query language for RDF data
  • RDFS, OWL: having RDF data with additional reasoning
  • Description Logics: the logic underlying OWL
  • Practical experiments with RDF, Jena, Reasoners etc.
  • An experimental Web interface can be found for RDF+OWL and SPARQL here

Dates & Topics

  • Note: the course will start with the 3rd week of the lecture period, prospectively on 26.4.
    It will be then given with 3x2 hrs/week.
  • Prospective Plan: 26.4., [27.4.GirlsDay], 28.4., 3.5., 4.5., 5.5., 10.5., 12.5., 15.5., 17.5., [19.5. SIT], 22.5., 24.5., [26.5.Asc++], 29.5. 31.5., 2.6., [5.6. Pfingsten/Whitsun], 7.6., 9.6., 12.6., 14.6., 16.6., 19.6., 21.6., 23.6., 26.6., 28.6., 30.6., [[3.7.]], 5.7., 7.7., 10.7., 12.7.?, 14.7?. - there is still some flexibility left.
  • First Meeting: Wed 26.4. 10-12: Administrativa, Overview.
    Slides: Introduction and Ontologies
    Smartboard Notes
  • Reasoning Motivation: the Einstein/Fish Puzzle ... will (again) be solved declaratively, but totally different than in DBT.
  • Thu, 27.4.: No lecture, since the room is needed for "Girls Day"
  • Fri, 28.4. Introduction, Web architectures
    Smartboard Notes
  • Mi, 3.5..: Web Architectures, Ontologies
    Smartboard Notes
  • Thu, 4.5.: Ontologies (Cont'd); review of first-order logic and basic notions of model theory.
    Slides: Introduction to Logics
    Smartboard Notes
    A slide set on first-order logic (from the Deductive Databases lecture) can be found here.
  • Fri 5.5.. Logical Formalization of Ontologies
    Smartboard Notes
  • 10.5. Ontologies, Reasoning
    A slide set on reasoning and the FOL tableau calculus (from the DB theory lecture) can be found here.
    Smartboard Notes
  • Due to a collision of the Thursday 10-12 slot with the NoSQL lecture, instead of Thursday, the lecture moves to Mo 10-12.
  • 11.5. No lecture - we changed to MONDAY 10-12
  • Exercise Sheet 1 (Tableaux)
  • Fri 12.5. Inference Systems, RDF
    Slides: RDF
    Smartboard Notes
    Note: all example files are accessible in the RDF subdirectory of this Web page [ Download RDF.zip] .
  • Mon 15.5. Discussion of Exercise Sheet 1 (Tableaux) [Solution],
    lecture: RDF
    Smartboard Notes
  • Wed 17.5. Lecture: RDF
    Smartboard Notes
  • Fri 19.5. NO LECTURE because of the Studentische Informatik-Tage 2017
  • Mon 22.5. Lecture: RDF, SPARQL
    Smartboard Notes
  • Wed 24.5. Lecture: SPARQL
    Exercise Sheet: SPARQL
    Smartboard Notes
  • Fri 26.5. NO LECTURE (bridge day after Ascension holiday)
  • 29.5: Discussion of Exercise Sheet 2 (SPARQL) [Solution],
    Lecture: SPARQL - Formal Semantics
    Smartboard Notes
  • 31.5.: SPARQL - Formal Semantics
    Smartboard Notes
  • 2.6.: SPARQL 1.1
    Exercise Sheet 3: SPARQL Formal Semantics
    Smartboard Notes
  • 5.6.: NO LECTURE (whitsun monday)
  • 7.6.: SPARQL 1.1, RDFS
    Slides: RDFS
    Smartboard Notes
  • 9.6.: RDFS
    Smartboard Notes
  • 12.6. unexpectedly cancelled (I made another (medical) appointment without considering that the lecture takes place in the morning).
  • 14.6.: Discussion of Exercise Sheet 3 (SPARQL Formal Semantics),
    [Solution],
    Lecture: RDFS, ...
    Smartboard Notes
  • 16.6.: RDF/XML - shortly the main ideas. RDF/XML ist nothing conceptually new, but (if one knows XML well) mainly craft, like using URIs, and expansion of element names to URIs with namespaces, and xml:base.
    Slides: RDF/XML
    No smartboard notes today.
  • 19.6.: Description Logics
    Slides: DL
    Smartboard Notes
  • 21.6.: OWL
    Slides: OWL
    Smartboard Notes
  • The Department for Physical Geography is searching for a student member in the database area: pdf
  • 23.6.: OWL
    Smartboard Notes
  • 26.6.: OWL
    Smartboard Notes
  • 28.6.: OWL
    Smartboard Notes
  • 30.6.: OWL
    Smartboard Notes
  • 3.7.: NO LECTURE
  • 5.7.. OWL 2.0
    Slides: OWL 2.0
    Exercise Sheet 4 (OWL)
    Smartboard Notes
  • ... and now you can also try to solve the Einstein/Fish Puzzle.
  • Artificial Intelligence and Reality: An article in the FAZ on Cangaroos and autonomous cars (in German).
  • 7.7.: OWL 2.0
    Smartboard Notes
  • The Mondial database in RDF format can be found here.
    This is an example for a real-world ontology. Still, it is more elaborated than most real ontologies (interface-style classes like Area, Line, SmallArea; several union classes to restrict the domains as exact as possible).
  • 10.7.: Discussion Exercise Sheet 4
    [Solution]
    Smartboard Notes
  • 12.7.: OPTIONAL: Use case and some insights in our current research: A (good) ontology contains a superset of the information that an ER diagram contains (exact domains, ranges, cardinalities). From this, a relational model can be generated, using the same principle as in the DB lecture for ER->SQL.
    On demand: Questions/hints for the Fish Puzzle. Further keywords: Ontology-based data access, ontology mapping.
    Smartboard Notes
  • 14.7.: NO LECTURE.
    Optional: I will be there in the seminar room at 14:15 in case of questions, including hints for the FishPuzzle.
  • ... 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.
  • End of lectures: 14.7.2017

The SmartBoard Notes are collected here (only relevant ones, so for some dates there are no notes).

The complete slide set can be found here. Please 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.

Exams

  • Oral exams, several slots to choose between July 15 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).
  • There are several slots to chose. Choose one of them. Each slot has a fixed registration/deregistration end date.
    (the main reason to have different slots is that registration and deregistration in FlexNever is only possible up to one week before the first day of exams - so having different slots makes it possible to decide later)
    • Exams between July 17-July 21 (first week after the lectures), registration/deregistration until July 10
    • Exams between Aug 28-Sept 15, registration/deregistration until August 21
    • Exams between Oct 9-Oct 20 (winter term lectures start on Oct 16), registration/deregistration until Oct 9
    • Contact me by mail for the individual exam appointment in the slot of your choice ... at latest with the end of registration.

Background Literature

P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure: "Semantic Web - Grundlagen" (in German). Springer eXamen.press, 2008; ISBN 978-3-540-33994-6.
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" (in English). Chapman & Hall/CRC, 2009; ISBN: 9781420090505
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.

Some Links


Semantic Web Tools and Links

If you experience any problems (forgotten chmod, wrong paths, forgotten updates etc.), please notify us.

Web-wide Services

Professional Tools

Pellet - the OWL Reasoner

  • Pellet Homepage (with Download)
  • Command line usage:
    • set alias (bashrc etc.)
             alias pellet='~dbis/SemWeb-Tools/pellet/pellet.sh'
    • query: pellet query -query-file queryfile inputfile
    • Multiple input files can be used via the JENA-based tool described below.
  • Usage as Web Service (see Slides)
    • For use in the CIP Pool, a Pellet instance running on ap34 can be used at http://ap34.ifi.informatik.uni-goettingen.de/pellet/.
    • 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.

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 for querying:

  • 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:
    -q: query
    -il, -if: as above
    -qf: query-file
  • 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 reasoner: option -inf (for "inference")
    or use the pellet class that comes with the semweb.jar:
     jena -q -inf -qf query-filename
     jena -q -pellet -qf query-filename

LOD: Accessing RDF Data in the Web

  • rapper: a tool that accesses a Web page in RDF-reading mode to get RDF triples: e.g.
    rapper http://sws.geonames.org/3017382/

Mondial in RDF

The Mondial database in RDF format can be found at http://www.dbis.informatik.uni-goettingen.de/Mondial/#RDF.

Call e.g.

 jena -q -qf mondial-query.sparql
or
 jena -pellet -q -qf mondial-meta-query.sparql

Usage in the CIP Pool

From the CIP Pool computers at the IFI (ground floor or log in from remote), the software and resources are directly accessible:

  • log in from remote to login.stud.informatik.uni-goettingen.de (Linux: ssh, Windows: puTTY)
  • log through to one of the individual computers (e.g. ssh c032)
  • set the alias in your .bashrc file:
     alias jena='java -jar /afs/informatik.uni-goettingen.de/course/semweb-lecture/JENA-API/semweb.jar'
  • The lecture's RDF directory with the n3 files can be found at
     /afs/informatik.uni-goettingen.de/user/d/dbisuser/public_html/teaching/SemWeb/RDF
  • The Mondial files can be found at
     /afs/informatik.uni-goettingen.de/user/d/dbisuser/public_html/Mondial
     /afs/informatik.uni-goettingen.de/user/d/dbisuser/public_html/Mondial/Mondial-RDF