Benjamin Nowack, semsol
Semantic Web – Technik und Einsatz
Benjamin Nowack, semsol 2008-05-27 2
Semantic Web – Technik und Einsatz
• In dieser Session:– Informationsaustausch (allgemein und im Web)– Semantic Web: Idee und Ziele
– Technische Anforderungen (+ Nice2Haves)
– SemWeb konkret• (am Beispiel der webinale/DLW/IPC-Seiten)
Benjamin Nowack, semsol 2008-05-27 3
Informationsaustausch
Information Information
Data
DecodingEncoding
Benjamin Nowack, semsol 2008-05-27 4
Dekodierung von Daten
1.(Er)kennen des Mediums– Ton, Bild, Text, Video, ...
2.Entschlüsselung der Strukturen/Signale– mehrschichtig (z.B. E-Mail - .doc - Text -
deutsch)
3.Erkennen der Semantik (Bedeutung)– z.B. Einladung
Information = Daten + Syntax + Semantik
Benjamin Nowack, semsol 2008-05-27 5
Von Information zu Wissen
• Wissen = Kombination von Informationen„Einladung zum 30sten“
+ „Wir haben das Jahr 2008“
=> „Geburtsjahr ist 1978“
+ „Mein Geburtsjahr ist 1973“
+ „1973 liegt vor 1978“
=> „Ich bin älter“
Begriff der „Inferenz“
Benjamin Nowack, semsol 2008-05-27 6
Das Web vereinfacht Wissensprozesse
• vereinheitlichtes Medium (Internet)
• vereinheitlichte Basis-Formate (z.B. HTML)
• vereinheitlichter Datentransfer (HTTP)
• globaler Zugriff (URIs)
• Verknüpung von Informationsquellen (Links)
Computer helfen beim Datenaustausch und der Datenaufbereitung
Benjamin Nowack, semsol 2008-05-27 7
Grenzen für Computer im Web (bisher)
• Lediglich Zugriff auf Dokumente (= Daten), prinzipiell nicht auf Informationen in den Dokumenten– z.B. klassische Volltext-Suche
• Semantik bestimmter Strukturen ist begrenzt und zentral vorgegeben– z.B. <title>, <hx>...</hx>, GET/POST
„No Semantics - No Party“ (humans only)
Benjamin Nowack, semsol 2008-05-27 8
Für Computer nur ein Dokument
Menschen erschließt sich (u.U.) die Semantik
Benjamin Nowack, semsol 2008-05-27 9
Semantic Web: Idee und Ziele
Was wäre, wenn ...
wir Web-Inhalte feiner strukturieren könnten als bisher, auch für Computer?
Vom „Web of Documents“ zum „Web of Data“
Benjamin Nowack, semsol 2008-05-27 10
Semantic Web: Das Web als Datenbank
• „The new bit in the Semantic Web isn't the semantics, it's the Web“ (Jim Hendler)– Bessere Filtermöglichkeiten– (teil-)automatisierte Informationsverarbeitung
• z.B. Produktsuche und -vergleich– vereinfachter Datenaustausch– Erkennen relevanter Verknüpungen und
Zusammenhänge• z.B. Expertensuche
=> Zeit- und Kostenersparnis (Effi zienz!)
Benjamin Nowack, semsol 2008-05-27 11
„A little semantics goes a long way“
• PageRank– Link = Relevanz
• Bilder- und Video-Suche– Typisierung von Dateien + Tags oder Titel
• News-Verteilung über RSS/Atom– Datum, Schlagworte, Quelle/Feed
• ...
ROI und Upgrade-Pfade beachten!
Benjamin Nowack, semsol 2008-05-27 12
Neue technische Anforderungen
• Feinere inhaltliche Strukturen– vorgegeben oder frei definierbar?
• Syntax zur Kodierung der neuen Strukturen– einfach, universell, separat?
• Bereitstellung der Semantik d. n. Strukturen– einheitlich, maschinenlesbar, verknüpfbar?
• Dekodier-Software („Parser“ und Co.)– universell?
– automatische anschließende Verarbeitung?
Benjamin Nowack, semsol 2008-05-27 13
SemWeb konkret
• Namen und Fotos aller Speaker von webinale, DLW und IPC
• Alle Sessions von webinale, DLW und IPC
• Alle Sessions zum Thema X
• (Potentielle) Experten zum Thema X
• ...
Benjamin Nowack, semsol 2008-05-27 14
microformats
• Nutzen und erweitern die Semantik von HTML-Elementen– (z.B. <img class=“photo“ ... />)
• Vorgebene Menge an Formaten– hCard, hCalendar, hReview, geo, adr, hAtom...
• zentralisierter „Prozess“
• gewisse Kombination („Nesting“) ist möglich
• kleine Markup-Änderungen - große Wirkung
Benjamin Nowack, semsol 2008-05-27 15
hCard-Markup für Speaker
<div id="speaker" class=“vcard“>
<h3><span class=“fn“>Benjamin Nowack</span>
<span class="company org organization-name">semsol web semantics</span>
</h3>
<p>
<span class="pic float_left">
<img class=“photo“ src="...2043.jpg" />
</span>
Benjamin Nowack ist ...
</p>
...
</div>
http://createordie.de/webinale/speaker.php
Benjamin Nowack, semsol 2008-05-27 16
hCalendar-Markup für Sessions
<td class="webinale vevent">
<div class="language deutsch"></div>
<div class="title summary">
<a class=“url“
href="javascript:NF('http://...id=7448')">
Semantic Web – Technik und Einsatz
</a>
</div>
<div class="speaker">Benjamin Nowack
</td>
http://it-republik.de/konferenzen/planer/webinale08_zeitplaner.html
Benjamin Nowack, semsol 2008-05-27 17
Operator microformats extractor
Funktioniert super für einzelne Seiten
Benjamin Nowack, semsol 2008-05-27 18
RDF - Resource Description Framework
• Framework, nicht nur Format– Modell, Abfragesprache, Formate, ...
• Beschreiben beliebiger Daten(-Strukturen)
• Aggregation und Integration
• Die Basis-Elemente sind „Triples“ (3-Tupel):– Subject, Predicate, Object
– <#event12> dc:title „Semantic Web“
• Mehrere Tripel bilden einen Graph
• URIs, URIs, URIs
Benjamin Nowack, semsol 2008-05-27 19
RDF Modell und Turtle Syntax
<#alec> foaf:name “Alec Tronnik” ; corp:attendsTo <kunden#x> .
<kunden#x> corp:mainContact _:bn1 ._:bn1 foaf:name “Peer Schäck” ....
Benjamin Nowack, semsol 2008-05-27 20
RDF-Tools können µFormats einlesen
• Speaker vCards z.B. als foaf:Person/Agent– foaf = http://xmlns.com/foaf/0.1/
• Sessions als RDF/iCal Vevents– cal = http://www.w3.org/2002/12/cal#
• Es gibt Online-Konvertierer und µF-Parser in einigen RDF Toolkits– triplr.org
– Virtuoso Sponger– ARC2
Benjamin Nowack, semsol 2008-05-27 21
SPARQL - SQL für das Web
• „SPARQL Protocol and RDF Query Language“
• Erweitert das Tripel-Modell zu Quads– Kontext, Quelle, Container, ...
• Lese-Zugriff auf RDF-Speicher– Select, Describe, Construct, Ask– Kann als Regelsystem verwendet
werden• SPARQL Update entsteht derzeit noch
Benjamin Nowack, semsol 2008-05-27 22
SPARQL LOAD (in ARC via SPARQL+)
LOAD <http://localhost/webinale/run/speakers/webinale>
415 triples
LOAD <http://localhost/webinale/run/speakers/ipc>
67 triples
LOAD <http://localhost/webinale/run/speakers/dlw>
161 triples
Benjamin Nowack, semsol 2008-05-27 23
SPARQL SELECT
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT DISTINCT ?name WHERE { ?s a foaf:Agent . ?s foaf:name ?name .}ORDER BY ?name
Aber: Keine richtige Möglichkeit, Speaker als solche zu identifizieren, oder ihre Sessions.
Benjamin Nowack, semsol 2008-05-27 24
RDFa - Beliebige Strukturen in HTML
• „a“ für „in Attributes“:– @typeof, @about, @rel, @resource, ...
• frei wählbare Vokabulare (über XML Namespace Syntax)
• komplizierter als µFs, eignet sich aber sehr gut für „glue data“– z.B. Typisierung von Speakern, oder zur
Verknüpfung von Speakern und Sessions
• „Linked Data Enabler“
Benjamin Nowack, semsol 2008-05-27 25
RDF Schema
• „RDF Vocabulary Description Language“• Basis-Elemente „Class“ und „Property“• Hierarchien (subClassOf, subPropertyOf)• Zuordnung von Eigenschaften zu
Klassen• Klassifi zierung durch Inferenz möglich• Wird durch OWL (Web Ontology
Language) erweitert
Benjamin Nowack, semsol 2008-05-27 26
Swoogle: Index für RDF-Vokabulare
Benjamin Nowack, semsol 2008-05-27 27
RDFa-Markup für Sessions/Speaker
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns:cal="http://www.w3.org/2002/12/cal#"
xmlns:pres="http://www.w3.org/2004/08/Presentations.owl#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
...
<td class="webinale" typeof="pres:Talk">
<div class="title" property="cal:summary">
<a rel="cal:url" href="...id=7448"> Semantic Web ... </a>
</div> <div class="speaker" rel="pres:presenter">
<span property="foaf:name">Benjamin Nowack</span>
</div>
</td>
Benjamin Nowack, semsol 2008-05-27 28
Alle Speaker und TalksPREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX cal: <http://www.w3.org/2002/12/cal#>
PREFIX pres: <http://www.w3.org/2004/08/Presentations.owl#>
SELECT DISTINCT ?name ?img ?talk_title WHERE {
?speaker foaf:img ?img ; foaf:name ?name .
?talk pres:presenter [foaf:name ?name ] .
?talk cal:summary ?talk_title .
}
ORDER BY ?name
Benjamin Nowack, semsol 2008-05-27 29
SPARQL with a tiny bit of PHP
Benjamin Nowack, semsol 2008-05-27 30
It's a menu – Just pick what you like!