3 - Sprachen Des Semantic Web - RDF

download 3 - Sprachen Des Semantic Web - RDF

If you can't read please download the document

Transcript of 3 - Sprachen Des Semantic Web - RDF

Semantic Web Technologien - Sprachen des Semantic Web - RDF

Semantic Web Technologien

LehrveranstaltungSemantic Web TechnologienWS 2009/10 HTWG Konstanz

Sprachen des Semantic Web

RDFResource 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 knnen gezielt durchsucht und verarbeitet werden

Sprachen des Semantic Web - RDF

Die Baumstruktur von XML hat aber auch NachteileModellierung von Sachverhalten oft unklar / uneinheitlich

Beispiel:Das Auto-Modell Golf wird von Volkswagen hergestellt:


Volkswagen
Golf







Golf
Volkswagen

Sprachen des Semantic Web - RDF

Daraus resultieren diverse Probleme:

Die Beschreibung der Daten ist nicht intuitiv

Probleme beim Zusammenfhren von Daten aus mehreren Quellen (Datenintegration)

Die Informationen im WWW sind dezentral organisiert und folgen nicht unbedingt einer hierarchischen Struktur

=> Baumstruktur ist fr das Semantic Web als Datenmodell nicht geeignet

Sprachen des Semantic Web - RDF

Das Semantic Web verwendet Graphen an Stelle von Bumen als DatenmodellMenge 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://vw.de/Modelle#Golfhttp://autohersteller.de/Volkswagen

http://example.org/wirdHergestelltVon

Sprachen des Semantic Web - RDF

RDFOffizieller Standard des W3C
Alle wichtigen Dokumente dazu unter:http://www.w3.org/RDF/

Zunchst 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 spter mehr)

Sprachen des Semantic Web - RDF

Bestandteile von RDFRessourcen / ResourcesEtwas, das beschrieben werden soll Die Knoten

Literale / LiteralsDatenwerte ohne separate Existenz

Eigenschaften / PropertiesDie Beziehungen zwischen Ressourcen und anderen Ressourcen oder Literalen gerichtete Kanten

URIs (Uniform Resource Identifiers)Eindeutige Identifizierung von Ressourcen und Properties

Leere Knoten / Blank NodesRessourcen, denen (u.U. noch) keine URI zugewiesen ist

Erlauben Aussagen ber Dinge, die wir nicht genau identifizieren knnen oder wollen

Mssen bei der Verarbeitung besonders behandelt werden

Sprachen des Semantic Web - RDF

LiteraleReprsentation von Datenwerten

Darstellung von Zeichenketten

Knnen einen Datentyp besitzen (siehe XSD)

Wenn kein Datentyp angegeben wird, behandelt man Literale meist als Zeichenketten (ist aber nicht genauer definiert)








Es knnen keine Aussagen ber Literale getroffen werden!

http://vw.de/Modelle#Golfhttp://autohersteller.de/Volkswagen

http://example.org/wirdHergestelltVon

Wolfsburg

http://example.org/hatFirmensitzIn

1974

http://example.org/wirdProduziertSeit

6

http://example.org/anzahlModellGenerationen

Sprachen des Semantic Web - RDF

Probleme:Darstellung als Grafik nur sinnvoll, solange der Graph recht klein istPraktisch bestehen Datenstze aber aus Tausenden oder Millionen von Kanten und Knoten

Zur Verarbeitung in Maschinen denkbar ungeeignet

Wie speichert man einen Graphen?

LsungZerlegung des Graphen in kleine Bestandteile

berfhrung der Bestandteile in Zeichenketten

Nacheinander abspeichern


Sprachen des Semantic Web - RDF

Wie unterteilt man Graphen?Grundstzlich mehrere Anstze mglich

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

Prdikat: URI

Objekt:URI, leerer Knoten oder Literal

Durch eindeutige Bezeichnung von Knoten und Kanten kann ursprnglicher Graph wieder aus Liste von Triplen rekonstruiert werden

http://vw.de/Modelle#Golfhttp://autohersteller.de/Volkswagen

http://example.org/wirdHergestelltVon

Prdikat

Objekt

Subjekt

Sprachen des Semantic Web - RDF

Beispiel:

http://vw.de/Modelle#Golfhttp://autohersteller.de/Volkswagen

http://example.org/wirdHergestelltVon

Wolfsburg

http://example.org/hatFirmensitzIn

1974http://example.org/wirdProduziertSeit

6http://example.org/anzahlModellGenerationen

http://autohersteller.de/Volkswagen

http://vw.de/Modelle#Golfhttp://vw.de/Modelle#Golf

Sprachen des Semantic Web - RDF

