Semantic Web Winter 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-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 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).
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
|