Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems Group

dbis
Uni Göttingen

Semantic Web
Summer 2010

Prof. Dr. Wolfgang May
Assistance: Daniel Schubert

Date and Time: Monday, 14-16 ct (every 2 weeks), Tuesday 14-16 ct.
Lab (Übung): Monday 14-16 ct (every 2 weeks)
Room: IFI 2.101 (North Campus)

Technical Data:
3+1 SWS, 6 ECTS credits (Studies in Applied Informatics),

Prerequisites: prospective participants should have attended the lecture Semistructured Data and XML.
Note: the "Modulkatalog" lists the module "Formal Systems" as prerequisite. As not yet all participants attended the recently introduced lecture "Formal Systems", the SS2010 "Semantic Web" contains an introduction to logic at the beginning which replaces "Formal Systems" for now.
Note: the Modulkatalog lists "Semantic Web" with 4 ECTS CP. The SS2010 "Semantic Web" counts 6 CP since it additionally includes the above-mentioned introduction to formal logic.

Note: the module can 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

  • Basic Notions of First-Order Logic (since they are not regularly taught in an earlier lecture)
  • 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 [Subject to Change]

  • 6.4.: Administrativa, Overview.
    Slides: Introduction and Ontologies [1-on-1, 2-on-1]
  • 12./13.4.: Ontologies (Cont'd)
  • 19.4.: Ontologies (Cont'd)
  • Reasoning Motivation: the Einstein/Fish Puzzle
  • 20.4..: Introduction to first-order logic and basic notions of model theory.
    Slides: Introduction to Logics [1-on-1, 2-on-1]
  • 26./27.4.: Introduction to Logics (Cont'd)
  • Exercise sheet: Logic
  • 3./4.5.: Introduction to Logics (Cont'd)
  • 10./11.5. Introduction to Logics (Cont'd)
  • 17./18.5. faellt aus wegen Dienstreise
  • 24.5. faellt aus wegen Feiertag
  • 25.5. Introduction to Logics (Cont'd)
    Alle bisherigen SmartBoard-Mitschriften liegen hier
  • 31.5./1.6.: RDF
    Slides: RDF [1-on-1, 2-on-1]
    Note: all example files are accessible in the RDF subdirectory of this Web page.
  • 7./8.6. faellt aus wegen EU-Review - wenn nicht wieder ein Vulkan oder sowas dazwischenkommt
  • 14.6.: Discussion of Exercise Sheet 1. Solution.
  • 15.6.: RDF (Cont'd)
  • 21.6.: RDF (Cont'd)
  • 22.6.: RDFS
    Slides: RDFS [1-on-1, 2-on-1]
  • 28.6.: RDFS (Cont'd), RDF/XML -- nur kurz, die wesentlichsten Ideen. RDF/XML ist nichts konzeptuell neues, sondern (wenn man XML gut kennt) im wesentlichen Handwerk, wie URIs, Elementnamen+Namespaces und xml:base zusammenspielen.
    Slides: RDF/XML [1-on-1, 2-on-1]
  • 29.6.: Description Logics
    Slides: DL [1-on-1, 2-on-1]
  • 5./6.7.: OWL 1.0
    Slides: OWL [1-on-1, 2-on-1]
  • ... und die restlichen Folien: OWL 2.0
    Slides: OWL 2.0 [1-on-1, 2-on-1]

Die SmartBoard Aufzeichnungen sind hier gesammelt (es gab nicht bei jedem Termin eine relevante Aufzeichnung).

Den kompletten Foliensatz finden Sie hier. Bitte nicht drucken (weil er sich noch ändert); dort finden Sie auch die Folien zu SSD&XML. XML-Kenntnisse werden insoweit benötigt, dass RDF/XML (neben N3) eine der Repräsentationen von RDF ist. Man sollte also ein XML-Dokument "verstehen" können. XPath/XQuery und XSLT werden nicht benötigt.

Literaturempfehlung

P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure: "Semantic Web". Springer eXamen.press, 2007; ISBN 978-3-540-33994-6; 24.95 E.
Das (deutschsprachige) Buch deckt ziemlich exakt den Inhalt der Vorlesung ab, und enthält auch eine kurze Intro zu First-Order-Logic im Anhang.

Für den Teil über (Prädikaten)logik können Sie ein beliebiges Logik-Grundlagen-Lehrbuch aus der Bibliothek (z.B. "Logik für Informatiker" von Uwe Schöning) oder das Skript "Formale Systeme" von Peter H. Schmitt (Uni Karlsruhe) (Kap. 1-5) verwenden.

Prüfungen

  • Die Prüfungen finden mündlich zwischen dem 12. und 22.7 statt.
  • Wer einen Termin haben will: bitte per Mail Vorschlag/Ausschlusskriterien angeben.
  • Prüfungsablauf: pro Person sind ca. 40 Minuten (einschl. Notenbesprechung und Bekanntgabe) geplant. Als Einstieg sollen Sie zuerst ca. 5 Minuten zu einem Teilthema Ihrer Wahl anfangen, der Rest ergibt sich dann dynamisch ...
  • Anmeldung in FlexNever: das PA erwartet von allen Teilnehmern, dass sie sich dort anmelden.
    • "Normale" Regelung in FlexNever fuer muendliche Pruefungen, die nicht alle am selben Tag stattfinden:
      • Pruefungen in Fach X von T1 bis T2
      • muendliche Pruefungen: Studierende koennen sich bis einen Tag vor T1 abmelden (richtig waere: bis einen Tag vor der Pruefung)
      • ich darf nur angemeldete Teilnehmer pruefen
    • Also muss man halt einen Weg finden, der das praktikabel umsetzt:
      • Pruefungen finden vom 12.7.-22.7. statt.
      • Anmeldefrist: 20.6.-20.7.
      • Abmeldefrist: bis 10.7.
      • D.h., man kann sich im Pruefungszeitraum offiziell noch anmelden, aber nicht mehr abmelden.
      • Termin mit mir fruehzeitig per Mail festlegen (Einzeltermine gehen ja ueber FlexNever sowieso nicht)
      • spaetestens am Morgen des Tages vor dem abgesprochenen Pruefungstermin anmelden (dann lasse ich mittags die Anmeldung ueberpruefen).
      • Wer sicher ist, dass er/sie sich nicht abmeldet, kann sich natuerlich auch frueher anmelden.
      • Um zu testen, ob die Anmeldung prinzipiell klappt: Melden Sie sich jetzt mal an, und vor 10.7. wieder ab.
    • Modulnummer MSc.AngInf.142 scheint richtig zu sein (6 CP).
  • Leistungsnachweise: Alle (erfolgreichen) Teilnehmer bekommen einen Schein. Abholung bei Frau Jachinke (IFI, ab 5.8.2010, tgl. 9-11 Uhr Raum 0.107).
    Ausserdem habe ich die Ergebnisliste zur Eintragung in FlexNever abgegeben (Sie können also erstmal abwarten, ob die Ergebnisse freiwillig in FlexNever auftauchen).
    Achten Sie dabei darauf, dass Sie 6 CP angerechnet bekommen (dies war in der Anmeldeliste zum Teil falsch eingetragen).

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

Datalog, F-Logic: Florid

  • the Florid Homepage (with some documentation) at Freiburg.
  • Mondial as Datalog facts: mondial-rel-facts.flp
  • Florid needs gcc4.x. It can be used in the CIP Pool only on computers running the most recent debian-etch distribution (this can be chosen when logging in; for use from remote, the computers c031-c034 run permanently under etch.).
    The executable is located at
     /afs/informatik.uni-goettingen.de/course/semweb-lecture/florid/bin/florid  
    For using it, you also have to set paths
     export DEFAULTCFG="/afs/informatik.uni-goettingen.de/course/semweb-lecture/florid/environment/config.flp"
     export DEFAULTHIS="/afs/informatik.uni-goettingen.de/course/semweb-lecture/florid/environment/default.his" 
    Then you can start it, e.g. with the above input facts:
     > florid mondial-rel-facts.flp
       [...] Type 'sys.help.' for further information.
     ?- sys.eval.    // don't forget sys.eval.
                     // evaluates the facts and adds it to the knowledge base
     ?- country(A,B,C,D,E,F).
     // ... answers ...
     ?- sys.end.     // to leave it
       

Pellet - the OWL Reasoner

  • Pellet will be used mainly from the JENA tool.
  • Pellet Homepage (with Download)
  • 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

The course uses a lightweight housemade shell interface to Jena for querying located at /afs/informatik.uni-goettingen.de/course/semweb-lecture/JENA-API/semweb.jar

  • 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
    or use the pellet class that comes with the semweb.jar:
     jena -q -inf -r pellet -qf query-filename
    or short
     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 OWL Reasoner):
         -rf  file containing the rules for the ruleengine

IsaViz: RDF Graph Visualizer

  • IsaViz is used for visualization of RDF-Graphs, installed locally at: /afs/informatik.uni-goettingen.de/course/semweb-lecture/tools/IsaViz/
  • 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 Web page or from the appropriate package provided by your distribution (e.g. debian-package graphviz).

Mondial in RDF

http://www.dbis.informatik.uni-goettingen.de/Mondial/#RDF

Call e.g.

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