Schlagwort-Archiv: Linked Data

SWT 2010 – Übung 3 – SPARQL

Logo of the DBpedia project
Image via Wikipedia

Nachdem wir uns jetzt in den letzten Vorlesungen mit SPARQL beschäftigt haben, ist es nun an der Zeit, dieses Wissen einmal selbst auszuprobieren. Dies soll nun in Übung 3 geschehen:

Uebung 3 – SPARQL (PDF)

Wir beschäftigen uns in dieser Übung mit der DBpedia (http://www.dbpedia.org) die ein wichtiger Bestandteil der Linked-Open-Data Initiative darstellt.

Das DBpedia Projekt extrahiert die strukturierten Daten die in der Wikipedia in den Informationskästen vorhanden sind und stellt sie für das Semantic Web im RDF-Format zur Verfügung. Desweiteren bietet die DBpedia diverse Schnittstellen über die man die in ihr enthaltenen Daten mit Hilfe von SPARQL abfragen kann. Genau dies wollen wir in dieser Übung nun tun.

Hilfreiche Links:

Enhanced by 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]