Serialisierung von TriplenRDF beschrnkt sich nicht auf ein einzelnes Format zur Serialisierung

N3 / N-Triples / TurtleSimple Auflistung von Triplen

RDF/XMLSerialisierung 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 / TurtleDarstellung von RDF-Graphen als Ansammlung von Triplen

N3 (Notation 3)1998 von Tim Berners-Lee vorgeschlagen

Beinhaltet auch komplexe Ausdrcke wie Pfade und Regeln

N-Triples2004 als offizielle Recommendation des W3C verabschiedet

Teilmenge von N3 mit weniger Komplexitt

TurtleN-Triples hatte zu wenig Funktionalitt Turtle erweitert N-Triplesz.B. Um eine Kurzschreibweise

N-Triples und Turtle sind im Wesentlichen Teile von N3

Sie beschrnken sich allerdings auf zulssige RDF-Graphen

Sprachen des Semantic Web - RDF

Turtle-Syntax:Triple werden nacheinander niedergeschrieben

URIs werden in spitze Klammern eingefasst

Literale werden in Anfhrungszeichen gestellt

Jede Aussage endet mit einem Punkt

Beispiel:


.
6 .
1974 .

Wolfsburg .

Sprachen des Semantic Web - RDF

Abkrzung von URIs durch NamespacesZur Vermeidung von Verwechslungen drfen abgekrzte URIs nicht mehr in spitzen Klammern notiert werden

Es empfiehlt sich, verstndliche Abkrzungen zu whlen

Ein Bezeichner Prfix:Name wird auch Qname genannt

Beispiel:

@prefix ex: .
@prefix vwmodell: .
@prefix hersteller: .

vwmodell:Golfex:wirdHergestelltVon hersteller:Volkswagen .
vwmodell:Golfex:anzahlModellGenerationen6 .
vwmodell:Golfex:wirdProduziertSeit1974 .
hersteller:Volkswagenex:hatFirmensitzInWolfsburg .

Sprachen des Semantic Web - RDF

Zusammenfassung von TriplenTriple mit dem selben Subjekt knnen zusammengefasst werdenSubjekt muss dann nur einmal notiert werden

Aussagen werden durch Semikolon getrennt

Gibt es zu einem Subjekt und einem Prdikat mehrere Objekte, knnen diese durch Kommata getrennt notiert werden

Beispiel:

@prefix ex: .
@prefix vwmodell: .
@prefix hersteller: .

vwmodell:Golfex:wirdHergestelltVon hersteller:Volkswagen ;
ex:anzahlModellGenerationen6 ;
ex:wirdProduziertSeit1974 .
hersteller:Volkswagenex:hatFirmensitzInWolfsburg ;
ex:hatProduktionsstandortWolfsburg,
Dresden,
Bratislava,
Pamplona .

Sprachen des Semantic Web - RDF

RDF/XMLTurtle ist fr Menschen und Maschinen leicht lesbar

RDF wird trotzdem am hufigsten nach XML serialisiert

Warum? Fehlende Programmbibliotheken fr Turtle

Jede Programmiersprache untersttzt XML

Oft auch: XML ist man bereits gewohnt!

Gibt es keine Probleme mit den unterschiedlichen Datenmodellen (XML-Bume 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

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 beschriebenAttribut 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 drfen nicht gleichzeitig bei einem Description-Element vorkommen

Empfehlung: Auf ID weitestgehend verzichten (Auer bei der Erstellung von Vokabularen)

Sprachen des Semantic Web - RDF

RDF/XML Beispiel:









6


1974


Wolfsburg


Sprachen des Semantic Web - RDF

RDF/XML Beispiel - Zusammenfassung:






Wolfsburg


6
1974


Sprachen des Semantic Web - RDF

RDF/XML Beispiel Weitere VerkrzungenLiterale knnen als Attribute dargestellt werden

rdf:resource zur Referenzierung von Ressourcen








Sprachen des Semantic Web - RDF

ENTITYs zur Abkrzung von URIsDurch Definition von ENTITYs (siehe XML-Vorlesung) knnen lange Textstrings abgekrzt werden

Dies knnen wir in Attributwerten verwenden



]>




Wolfsburg





Sprachen des Semantic Web - RDF

Darstellung von RDF in XML ist sehr vielfltigRDF/XML Beispiele beschreiben sicher nicht den gleichen XML-Baum

Aber den gleichen RDF-Graphen!!!

W3C-Validator fr RDF-XML:http://www.w3.org/RDF/Validator

Kontrolliert RDF/XML Dokumente auf Gltigkeit

Gibt in XML-Dokument enthaltene Triple aus

Kann eine grafische Darstellung des Graphs erstellen:

