Semantic Web Technologien Lehrveranstaltung Semantic Web Technologien WS 2009/10  HTWG Konstanz
Sprachen des Semantic Web RDF Resource Description Framework
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
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>
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
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:
Dieses Datenmodell wird als RDF (Resource Description Framework) bezeichnet http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
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)
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
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) Es können keine Aussagen über Literale getroffen werden! http://example.org/wirdHergestelltVon http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit http://example.org/anzahlModellGenerationen http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen “ Wolfsburg” 1974 6
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
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
Sprachen des Semantic Web - RDF RDF-Triple
Ä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 http://example.org/wirdHergestelltVon Prädikat Objekt Subjekt http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
Sprachen des Semantic Web - RDF Beispiel: http://example.org/wirdHergestelltVon http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit http://example.org/anzahlModellGenerationen http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen “ Wolfsburg” 1974 6 http://autohersteller.de/Volkswagen http://vw.de/Modelle#Golf http://vw.de/Modelle#Golf
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  ;-)
...
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

3 - Sprachen Des Semantic Web - RDF

  • 1.
    Semantic Web TechnologienLehrveranstaltung Semantic Web Technologien WS 2009/10 HTWG Konstanz
  • 2.
    Sprachen des SemanticWeb RDF Resource Description Framework
  • 3.
    Sprachen des SemanticWeb - RDF XML verwendet Baumstrukturen zur Darstellung von Informationen
  • 4.
    Hervorragend geeignet zurOrganisation hierarchischer Daten (Wie beispielsweise in Dokumenten)
  • 5.
    Baumstrukturen können gezieltdurchsucht und verarbeitet werden
  • 6.
    Sprachen des SemanticWeb - RDF Die Baumstruktur von XML hat aber auch Nachteile Modellierung von Sachverhalten oft unklar / uneinheitlich
  • 7.
    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>
  • 8.
    Sprachen des SemanticWeb - RDF Daraus resultieren diverse Probleme: Die Beschreibung der Daten ist nicht intuitiv
  • 9.
    Probleme beim Zusammenführenvon Daten aus mehreren Quellen (Datenintegration)
  • 10.
    Die Informationen imWWW sind dezentral organisiert und folgen nicht unbedingt einer hierarchischen Struktur => Baumstruktur ist für das Semantic Web als Datenmodell nicht geeignet
  • 11.
    Sprachen des SemanticWeb - RDF Das Semantic Web verwendet Graphen an Stelle von Bäumen als Datenmodell Menge von Knoten, verbunden durch gerichtete Kanten/Pfeile
  • 12.
    Sowohl Knoten alsauch Kanten haben eindeutige Bezeichner Beispiel:
  • 13.
    Dieses Datenmodell wirdals RDF (Resource Description Framework) bezeichnet http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
  • 14.
    Sprachen des SemanticWeb - RDF RDF Offizieller Standard des W3C Alle wichtigen Dokumente dazu unter: http://www.w3.org/RDF/
  • 15.
    Zunächst nur zurBeschreibung von Metadaten über Webseiten gedacht
  • 16.
  • 17.
  • 18.
    Kann in diverseFormate “serialisiert” werden (zum Beispiel, aber nicht nur, XML – Dazu später mehr)
  • 19.
    Sprachen des SemanticWeb - 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
  • 20.
    Erlauben Aussagen überDinge, die wir nicht genau identifizieren können oder wollen
  • 21.
    Müssen bei derVerarbeitung besonders behandelt werden
  • 22.
    Sprachen des SemanticWeb - RDF Literale Repräsentation von Datenwerten
  • 23.
  • 24.
    Können einen Datentypbesitzen (siehe XSD)
  • 25.
    Wenn kein Datentypangegeben wird, behandelt man Literale meist als Zeichenketten (ist aber nicht genauer definiert) Es können keine Aussagen über Literale getroffen werden! http://example.org/wirdHergestelltVon http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit http://example.org/anzahlModellGenerationen http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen “ Wolfsburg” 1974 6
  • 26.
    Sprachen des SemanticWeb - 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
  • 27.
    Wie speichert maneinen Graphen? Lösung Zerlegung des Graphen in kleine Bestandteile
  • 28.
  • 29.
  • 30.
    Sprachen des SemanticWeb - RDF Wie unterteilt man Graphen? Grundsätzlich mehrere Ansätze möglich
  • 31.
    Im Falle desSemantic Web wird ein Graph in Aussagen unterteilt -> Bestandteile von RDF Graphen sind Aussagen/Statements in Form von Triplen
  • 32.
    Sprachen des SemanticWeb - RDF RDF-Triple
  • 33.
    Ähnlich wie inder Linguistik
  • 34.
    Erlaubte Belegung: Subjekt:URI oder leerer Knoten
  • 35.
  • 36.
    Objekt: URI, leererKnoten oder Literal Durch eindeutige Bezeichnung von Knoten und Kanten kann ursprünglicher Graph wieder aus Liste von Triplen rekonstruiert werden http://example.org/wirdHergestelltVon Prädikat Objekt Subjekt http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen
  • 37.
    Sprachen des SemanticWeb - RDF Beispiel: http://example.org/wirdHergestelltVon http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit http://example.org/anzahlModellGenerationen http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen “ Wolfsburg” 1974 6 http://autohersteller.de/Volkswagen http://vw.de/Modelle#Golf http://vw.de/Modelle#Golf
  • 38.
    Sprachen des SemanticWeb - RDF Serialisierung von Triplen RDF beschränkt sich nicht auf ein einzelnes Format zur Serialisierung
  • 39.
    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
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
    Sprachen des SemanticWeb - RDF N3 / N-Triples / Turtle Darstellung von RDF-Graphen als Ansammlung von Triplen
  • 45.
    N3 (Notation 3)1998 von Tim Berners-Lee vorgeschlagen
  • 46.
    Beinhaltet auch komplexeAusdrücke wie Pfade und Regeln N-Triples 2004 als offizielle Recommendation des W3C verabschiedet
  • 47.
    Teilmenge von N3mit weniger Komplexität Turtle N-Triples hatte zu wenig Funktionalität
  • 48.
    -> Turtle erweitertN-Triples z.B. Um eine Kurzschreibweise N-Triples und Turtle sind im Wesentlichen Teile von N3
  • 49.
    Sie beschränken sichallerdings auf zulässige RDF-Graphen