Schlagwort-Archiv: RDF

SWT SS2010 – Übung 2 – FOAF und Jena

An updated SVG of the FOAF logo. I created the...
Image via Wikipedia

In der heutigen Übung geht es vor allem darum, dass sie mit dem Jena Framework vertraut werden. Anhand von Friend-Of-A-Friend (FOAF) Profilen soll die Funktionsweise der Bibliothek gelernt werden. FOAF ist ein Internet-Standard, um Menschen und ihre Beziehungen untereinander in einer maschinen-verständlichen Form zu beschreiben.

Ziel der Übung soll es sein, einen Crawler zu schreiben, der sich von einem Startpunkt aus durchs Netz angelt und weitere Informationen findet.

Uebung 2 – FOAF (PDF)

Interessante Links:

Java Code um einen InputStream von einer Remote-URL zu bekommen:

URL location = new URL( "http://www.w3.org/People/Berners-Lee/card" );
 InputStream in = location.openStream();
Reblog this post [with Zemanta]

[Semantic Web Technologies] Slides zu Vorlesung 9+10+11 : OWL

Während der letzten Vorlesungen, haben wir uns die Web Ontology Language OWL angesehen.

Dazu sind wir zunächst kurz auf den Begriff der Ontologie eingegangen und haben uns dann mit den Anforderungen an eine Ontologiesprache und warum RDF(S) nicht für alle Fälle ausreicht, beschäftigt.

Anschließend wurde die Version 1 der Sprache OWL vorgestellt. Dabei haben wir die drei Dialekte Light, DL und Full sowie ihre jeweiligen Einsatzgebiete behandelt und gesehen, dass diese in ansteigender Komplexität und Ausdrucksstärke aufeinander aufbauen.

Daraufhin haben wir uns die Details der Sprache näher angesehen. Es wurde besprochen aus welchen Bestandteilen OWL Ontologien bestehen, welche Konzepte (Klassen, Individuen sowie konkrete und abstrakte Rollen) , Sprachelemente (owl:Class, owl:Thing, …) und Kurzschreibweisen existieren sowie welche speziellen Beziehungen zwischen Klassen und Individuen bestehen bzw beschrieben werden können.
Im Anschluss daran wurde erklärt, wie wir durch Beschränkungen auf Rollen (z.B. alle “hatFreund” Beziehungen besitzen “Frau” als Klasse des Subjekts) komplexe Klassen erstellen können und wie sich diese sich durch Intersektion, Vereinigung oder Komplementbildung zu weiteren komplexen Klassen vereinen lassen.

Wir haben uns mit der Klassifizierung von Rollen anhand ihrer Eigenschaften (invers zueinander, transitiv, symmetrisch, (invers) funktional) sowie mit der Bedeutung der Festlegung und den Gefahren von domain und range für diese Rollen beschäftigt.

Nach einer erneuten näheren Betrachtung der Dialekte, und der OWL zur Grunde liegenden Open Word Assumption haben wir uns mit Inferenz, dem “automatischen Schließen aus implizitem Wissen” beschäftigt und dabei die Funktionsweise und Probleme des Tableauverfahrens betrachtet.

Der nächste Abschnitt hat sich mit der neuen Version 2 von OWL beschäftigt. Dabei haben wir gelernt, das OWL 2 auf einer SROIQ Beschreibungslogik fusst und damit der SHOIN Logik von OWL 1 überlegen ist.Mit qualifizierten Zahlenrestriktionen, dem Konzept SELF sowie der Rolleninklusion haben wir die wichtigsten Elemente der neuen Version behandelt. Abschließend wurden Themen wie punning und die Aufgliederung des Light Dialekts in die Profile EL, QL und RL besprochen.

[]Während der letzten Vorlesungen, haben wir uns die Web Ontology Language OWL angesehen.
Dazu sind wir zunächst kurz auf den Begriff der Ontologie eingegangen und haben uns dann mit den Anforderungen an eine Ontologiesprache und warum RDF(S) nicht für alle Fälle ausreicht, beschäftigt.

Anschließend wurde die Version 1 der Sprache OWL vorgestellt. Dabei haben wir die drei Dialekte Light, DL und Full sowie ihre jeweiligen Einsatzgebiete behandelt und gesehen, dass diese in ansteigender Komplexität und Ausdrucksstärke aufeinander aufbauen.

