Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #3
Mit dem Resource Description Framework (RDF) steigen wir nun richtig in die Sprachen des Semantic Web ein.
Es wird der Graph als Datenmodell des RDF und dessen Zerlegung in Triple aus Subjekt, Prädikat und Objekt behandelt.
Mit RDF/XML, Turtle und RDFa werden die wichtigsten Serialisierungsformate für RDF-Graphen besprochen. Anschließend beschäftigen wir uns mit den Details von RDF wie der Behandlung von Literalen (inkl. Datatypes und Sprachangaben), Blind Nodes, Listen und Collections.
Diese Vorlesung behandelt das Thema RDFS und damit die Möglichkeit zur Definition von terminologischem Wissen mit RDF. Durch RDFS werden erste einfache Schlussfolgerungen möglich.
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #3
Mit dem Resource Description Framework (RDF) steigen wir nun richtig in die Sprachen des Semantic Web ein.
Es wird der Graph als Datenmodell des RDF und dessen Zerlegung in Triple aus Subjekt, Prädikat und Objekt behandelt.
Mit RDF/XML, Turtle und RDFa werden die wichtigsten Serialisierungsformate für RDF-Graphen besprochen. Anschließend beschäftigen wir uns mit den Details von RDF wie der Behandlung von Literalen (inkl. Datatypes und Sprachangaben), Blind Nodes, Listen und Collections.
Diese Vorlesung behandelt das Thema RDFS und damit die Möglichkeit zur Definition von terminologischem Wissen mit RDF. Durch RDFS werden erste einfache Schlussfolgerungen möglich.
Παρουσίαση για το σεμινάριο “Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data”
Το σεμινάριο διοργανώθηκε από τις Βιβλιοθήκες του Τμήματος Νομικής του ΕΚΠΑ και του Πανεπιστημίου Πειραιώς στις 18 και 19 Ιουνίου 2012, υπό την επιμέλεια της Ομάδας Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων του Εργαστηρίου Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης του Τμήματος Αρχειονομίας - Βιβλιοθηκονομίας του Ιονίου Πανεπιστημίου
Διδάσκοντες:
- Μανόλης Πεπονάκης (MLIS)
- Δρ. Μιχάλης Σφακάκης
- Δρ. Χρήστος Παπαθεοδώρου
This document summarizes key points from 4 articles about using podcasts in education. The first article defines podcasts and their uses and limitations in the classroom. The second describes a professor who records lectures as podcasts, finding it improves learning. The third provides 10 easy steps for teachers to create classroom audio podcasts. The last concludes that podcasting is a useful, engaging, and affordable classroom tool that allows students to review lessons and parents to connect to the classroom.
The document provides examples of representing data in RDF formats including RDF/XML, Notation 3, Turtle and triples. It shows how to represent basic statements and relationships between resources as well as more complex data structures like bags, sequences and collections. Examples are given for converting between the different RDF syntaxes and representing graphs in RDF/XML.
SIFT is a method to automatically detect distinctive keypoints in images that are invariant to scale, orientation, and illumination changes. It works by identifying locations and scales that remain consistent across different views of the same object using scale-space analysis and rejecting unstable points. It then assigns a consistent orientation and creates a keypoint descriptor for each point based on local gradient orientations. These keypoints can then be used to reliably match different views of an object or scene.
Feature Matching using SIFT algorithm; co-authored presentation on Photogrammetry studio by Sajid Pareeth, Gabriel Vincent Sanya, Sonam Tashi and Michael Mutale
The document describes using the Scale Invariant Feature Transform (SIFT) algorithm for sub-image matching. It discusses rejecting the chain code algorithm and instead using SIFT. It then explains the various steps of SIFT including creating scale-space and Difference of Gaussian pyramids, extrema detection, noise elimination, orientation assignment, descriptor computation, and keypoints matching.
The document describes the Scale-invariant feature transform (SIFT) algorithm. It outlines the key steps: 1) constructing scale space by generating blurred images at different scales, 2) calculating difference of Gaussian images to find keypoints, 3) assigning orientations to keypoints, and 4) generating 128-element feature vectors for each keypoint to uniquely describe local image features in a way that is invariant to scale, rotation, and illumination changes. The SIFT algorithm allows for reliable object recognition and image stitching.
The document presents Kisung Kim's Ph.D defense presentation on techniques for processing SPARQL queries over RDF graphs stored in a relational database. It introduces an RDF triple filtering framework called R3F that uses the structural information of RDF graphs to filter irrelevant triples and reduce redundant intermediate results during query processing. Two indices, the RP-index and RG-index, are proposed as part of R3F to provide efficient filtering of triples based on path patterns and subgraph patterns in the RDF graph.
This document provides an overview of a training course on RDF, SPARQL and semantic repositories. The training course took place in August 2010 in Montreal as part of the 3rd GATE training course. The document outlines the modules covered in the course, including introductions to RDF/S and OWL semantics, querying RDF data with SPARQL, semantic repositories and benchmarking triplestores.
SIFT is a scale-invariant feature transform algorithm used to detect and describe local features in images. It detects keypoints that are invariant to scale, rotation, and partially invariant to illumination and viewpoint changes. The algorithm involves 4 main steps: (1) scale-space extrema detection, (2) keypoint localization, (3) orientation assignment, and (4) keypoint descriptor generation. SIFT descriptors provide a feature vector for each keypoint that is highly distinctive and partially invariant to remaining variations.
LinkedGeoData is an effort to add a spatial dimension to the Web of Data / Semantic Web. LinkedGeoData uses the information collected by the OpenStreetMap project and makes it available as an RDF knowledge base according to the Linked Data principles http://linkedgeodata.org
Παρουσίαση για το σεμινάριο “Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data”
Το σεμινάριο διοργανώθηκε από τις Βιβλιοθήκες του Τμήματος Νομικής του ΕΚΠΑ και του Πανεπιστημίου Πειραιώς στις 18 και 19 Ιουνίου 2012, υπό την επιμέλεια της Ομάδας Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων του Εργαστηρίου Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης του Τμήματος Αρχειονομίας - Βιβλιοθηκονομίας του Ιονίου Πανεπιστημίου
Διδάσκοντες:
- Μανόλης Πεπονάκης (MLIS)
- Δρ. Μιχάλης Σφακάκης
- Δρ. Χρήστος Παπαθεοδώρου
This document summarizes key points from 4 articles about using podcasts in education. The first article defines podcasts and their uses and limitations in the classroom. The second describes a professor who records lectures as podcasts, finding it improves learning. The third provides 10 easy steps for teachers to create classroom audio podcasts. The last concludes that podcasting is a useful, engaging, and affordable classroom tool that allows students to review lessons and parents to connect to the classroom.
The document provides examples of representing data in RDF formats including RDF/XML, Notation 3, Turtle and triples. It shows how to represent basic statements and relationships between resources as well as more complex data structures like bags, sequences and collections. Examples are given for converting between the different RDF syntaxes and representing graphs in RDF/XML.
SIFT is a method to automatically detect distinctive keypoints in images that are invariant to scale, orientation, and illumination changes. It works by identifying locations and scales that remain consistent across different views of the same object using scale-space analysis and rejecting unstable points. It then assigns a consistent orientation and creates a keypoint descriptor for each point based on local gradient orientations. These keypoints can then be used to reliably match different views of an object or scene.
Feature Matching using SIFT algorithm; co-authored presentation on Photogrammetry studio by Sajid Pareeth, Gabriel Vincent Sanya, Sonam Tashi and Michael Mutale
The document describes using the Scale Invariant Feature Transform (SIFT) algorithm for sub-image matching. It discusses rejecting the chain code algorithm and instead using SIFT. It then explains the various steps of SIFT including creating scale-space and Difference of Gaussian pyramids, extrema detection, noise elimination, orientation assignment, descriptor computation, and keypoints matching.
The document describes the Scale-invariant feature transform (SIFT) algorithm. It outlines the key steps: 1) constructing scale space by generating blurred images at different scales, 2) calculating difference of Gaussian images to find keypoints, 3) assigning orientations to keypoints, and 4) generating 128-element feature vectors for each keypoint to uniquely describe local image features in a way that is invariant to scale, rotation, and illumination changes. The SIFT algorithm allows for reliable object recognition and image stitching.
The document presents Kisung Kim's Ph.D defense presentation on techniques for processing SPARQL queries over RDF graphs stored in a relational database. It introduces an RDF triple filtering framework called R3F that uses the structural information of RDF graphs to filter irrelevant triples and reduce redundant intermediate results during query processing. Two indices, the RP-index and RG-index, are proposed as part of R3F to provide efficient filtering of triples based on path patterns and subgraph patterns in the RDF graph.
This document provides an overview of a training course on RDF, SPARQL and semantic repositories. The training course took place in August 2010 in Montreal as part of the 3rd GATE training course. The document outlines the modules covered in the course, including introductions to RDF/S and OWL semantics, querying RDF data with SPARQL, semantic repositories and benchmarking triplestores.
SIFT is a scale-invariant feature transform algorithm used to detect and describe local features in images. It detects keypoints that are invariant to scale, rotation, and partially invariant to illumination and viewpoint changes. The algorithm involves 4 main steps: (1) scale-space extrema detection, (2) keypoint localization, (3) orientation assignment, and (4) keypoint descriptor generation. SIFT descriptors provide a feature vector for each keypoint that is highly distinctive and partially invariant to remaining variations.
LinkedGeoData is an effort to add a spatial dimension to the Web of Data / Semantic Web. LinkedGeoData uses the information collected by the OpenStreetMap project and makes it available as an RDF knowledge base according to the Linked Data principles http://linkedgeodata.org
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #6
Nach den theoretischen Grundlagen vom letzten Mal, wenden wir uns nun wieder den eher praktischen Gefielden zu. In der aktuellen Vorlesung beschäftigen wir uns mit RDF(S)-Frameworks aus der Java Welt.
Zunächst wird mit Sesame eines der bekanntesten Frameworks vorgestellt. Durch sein Storage and Inference Layer (SAIL) kann es semantische Daten mit praktisch beliebigen Mechanismen persistieren.
Der Mulgara Semantic Store ist ein Triple Store, der nativ in Java als Triple Store implementiert ist und nicht auf relationale Datenbanken angewiesen ist. Als wichtigstes Feature gibt es bei Mulgara das Resolver-SPI, mit dem es möglich ist, entfernten Content zu integrieren.
Mit dem Topaz Projekt existiert eine Erweiterung zu Mulgara, die die Idee eines Objekt Relational Mappers ala Hibernate in die Semantic Web Welt transferiert.
Abschließend beschäftigen wir uns mit Jena, dem marktführenden Semantic Web Framework, dass ursprünglich von Hewlett Packard als Open Source entwickelt wurde und seit kurzem als OpenJena verfügbar ist. Viele Beispiele demonstrieren, wie man mit dem Jena API die wichtigsten Aufgaben erledigt.
amsl - Ergebnispräsentation der EFRE-FörderphaseBjörn Muschall
Am 26.09.2014 fand in der SLUB Dresden ein 2. amsl Workshop statt. Neben der Ergebnispräsentation der EFRE-Förderphase hatten die Teilnehmer Gelegenheit, die Anwendung zu nutzen.
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #1
Diese Folien wurden in der Einführungsveranstaltung präsentiert. Es wird der Weg des Semantic Web bis heute beschrieben und ein Ausblick darauf gegeben, wo es hinführen soll.
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Georg Rehm
Georg Rehm. Transformieren, Manipulieren, Kuratieren? Technologien für die Wissensarbeit im Netz. KOOP-LITERA International. Konferenz 2017, Berlin, Germany, June 2017. June 20, 2017. Invited talk.
Slides (in German) for a talk of Magnus Pfeffer and Kai Eckert. We propose the linked data/semantic web technology as an infrastructure to publish the results of research projects for easy reuse.
Venture labs creativity course assignment 1 "Things we have in common"Steffen Schloenvoigt
The document provides biographical information about multiple individuals, including details about their places of residence, interests, skills, and family backgrounds. Some individuals mentioned include one who lives in Germany and enjoys skiing, another who resides in Cambodia and speaks multiple languages, and a female living in the UK who has dyed hair and a cat.
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #9+10+11
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.
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #7+8
Im Anschluss an die RDF(S)-Frameworks und einer Übungseinheit, haben wir uns in den letzten beiden Vorlesungen mit dem Thema SPARQL, der SPARQL Protocol And RDF Query Language, befasst.
Dabei wurden folgende Themen behandelt:
* SPARQL Query Language – Anfragesprache
o Erstellen einfacher Anfragen – Wie funktionieren Anfragemuster
o Behandlung von Literalen und Blank Nodes
o Gruppierung von Mustern, optionale Muster, alternative Muster, Kombination
o Filter, Vergleichsoperatore, Funktionen
o Modifikatoren zur Sortierung, Entfernung doppelter Lösungen und zur Aufteilung von Ergebnismengen
o Anfragetypen in SPARQL – SELECT, CONSTRUCT, ASK und DESCRIBE
o RDF Dataset – Default und Named Graphen
* SPARQL Query Result XML Format für SELECT und ASK Anfragen
* SPARQL Protokoll
* Zukünftige Features von SPARQL
o Aggregatfunktionen – COUNT, SUM, AVG etc.
o Subqueries
o Negation
o Project Expressions
o SPARQL Update – RDF Graphen verändern per Query Language
o Dienstbeschreibung
o Übersicht über eventuelle weitere Features
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #5
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 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).
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #4
Nachdem wir mit XML syntaktische Grundlagen und mit RDF das Datenmodell des Semantic Web kennengelernt haben, beschäftigen wir uns nun mit RDF Schema. RDF Schema wird dazu verwendet Vokabularien für RDF zu definieren. Dazu werden Ressourcen in Klassen eingeteilt, welche in Taxonomien hierarchisch geordnet definiert werden. RDFS bedient sich hierbei eines mengentheoretischen Klassenmodels. Da an Prädikatsstelle bei RDF-Triplen ebenfalls Ressourcen zu finden sind, lassen sich diese "Properties" ebenfalls kategorisieren. Durch Einschränkung der Definitions- und Zielbereiche von Properties, lassen sich weitere Aussagen treffen. Desweiteren beschäftigen wir uns mit Reifikation, die uns ermöglich Aussagen über Aussagen zu treffen, Annotation von Ressourcen sowie der Repräsentation von RDF(S)-Dokumenten in den Datenmodellen von XML, RDF und RDFS.
Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.
Veranstaltung #2
Anhand der Markup-Sprache XML wird in einige der syntaktischen Grundlagen des Semantic Web eingeführt. Es wir der grundsätzliche Aufbau von XML Dokumenten erklärt, die Festlegung von Vokabularen mit DOCTYPE-Definitionen und XSDs sowie die Modularisierung von XML mit Hilfe von Namespaces. Ein Exkurs gibt Einblick in den Aufbau und die Verwendung von Uniform Resource Identifiers (URI).
1. Semantic Web Technologien
Lehrveranstaltung
Semantic Web Technologien
SS 2010
HTWG Konstanz
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
2. Sprachen des Semantic Web
RDF
Resource Description Framework
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
3. Sprachen des Semantic Web - RDF
●
XML verwendet Baumstrukturen zur Darstellung von
Informationen
●
Hervorragend geeignet zur Organisation hierarchischer
Daten (Wie beispielsweise in Dokumenten)
●
Baumstrukturen können gezielt durchsucht und
verarbeitet werden
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
4. Sprachen des Semantic Web - RDF
●
Die Baumstruktur von XML hat aber auch Nachteile
– Modellierung von Sachverhalten oft unklar / uneinheitlich
– Beispiel:
●
Das Auto-Modell “Golf” wird von Volkswagen hergestellt:
<stelltHer>
<Hersteller>Volkswagen</Hersteller>
<Modell>Golf</Modell>
</stelltHer>
<Hersteller name=”Volkswagen”>
<stelltHer Modell=”Golf />
</Hersteller>
<Modell>
<Name>Golf</Name>
<Hersteller>Volkswagen</Hersteller>
</Modell>
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
5. Sprachen des Semantic Web - RDF
●
Daraus resultieren diverse Probleme:
– Die Beschreibung der Daten ist nicht intuitiv
– Probleme beim Zusammenführen von Daten aus mehreren
Quellen (Datenintegration)
– Die Informationen im WWW sind dezentral organisiert und
folgen nicht unbedingt einer hierarchischen Struktur
●
=> Baumstruktur ist für das Semantic Web als
Datenmodell nicht geeignet
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
6. Sprachen des Semantic Web - RDF
●
Das Semantic Web verwendet Graphen an Stelle von
Bäumen als Datenmodell
– Menge von Knoten, verbunden durch gerichtete Kanten/Pfeile
– Sowohl Knoten als auch Kanten haben eindeutige Bezeichner
●
Beispiel:
http://example.org/wirdHergestelltVon
http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
●
Dieses Datenmodell wird als RDF (Resource Description
Framework) bezeichnet
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
7. Sprachen des Semantic Web - RDF
●
RDF
– Offizieller Standard des W3C
Alle wichtigen Dokumente dazu unter:
http://www.w3.org/RDF/
– Zunächst nur zur Beschreibung von Metadaten über
Webseiten gedacht
– Codierung von strukturierten Informationen
– Universell, maschinenlesbar, zum Austausch geeignet
– Kann in diverse Formate “serialisiert” werden
(zum Beispiel, aber nicht nur, XML – Dazu später mehr)
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
8. Sprachen des Semantic Web - RDF
●
Bestandteile von RDF
– Ressourcen / Resources
●
Etwas, das beschrieben werden soll → Die Knoten
– Literale / Literals
●
Datenwerte ohne separate Existenz
– Eigenschaften / Properties
●
Die Beziehungen zwischen Ressourcen und anderen Ressourcen
oder Literalen → gerichtete Kanten
– URIs (Uniform Resource Identifiers)
●
Eindeutige Identifizierung von Ressourcen und Properties
– Leere Knoten / Blank Nodes
●
Ressourcen, denen (u.U. noch) keine URI zugewiesen ist
●
Erlauben Aussagen über Dinge, die wir nicht genau
identifizieren können oder wollen
●
Müssen bei der Verarbeitung besonders behandelt werden
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
9. Sprachen des Semantic Web - RDF
●
Literale
– Repräsentation von Datenwerten
– Darstellung von Zeichenketten
– Können einen Datentyp besitzen (siehe XSD)
– Wenn kein Datentyp angegeben wird, behandelt man Literale
meist als Zeichenketten (ist aber nicht genauer definiert)
http://example.org/wirdHergestelltVon
http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
http://example.org/anzahlModellGenerationen
http://example.org/hatFirmensitzIn
http://example.org/wirdProduziertSeit
1974 6 “Wolfsburg”
●
Es können keine Aussagen über Literale getroffen
werden!
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
10. Sprachen des Semantic Web - RDF
●
Probleme:
– Darstellung als Grafik nur sinnvoll, solange der Graph recht
klein ist
●
Praktisch bestehen Datensätze aber aus Tausenden oder
Millionen von Kanten und Knoten
– Zur Verarbeitung in Maschinen denkbar ungeeignet
– Wie speichert man einen Graphen?
●
Lösung
– Zerlegung des Graphen in kleine Bestandteile
– Überführung der Bestandteile in Zeichenketten
– Nacheinander abspeichern
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
11. Sprachen des Semantic Web - RDF
●
Wie unterteilt man Graphen?
– Grundsätzlich mehrere Ansätze möglich
– Im Falle des Semantic Web wird ein Graph in Aussagen
unterteilt
●
→ Bestandteile von RDF Graphen sind
Aussagen/Statements in Form von Triplen
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
12. Sprachen des Semantic Web - RDF
●
RDF-Triple
http://example.org/wirdHergestelltVon
http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
Subjekt Prädikat Objekt
●
Ähnlich wie in der Linguistik
●
Erlaubte Belegung:
– Subjekt: URI oder leerer Knoten
– Prädikat: URI
– Objekt: URI, leerer Knoten oder Literal
●
Durch eindeutige Bezeichnung von Knoten und
Kanten kann ursprünglicher Graph wieder aus
Liste von Triplen rekonstruiert werden
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
13. Sprachen des Semantic Web - RDF
●
Beispiel:
http://example.org/wirdHergestelltVon
http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
http://example.org/anzahlModellGenerationen
http://example.org/hatFirmensitzIn
http://example.org/wirdProduziertSeit
1974 6 “Wolfsburg”
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
15. Sprachen des Semantic Web - RDF
●
Serialisierung von Triplen
– RDF beschränkt sich nicht auf ein einzelnes Format zur
Serialisierung
– N3 / N-Triples / Turtle
●
Simple Auflistung von Triplen
– RDF/XML
●
Serialisierung der Triple nach XML
– RDFa (RDF in attributes)
●
Einbettung von Triplen in (X)HTML
– Und viele andere:
●
TriX
●
TriG
●
RDF/JSON
●
RDF/YAML ;-)
●
...
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
16. Sprachen des Semantic Web - RDF
●
N3 / N-Triples / Turtle
– Darstellung von RDF-Graphen als Ansammlung von Triplen
– N3 (Notation 3)
●
1998 von Tim Berners-Lee vorgeschlagen
●
Beinhaltet auch komplexe Ausdrücke wie Pfade und Regeln
– N-Triples
●
2004 als offizielle Recommendation des W3C verabschiedet
●
Teilmenge von N3 mit weniger Komplexität
– Turtle
●
N-Triples hatte zu wenig Funktionalität
→ Turtle erweitert N-Triples
– z.B. Um eine Kurzschreibweise
– N-Triples und Turtle sind im Wesentlichen Teile von N3
– Sie beschränken sich allerdings auf zulässige RDF-Graphen
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
17. Sprachen des Semantic Web - RDF
●
Turtle-Syntax:
– Triple werden nacheinander niedergeschrieben
– URIs werden in spitze Klammern eingefasst
– Literale werden in Anführungszeichen gestellt
– Jede Aussage endet mit einem Punkt
●
Beispiel:
<http://vw.de/Modelle#Golf> <http://example.org/wirdHergestelltVon>
<http://autohersteller.de/Volkswagen> .
<http://vw.de/Modelle#Golf> <http://example.org/anzahlModellGenerationen> “6” .
<http://vw.de/Modelle#Golf> <http://example.org/wirdProduziertSeit> “1974” .
<http://autohersteller.de/Volkswagen> <http://example.org/hatFirmensitzIn>
“Wolfsburg” .
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
18. Sprachen des Semantic Web - RDF
●
Abkürzung von URIs durch Namespaces
– Zur Vermeidung von Verwechslungen dürfen abgekürzte URIs
nicht mehr in spitzen Klammern notiert werden
– Es empfiehlt sich, verständliche Abkürzungen zu wählen
– Ein Bezeichner “Präfix:Name” wird auch Qname genannt
●
Beispiel:
@prefix ex: <http://example.org/>.
@prefix vwmodell: <http://vw.de/Modelle#> .
@prefix hersteller: <http://autohersteller.de/> .
vwmodell:Golf ex:wirdHergestelltVon hersteller:Volkswagen .
vwmodell:Golf ex:anzahlModellGenerationen “6” .
vwmodell:Golf ex:wirdProduziertSeit “1974” .
hersteller:Volkswagen ex:hatFirmensitzIn “Wolfsburg” .
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
19. Sprachen des Semantic Web - RDF
●
Zusammenfassung von Triplen
– Triple mit dem selben Subjekt können zusammengefasst
werden
●
Subjekt muss dann nur einmal notiert werden
●
Aussagen werden durch Semikolon getrennt
– Gibt es zu einem Subjekt und einem Prädikat mehrere Objekte,
können diese durch Kommata getrennt notiert werden
●
Beispiel:
@prefix ex: <http://example.org/>.
@prefix vwmodell: <http://vw.de/Modelle#> .
@prefix hersteller: <http://autohersteller.de/> .
vwmodell:Golf ex:wirdHergestelltVon hersteller:Volkswagen ;
ex:anzahlModellGenerationen “6” ;
ex:wirdProduziertSeit “1974” .
hersteller:Volkswagen ex:hatFirmensitzIn “Wolfsburg” ;
ex:hatProduktionsstandort “Wolfsburg”,
”Dresden”,
“Bratislava”,
“Pamplona” .
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
20. Sprachen des Semantic Web - RDF
●
RDF/XML
– Turtle ist für Menschen und Maschinen leicht lesbar
– RDF wird trotzdem am häufigsten nach XML serialisiert
– Warum?
●
Fehlende Programmbibliotheken für Turtle
●
Jede Programmiersprache unterstützt XML
●
Oft auch: XML ist man bereits gewohnt!
– Gibt es keine Probleme mit den unterschiedlichen Datenmodellen
(XML-Bäume vs. RDF-Graphen)?
●
NEIN: XML gibt lediglich syntaktische Struktur des Dokuments vor
●
ABER: XML ist hierarchisch aufgebaut
→ Kodierung von RDF-Triplen muss ebenfalls hierarchisch erfolgen
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
21. Sprachen des Semantic Web - RDF
●
RDF/XML Syntax:
– Wurzelelement aller RDF/XML Dokument ist rdf:RDF
( rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#” )
– Ressourcen werden durch Elemente mit dem XML-Name
rdf:Description beschrieben
●
Attribut “about” gibt die URI an
●
Mit Attribut “ID” kann einer Ressource innerhalb eines
Dokuments eine feste ID zugewiesen werden, die von
anderen Triplen referenziert werden kann.
– Eine ID darf nur einmal innerhalb eines Dokuments vorkommen
– Der Wert von “ID” entspricht dem Fragment-Teil einer URI
– “about” und “ID” dürfen nicht gleichzeitig bei einem Description-
Element vorkommen
●
Empfehlung: Auf ID weitestgehend verzichten (Außer bei der
Erstellung von Vokabularen)
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
24. Sprachen des Semantic Web - RDF
●
RDF/XML Beispiel – Weitere Verkürzungen
– Literale können als Attribute dargestellt werden
– rdf:resource zur Referenzierung von Ressourcen
<?xml version=”1.0” encoding=”utf8”?>
<rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22rdfsyntaxns#”
xmlns:ex=”http://example.org/”
xmlns:vwmodell=”http://vw.de/Modelle#”
xmlns:hersteller=”http://autohersteller.de/” >
<rdf:Description rdf:about=”http://vw.de/Modelle#Golf”
ex:anzahlModellGenerationen=”6”
ex:wirdProduziertSeit=”1974” >
<ex:wirdHergestelltVon rdf:resource=”http://www.autohersteller.de/Volkswagen” />
</rdf:Description>
<rdf:Description rdf:about=”http://www.autohersteller.de/Volkswagen”
ex:hatFirmensitzIn=”Wolfsburg” />
</rdf:RDF>
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
25. Sprachen des Semantic Web - RDF
●
ENTITYs zur Abkürzung von URIs
– Durch Definition von ENTITYs (siehe XML-Vorlesung) können
lange Textstrings abgekürzt werden
– Dies können wir in Attributwerten verwenden
<?xml version=”1.0” encoding=”utf8”?>
<!DOCTYPE rdf:RDF [
<!ENTITY rdf "http://www.w3.org/1999/02/22rdfsyntaxns#">
<!ENTITY vwmodell “http://vw.de/Modelle#”>
<!ENTITY hersteller “http://autohersteller.de/”> ]>
<rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22rdfsyntaxns#”
xmlns:ex=”http://example.org/”
xmlns:vwmodell=”http://vw.de/Modelle#”
xmlns:hersteller=”http://autohersteller.de/” >
<rdf:Description rdf:about=”&vwmodell;Golf”>
<ex:wirdHergestelltVon>
<rdf:Description rdf:about=”&hersteller;Volkswagen” >
<ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>
</rdf:Description>
</ex:wirdHergestelltVon>
</rdf:Description>
</rdf:RDF>
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
26. Sprachen des Semantic Web - RDF
●
Darstellung von RDF in XML ist sehr
vielfältig
– RDF/XML Beispiele beschreiben sicher nicht den gleichen
XML-Baum
– Aber den gleichen RDF-Graphen!!!
●
W3C-Validator für RDF-XML:
– http://www.w3.org/RDF/Validator
– Kontrolliert RDF/XML Dokumente auf Gültigkeit
– Gibt in XML-Dokument enthaltene Triple aus
– Kann eine grafische Darstellung des Graphs erstellen:
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
27. Sprachen des Semantic Web - RDF
●
Probleme mit RDF/XML
– URIs enthalten mindestens einen Doppelpunkt (Nach dem Schema)
●
Unzulässig in XML-Namen
→ Namensräume sind elementarer Bestandteil der Codierung
– Namensräume können nur für Element- und Attributnamen verwendet
werden – nicht in Attributwerten
●
Selbe URI muss an verschiedenen Stellen des XML-Dokuments
unterschiedlich notiert werden
– Diverse weitere Probleme
●
Direkt nach ':' (z.B. Bei Element-Namen) darf in XML kein '-' auftauchen
– Obwohl in URIs ohne weiteres erlaubt → Definition von Hilfsnamensräumen
●
Unzulässige Sonderzeichen in URIs werden häufig mit % kodiert
– %20 steht für Leerzeichen usw.
– In Attributwerten unproblematisch – In Element-Namen ist % verboten
●
Die meisten Probleme werden von RDF-Bibliotheken
abgefangen
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
30. Sprachen des Semantic Web - RDF
●
Datentypen für Literale
– Definieren, wie Literale interpretiert werden sollen
– Beispiel: xsd:decimal
Lexikalischer Bereich Wertebereich
“3.14”
3,14
“3.14000”
“+03.14”
-2,5
“-2.5
“100.00” 100
– Bei xsd:decimal gilt “3.14” = “+03.14”
Bei xsd:String gilt das nicht!
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
31. Sprachen des Semantic Web - RDF
●
Datentypen in RDF
– Bisher haben wir “ungetypte” Literale verwendet
→ Verwendung wie Zeichenketten
– Typisierung erlaubt semantischen Umgang mit Werten
– Datentypen werden identifiziert durch URIs
– Datentypen sind frei wählbar
– Datentypen können selbst bestimmt werden
– Meistens verwendet man die xsd-Datentypen
●
Schreibweise von typisierten Attributwerten:
– “Datenwert”^^Datentyp-URI
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
33. Sprachen des Semantic Web - RDF
●
rdf:XMLLiteral wird von RDF vordefiniert
– Bezeichnet (balancierte) XML-Fragmente
– Hat spezielle Syntax in RDF/XML:
<rdf:Description rdf:about=”&vwmodell;Golf”>
<ex:Herstellername rdf:parseType=”Literal”>
<b>VW</b> Volkswagen
</ex:Herstellername>
</rdf:Description>
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
34. Sprachen des Semantic Web - RDF
●
Sprachangaben bei Datentypen
– Können nur bei ungetypten Literalen verwendet werden
→ Entweder Datentyp oder Sprachangabe
– Beispiel:
<rdf:Description rdf:about=”&vwmodell;Golf”>
<ex:ModellName xml:lang=”de”>Golf</ex:ModellName>
<ex:ModellName xml:lang=”en”>Rabbit</ex:ModellName>
</rdf:Description>
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
35. Sprachen des Semantic Web - RDF
●
Mehrwertige Beziehungen
– Kochen mit RDF:
“Für die Zubereitung von Chutney benötigt man 450g grüne
Mango, einen Teelöffel Cayennepfeffer, ...”
– Erster Modellierungsversuch:
@prefix ex: <http://example.org> .
ex:Chutney ex:hatZutat “450g grüne Mango”,
“1TL Cayennepfeffer” .
– Nicht zufriedenstellend, da Zutaten und Menge in einer
Zeichenkette vermischt sind
→ Suche nach Rezepten mit grüner Mango nicht möglich
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
36. Sprachen des Semantic Web - RDF
●
Mehrwertige Beziehungen
– Kochen mit RDF:
“Für die Zubereitung von Chutney benötigt man 450g grüne
Mango, einen Teelöffel Cayennepfeffer, ...”
– Zweiter Modellierungsversuch:
@prefix ex: <http://example.org> .
ex:Chutney ex:hatZutat ex:grueneMango;
ex:Menge “450g” ;
ex:hatZutat ex:Cayennepfeffer;
ex:Menge “1TL” .
– Noch schlimmer, da keine Zuordnung mehr zwischen Menge
und konkreter Zutat mehr möglich ist
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
37. Sprachen des Semantic Web - RDF
●
Problem:
– Es handelt sich um eine echte dreiwertige (auch: ternäre)
Beziehung:
Gericht Zutat Menge
Chutney Grüne Mango 450g
Chutney Cayennepfeffer 1TL
– Direkte Darstellung innerhalb von RDF nicht möglich
– Lösung: Einführung von Hilfsknoten
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
39. Sprachen des Semantic Web - RDF
●
Leere Knoten (Blank Nodes, Bnodes)
– Verwendung für Ressourcen, die eigentlich keine eigene
Identifizierung benötigen
– Häufig verwendet bei Hilfsknoten
– Siehe letztes Beispiel: http://example.org/grueneMango
http://example.org/Zutat
http://example.org/hatZutat
http://example.org/Chutney
http://example.org/Menge
450g
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
42. Sprachen des Semantic Web - RDF
●
Listen in RDF
– Datenstrukturen zur Aufzählung von Ressourcen mit
relevanter Reihenfolge (z.B. Autoren eines Buches)
– Unterscheidung zwischen
●
Offene Listen (Container)
Können jederzeit erweitert werden
●
Geschlossene Listen (Collections)
Neue Einträge können nicht hinzugefügt werden
– Besitzen keine zusätzliche Ausdrucksstärke, da auch mit
bereits behandelten Mitteln modellierbar
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
44. Sprachen des Semantic Web - RDF
– Der Listentyp wird dem Listenknoten mit dem Prädikat
rdf:type zugewiesen
– Folgende Typen sind im RDF definiert:
●
rdf:Seq
georndete Liste (Sequenz)
●
rdf:Bag
ungeordnete Menge, reihenfolge nicht von Belang
●
rdf:Alt
Menge alternativer Möglichkeiten aus denen immer nur eine
Relevanz besitzt
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
45. Sprachen des Semantic Web - RDF
ex:SemanticWeb
●
Collections ex:Autoren
rdf:first
ex:Hitzler
rdf:rest
rdf:first
ex:Krötzsch
rdf:rest
rdf:first
ex:Rudolph
rdf:rest
rdf:first ex:Sure
rdf:rest
rdf:nil
●
Zerlegung der Liste in Kopfelemente und Restliste
●
Wenn Restliste = rdf:nil, ist das Ende erreicht
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
47. Sprachen des Semantic Web - RDF
●
Verbreitung von RDF
– Große Anzahl an Tools und Bibliotheken für RDF
●
Die meisten davon frei (Open Source) verfügbar
– Es existieren diverse Systeme zum effizienten Umgang mit
riesigen RDF-codierten-Datenmengen
●
Sogenannte Triple-Stores
– Auch kommerzielle Anbieter wie Oracle implementieren
zunehmend RDF-Unterstützung
– Diverse Datenformate basieren auf RDF:
●
RSS 1.0
●
XMP (Adobe)
●
SVG
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
48. Sprachen des Semantic Web - RDF
●
Bewertung
– Etablierter und gut unterstützter Standard zur Speicherung
und zum Austausch von Daten
– Weitgehend syntaxunabhängige Darstellung durch
abstraktes, graphenbasiertes Datenmodell
– Gut geeignet zur Vereinigung von Daten aus verschiedenen
Quellen
●
Kritik
– Reines RDF codiert eigentlich nur Informationen über
Individuen / Ressourcen
– Es besteht praktisch keine Möglichkeit zur Codierung von
Schemawissen → Siehe RDF Schema
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
49. Sprachen des Semantic Web - RDF
Noch Fragen ?
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
50. Sprachen des Semantic Web - XML
●
Literatur:
– Buch “Semantic Web Grundlagen”, Springer Verlag 2008
Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure
ISBN: 978-3-540-33993-9
– RDF Webseite
http://www.w3.org/RDF/
– Resource Description Framework Primer
F. Manola, E. Miller
W3C Recommendation, 10th February 2004
http://www.w3.org/TR/rdf-primer
– RDF Planet – Blogs zum Thema RDF / Semantic Web
http://www.planetrdf.com/
Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF