| Semantic WebWinter 2007/08
Prof. Dr. Wolfgang May
Assistants:
Oliver Fritzen,
Franz Schenk
 
Date and Time: Monday, 14-16 ct  (every 2 weeks), Tuesday 14-16 ct. Lab (Übung): Monday 14-16 ct (every 2 weeks)
 Room: MN68
 
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.
"Formal Systems" will be introduced next year according to the new exam
regulations. The WS0708 "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 WS0708 
"Semantic Web" counts 6 CP since it additionally includes an introduction
to formal logic.
 
Note: the module can be credited as "Applied Informatics".
(Decision by the Dean of Studies on 25.10.2006).
It is not associated with any Studienrichtung. For further 
aspects 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]
 15.10.: Administrativa, Overview.Slides: Introduction and Ontologies
      [1-on-1, 2-on-1]
 16.10.: Ontologies (Cont'd)
 The Einstein/Fish Puzzle
 22.10./23.10.: Introduction to first-order logic and basic notions of 
     model theory. Slides: Introduction to Logics [1-on-1, 
       2-on-1]
 29.10./30.10.: Introduction to Logics (Cont'd)
 Exercise sheet: Logic
 5./6.11.: Introduction to Logics (Cont'd)
 12.11.: Introduction to Logics (Cont'd)
 13.11.: Discussion of Ex. 1-3 Solution; then continuing with the lecture.
 19.11.: Introduction to Logics (Cont'd) 20.11.: remaining exercises from Sheet 1
     (Solution Ex. 3 and 4); then continuing with the lecture.
 26./27.11.: RDF Slides: RDF [1-on-1, 
       2-on-1]
 Note: all example files are accessible in the RDF subdirectory of
    this Web page.
 3./4.12.: RDF (Cont'd)
 10./11.12.: RDF (Cont'd), RDFS Slides: RDFS [1-on-1, 
       2-on-1]
 17./18.12.: RDF/XML Slides: RDF/XML [1-on-1, 
       2-on-1]
 22.12.-6.1. Christmas Break
7.1. no lecture
 8.1. RDFS in RDF/XML - Classes and properties as resources 
 14.1.: Description Logics Slides: DL [1-on-1, 
       2-on-1]
 15.1. no lecture (Disputation Oliver Fritzen)
 21.1.: OWL 1.0 Slides: OWL [1-on-1, 
       2-on-1]
 22.1.: OWL (Cont'd) 28.1./29.1.: OWL 1.1 Slides: OWL 1.1 [1-on-1, 
       2-on-1]
 Ergebnisse der Vorlesungsevaluierung.
 in der letzten Vorlesung wurde (kurz) die Lösung des
  Fishpuzzle besprochen:
   eine sehr ausführliche Spezifikation ... fällt in einen pellet-Bug.
   fishpuzzleMiddle.n3 ist eine einfachere Spezifikation:
    Teil 1: Spezifikation der Reihe von 5 Häusern.
 Teil 2: Spezifikation der Eigenschaften.
 Teil 3: Spezifikation der Constraints. Eigentlich ganz einfach. Man macht hier
      davon Gebrauch, dass man Individuals in "Graph-Fragmenten" benennen kann, die
      der Reasoner dann mit den "echten" Häusern und Personen passend gleichsetzt.
 Bsp: aus [10] und [15] wird der Reasoner :x10 und :x15 gleichsetzen, da es nur
      einen Marlboro-Raucher geben kann.
 fishpuzzleMiddle.sparql ist die Anfrage dazu.
    Sie braucht ... auf der s2 ueber Nacht. 
   fishpuzzleShort.n3
    Teil 1: Spezifikation der Reihe von 5 Häusern wie oben.
 Teil 2: Trick: Codierung der Eigenschaften. Anstatt jedem Haus ein Farbe und einen Bewohner,
      und diesem eine Zigarettenmarke, ein Getränk und ein Tier über explizite
      Kanten zuzuordnen, "setzt man diese gleich" und bildet Äquivalenzklassen.
 Teil 3: Spezifikation der Constraints. Noch einfacher als vorher, da man nur die 
      Äquivalenzklassen betrachtet.
 fishpuzzleShort.sparql ist die Anfrage dazu.
    Sie braucht 50 Minuten auf der s2.
   
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
Empfehlenswerte Neuerscheinung (deutschsprachig): 
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 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
 mündlich; es stehen mehrere Termingruppen zur Auswahl:
 4.-8.2. (nicht 5.2.)4.-15.3.: Die Termine fuer diesen Block habe ich (hoffentlich
   alle) per Mail verschickt. Wer keinen bekommen hat, aber einen 
   moechte -> bitte melden.10.4./11.4./12.4.: die Termine wurden vergeben (Mail - beachten 
  Sie bitte, dass die erste Mail, die jeder bekommen hatte, ein falsches
  Datum enthielt). Wer keinen Termin bekommen hat, aber einen moechte 
  -> bitte melden.
  (Im Worst Case können sich noch Verlegungen ergeben)
 Anmeldung per Mail an may@informatik.uni-goettingen.de. Bitte
  teilen Sie mir mit, in welchem der oben genannten Zeiträume
  Sie geprüft werden wollen, und welche Vor-/Nachmittage dabei
  bei Ihnen nicht passen.
 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 ...
 Hinweis zu FlexNever: wer sich dort anmelden kann (BSc geht wohl sowieso 
 nicht), kann dies (zusätzlich zur Mail-Anmeldung) tun. Sie erleichtern 
 damit derjenigen Person, die die Noten einträgt, wahrscheinlich die Arbeit. 
 Achten Sie dabei darauf, 
 dass es die 6-CP-Version [wahrscheinlich "324 Theoretische
 Grundlagen, Datenmodelle und Sprachen des Semantic Web"] ist. (es gibt
 eine zweite 4-CP-Variante [dürfte "321 "Semantic Web" sein],
 die der MSc-PO/SO entspricht, und das Modul "Formale Systeme" [was es 
 bisher nicht gibt] voraussetzt). Notenübermittlung: am Ende per Liste ans PA, oder es gibt ganz einfach
 Papierscheine, die dann angerechnet werden.
 
 15.4.2008: ich habe die Notenliste und die Scheine an Frau Jachinke gegeben.
 Vielleicht werden die Noten ja auf diese Weise alle direkt ins FlexNever
 eingetragen; ansonsten koennen Sie dort Ihre Scheine abholen und einzeln
 anerkennen+eintragen lassen.
 Externe Ankündigung
   
     Accenture Campus Challenge: 
    Überblick,
    Details - Thema Web 2.0 Mashups.DBIS ist selber mangels Resourcen nicht beteiligt; wir leiten potentielle
    Interessenten aber weiter. Evtl reicht es für ein kombiniertes
    Inf/WiInf-Team.
 Some Links
 
If you experience any problems (forgotten chmod, wrong paths, forgotten updates etc.),
please notify us.
  
  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 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.
 
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 
 (Download; last updated Jan. 2008):
 
    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-filenameor short 
 jena -q -pellet -qf query-filenameor 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 
 http://www.dbis.informatik.uni-goettingen.de/Mondial/#RDF 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).
  
Call e.g. 
  
 jena -q -qf mondial-query.sparqlor 
 jena -inf -r pellet -q -qf mondial-meta-query.sparql |