Daraufhin haben wir uns die Details der Sprache näher angesehen. Es wurde besprochen aus welchen Bestandteilen OWL Ontologien bestehen, welche Konzepte (Klassen, Individuen sowie konkrete und abstrakte Rollen) , Sprachelemente (owl:Class, owl:Thing, …) und Kurzschreibweisen existieren sowie welche speziellen Beziehungen zwischen Klassen und Individuen bestehen bzw beschrieben werden können.
Im Anschluss daran wurde erklärt, wie wir durch Beschränkungen auf Rollen (z.B. alle “hatFreund” Beziehungen besitzen “Frau” als Klasse des Subjekts) als komplexe Klassen erstellen können und wie sich diese sich durch Intersektion, Vereinigung oder Komplementbildung zu weiteren komplexen Klassen vereinen lassen.

Wir haben uns mit der Klassifizierung von Rollen anhand ihrer Eigenschaften (invers zueinander, transitiv, symmetrisch, (invers) funktional) sowie mit der Bedeutung der Festlegung und den Gefahren von domain und range für diese Rollen beschäftigt.

Nach einer erneuten näheren Betrachtung der Dialekte, und der OWL zur Grunde liegenden Open Word Assumption haben wir uns mit Inferenz, dem “automatischen Schließen aus implizitem Wissen” beschäftigt und dabei die Funktionsweise und Probleme des Tableauverfahrens betrachtet.

Der nächste Abschnitt hat sich mit der neuen Version 2 von OWL beschäftigt. Dabei haben wir betrachtet, das OWL 2 auf einer SROIQ Beschreibungslogik fusst und damit der SHOIN Logik von OWL 1 überlegen ist.Mit qualifizierten Zahlenrestriktionen, dem Konzept SELF sowie der Rolleninklusion haben wir die wichtigsten Elemente der neuen Version behandelt. Abschließend wurden Themen wie punning und die Aufgliederung des Light Dialekts in die Profile EL, QL und RL besprochen.

8 – Sprachen des Semantic Web – OWL (PDF)

Literatur:

Reblog this post [with Zemanta]

[Semantic Web Technologies] Übung 2 – RDF-Contacts

ExampleContacts

In der heutigen Übung soll einen kleine Applikation zur Kontaktverwaltung in Java mit Hilfe des Jena Frameworks, welches in der letzten Vorlesung vorgestellt wurde, erstellt werden.

Ich habe hierfür ein kleines Rahmenprogramm erstellt, dass uns als Ausgangspunkt dienen soll und bereits die Oberfläche implementiert. Sie müssen also nur noch die für den Datenzugriff wichtigen Codestellen ausfüllen. Entsprechende Stellen sind im Co

de mit TODO markiert.

Inhalte der Übung sind:

  • Erstellen einer Konstantenklasse mit dem Jena schemagen Werkzeug
  • Laden des Modells von einer Datei
  • Speichern der Triple in einer Datei
  • Erstellen von Triplen
  • Finden und Lesen von Triplen
  • Löschen von Triplen

Als Vokabular für die Übungsapplikation verwenden wir einen Teil des FOAF-Vokabulars, den wir mit eigenen Properties für die foaf:Person angereichert haben (siehe Grafik auf der rechten Seite).

Wenn Sie möchten, können Sie das mitgelieferte Vokabular oder die Benutzerschnittstelle gerne um eigene Elemente erweitern. Focus der Übung liegt aber ganz klar darauf, das Jena-Framework und seine grundlegende Funktionalität kennen zu lernen.

Uebungsblatt: Uebung 2 – RDF Contacts

Material:

Links:

Reblog this post [with Zemanta]

[Semantic Web Technologies] Slides zur Vorlesung 5: Formale Semantik von RDF(S)

Bevor wir uns nun den weiteren Technologien und Sprachen des Semantic Web zuwenden, beschäftigen wir uns mit den formalen Grundlagen des Semantic Web.

Was steckt für eine Bedeutung in RDF und RDFS und ihren Vokabularen? Wie können wir dies mathematisch korrekt formulieren?
Dies ist wichtig, damit der Standard nicht beliebig interpretiert werden kann (was leider schon des öfteren vorgekommen ist).

Hierzu werden wir uns zunächst ansehen, wie wir die Sätze (Triple) und Elemente des RDF(S) Vokabulars (URIs, B-Nodes, Literale) in ein theoretisches Modell überführen, um anhand dessen dann die Semantik genau auszuleuchten.
Da dieses Verfahren für die Umsetzung auf Maschinen allerdings viel zu komplex ist, werden wir uns anschließend damit auseinandersetzen, wie wir rein auf der Basis der Syntax Schlüsse ziehen können.
Abschließend werden wir noch sehen, das wir mit RDFS nicht jegliche Semantik ausdrücken können (Negation ist beispielsweise nicht möglich).

Download

Reblog this post [with Zemanta]