Sprachen des Semantic Web - RDF

Probleme mit RDF/XMLURIs enthalten mindestens einen Doppelpunkt (Nach dem Schema) Unzulssig in XML-Namen Namensrume sind elementarer Bestandteil der Codierung

Namensrume knnen nur fr Element- und Attributnamen verwendet werden nicht in AttributwertenSelbe URI muss an verschiedenen Stellen des XML-Dokuments unterschiedlich notiert werden

Diverse weitere ProblemeDirekt nach ':' (z.B. Bei Element-Namen) darf in XML kein '-' auftauchenObwohl in URIs ohne weiteres erlaubt Definition von Hilfsnamensrumen

Unzulssige Sonderzeichen in URIs werden hufig mit % kodiert%20 steht fr Leerzeichen usw.

In Attributwerten unproblematisch In Element-Namen ist % verboten

Die meisten Probleme werden von RDF-Bibliotheken abgefangen

Sprachen des Semantic Web - RDF

XHTML+RDFa Beispiel



XHTML+RDFa Beispiel



Golf
Aktuelle Modellgeneration:
6
Prokuktionsbeginn:
1974
Hersteller:

Volkswagen
Firmensitz:
Wolfsburg




Sprachen des Semantic Web - RDF

TriX Beispiel:



http://example.org/graph1

vwmodell:Golf
ex:wirdHergestelltVon
hersteller:Volkswagen


vwmodell:Golf
ex:anzahlModellGenerationen
6


vwmodell:Golf
ex:wirdProduziertSeit
1974


hersteller:Volkswagen
ex:hatFirmensitzIn
Wolfsburg



Sprachen des Semantic Web - RDF

Datentypen fr LiteraleDefinieren, wie Literale interpretiert werden sollen

Beispiel: xsd:decimal








Bei xsd:decimal gilt 3.14 = +03.14Bei xsd:String gilt das nicht!

3.14

3.14000

+03.14

-2.5

100.00

3,14

-2,5

100

Lexikalischer Bereich

Wertebereich

Sprachen des Semantic Web - RDF

Datentypen in RDFBisher haben wir ungetypte Literale verwendet Verwendung wie Zeichenketten

Typisierung erlaubt semantischen Umgang mit Werten

Datentypen werden identifiziert durch URIs

Datentypen sind frei whlbar

Datentypen knnen selbst bestimmt werden

Meistens verwendet man die xsd-Datentypen

Schreibweise von typisierten Attributwerten:Datenwert^^Datentyp-URI

Sprachen des Semantic Web - RDF

Datentypen-Beispiel:



Turtle:
@prefix xsd: .


1981-06-21^^xsd:date .

XML


1981-06-21

http://example.org/persons#123431981-06-21^^http://www.w3.org/2001/XMLSchema#date

http://example.org/Geburtstag

Sprachen des Semantic Web - RDF

rdf:XMLLiteral wird von RDF vordefiniert

Bezeichnet (balancierte) XML-Fragmente

Hat spezielle Syntax in RDF/XML:





VW - Volkswagen

Sprachen des Semantic Web - RDF

Sprachangaben bei Datentypen

Knnen nur bei ungetypten Literalen verwendet werden Entweder Datentyp oder Sprachangabe

Beispiel:


Golf
Rabbit

Sprachen des Semantic Web - RDF

Mehrwertige BeziehungenKochen mit RDF:
Fr die Zubereitung von Chutney bentigt man 450g grne Mango, einen Teelffel Cayennepfeffer, ...

Erster Modellierungsversuch:

@prefix ex: .
ex:Chutneyex:hatZutat450g grne Mango,
1TL Cayennepfeffer .

Nicht zufriedenstellend, da Zutaten und Menge in einer Zeichenkette vermischt sind Suche nach Rezepten mit grner Mango nicht mglich

Sprachen des Semantic Web - RDF

Mehrwertige BeziehungenKochen mit RDF:
Fr die Zubereitung von Chutney bentigt man 450g grne Mango, einen Teelffel Cayennepfeffer, ...

Zweiter Modellierungsversuch:

@prefix ex: .
ex:Chutneyex:hatZutatex:grueneMango;
ex:Menge450g ;
ex:hatZutatex:Cayennepfeffer;
ex:Menge1TL .

Noch schlimmer, da keine Zuordnung mehr zwischen Menge und konkreter Zutat mehr mglich ist

Sprachen des Semantic Web - RDF

Problem:Es handelt sich um eine echte dreiwertige (auch: ternre) Beziehung:






Direkte Darstellung innerhalb von RDF nicht mglich

Lsung: Einfhrung von Hilfsknoten

GerichtZutatMenge

ChutneyGrne Mango450g

ChutneyCayennepfeffer1TL

Sprachen des Semantic Web - RDF

Darstellung als Graph:





Turtle Syntax (verwendet rdf:value):
@prefix ex: .
@prefix rdf: .
ex:Chutneyex:hatZutatex:ChutneyZutat1 .
ex:ChutneyZutat1rdf:valueex:grueneMango ;
ex:Menge450g .

http://example.org/Chutneyhttp://example.org/ChutneyZutat1

http://example.org/hatZutat

450ghttp://example.org/Menge

http://example.org/Zutat

http://example.org/grueneMango

Sprachen des Semantic Web - RDF

Leere Knoten (Blank Nodes, Bnodes)Verwendung fr Ressourcen, die eigentlich keine eigene Identifizierung bentigen

Hufig verwendet bei Hilfsknoten

Siehe letztes Beispiel:

http://example.org/Chutney

http://example.org/hatZutat

450ghttp://example.org/Menge

http://example.org/Zutat

http://example.org/grueneMango

Sprachen des Semantic Web - RDF

Leere KnotenRDF/XML-Syntax






450g

Verkrzt




450g

Sprachen des Semantic Web - RDF

Leere KnotenTurtle-Syntax

@prefix ex: .
ex:Chutney ex:hatZutat _:id1 .
_:id1 ex:Zutat ex:grueneMango ;
ex:Menge 450g.

Verkrzt

@prefix ex: .
ex:Chutney ex:hatZutat [ex:Zutat ex:grueneMango ;
ex:Menge 450g ].

Sprachen des Semantic Web - RDF

Listen in RDFDatenstrukturen zur Aufzhlung von Ressourcen mit relevanter Reihenfolge (z.B. Autoren eines Buches)

Unterscheidung zwischenOffene Listen (Container)
Knnen jederzeit erweitert werden

Geschlossene Listen (Collections)
Neue Eintrge knnen nicht hinzugefgt werden

Besitzen keine zustzliche Ausdrucksstrke, da auch mit bereits behandelten Mitteln modellierbar

Sprachen des Semantic Web - RDF

Graph




In RDF/XML (verkrzt)









ex:Rudolph

ex:Autoren

rdf:Seq

rdf:type

rdf:_1

ex:Hitzlerex:Krtzschex:SemanticWebex:Sure

rdf:_2

rdf:_3

rdf:_4

Sprachen des Semantic Web - RDF

Der Listentyp wird dem Listenknoten mit dem Prdikat 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 Mglichkeiten aus denen immer nur eine Relevanz besitzt

Sprachen des Semantic Web - RDF

Collections








Zerlegung der Liste in Kopfelemente und Restliste

Wenn Restliste = rdf:nil, ist das Ende erreicht

ex:Rudolph

ex:Autoren

rdf:nilrdf:first

ex:Hitzlerex:Krtzschex:SemanticWebex:Sure

rdf:rest

rdf:rest

rdf:rest

rdf:rest

rdf:first

rdf:first

rdf:first

Sprachen des Semantic Web - RDF

CollectionsRDF/XML-Syntax








Turtle

@prefix ex: .
ex:SemanticWebex:Autoren( ex:Hitzler ex:Krtzsch
ex:Rudolph ex:Sure ) .

Sprachen des Semantic Web - RDF

Verbreitung von RDF

Groe Anzahl an Tools und Bibliotheken fr RDFDie meisten davon frei (Open Source) verfgbar

Es existieren diverse Systeme zum effizienten Umgang mit riesigen RDF-codierten-DatenmengenSogenannte Triple-Stores

Auch kommerzielle Anbieter wie Oracle implementieren zunehmend RDF-Untersttzung

Diverse Datenformate basieren auf RDF:RSS 1.0

XMP (Adobe)

SVG

Sprachen des Semantic Web - RDF

BewertungEtablierter und gut untersttzter Standard zur Speicherung und zum Austausch von Daten

Weitgehend syntaxunabhngige Darstellung durch abstraktes, graphenbasiertes Datenmodell

Gut geeignet zur Vereinigung von Daten aus verschiedenen Quellen

KritikReines RDF codiert eigentlich nur Informationen ber Individuen / Ressourcen

Es besteht praktisch keine Mglichkeit zur Codierung von Schemawissen Siehe RDF Schema

Sprachen des Semantic Web - RDF

Noch Fragen ?

Sprachen des Semantic Web - XML

Literatur:Buch Semantic Web Grundlagen, Springer Verlag 2008
Pascal Hitzler, Markus Krtzsch, 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/

Titel

23456789

Semantic Web Technologien

RDF

Steffen Schlnvoigt, HTWG Konstanz, Wintersemester 2009/10