Kurs:Neueste Internet- und WWW-Technologien/RDFa und Microformats

Aus Wikiversity

Semantic Web[Bearbeiten]

RDFa und Microformats sind Technologien des Semantisches Webs (eng. Semantic Web). Das Semantic Web ist eine Weiterentwicklung des World Wide Webs. Im Semantic Web werden Informationen und Daten so beschrieben, das ihre Bedeutung klar ist. Die Zahl zwei hat an sich noch keine Bedeutung. Erst zusätzliche Informationen fügen ihr Bedeutung hinzu. Zum Beispiel wäre die Zahl zwei sinnvoll, wenn man weiß, dass es sich um zwei Euro handelt oder um den zweiten Januar 2012. Das Semantic Web liefert diese Zusatzinformationen, in dem es verschiedene Informationen untereinander verknüpft. Damit entsteht ein Web Of Data. Beschrieben werden sie mit Microformats und RDFa.

Warum ein semantisches Web?[Bearbeiten]

Das semantische Web stellt strukturierte Daten offen zur Verfügung. Während das World Wide Web Informationen für menschen lesbar aufbereitet, stellt das Semantic Web die Informationen maschinenlesbar zur Verfügung. Daraus ergeben sich Vorteile für den Seitenbetreiber, Suchmaschinen und auch den Endnutzer.

Die Seitenbetreiber können ihre Informationen eindeutig beschreiben. Wenn zum Beispiel ein Tickethändler beschreiben will, wann eine Veranstaltung stattfindet kann er das Datum eindeutig beschreiben. Er muss sich nicht darauf verlassen, dass die Suchmaschine herausfindet, dass die Zeichenkette "02 Jan '12" ein Datum darstellt. Google nutzt zum Beispiel schon seit einigen Jahren semantische Informationen um seine Suchergebnisse zu verbessern. ([1])

Entsprechend können Suchmaschinen leichter Informationen aus Datenquellen extrahieren, da die Bedeutung der Daten schon beschrieben ist. Damit haben sie eine verlässlichere Datenbasis. Das gilt nicht nur für Suchmaschinen, sondern auch für Anwendungen, die logische Schlüsse ziehen und Analysen erstellen auf Basis von Daten aus dem Internet.

Der Nutzer hat dadurch direkt den Vorteil, dass diese Anwendungen und Suchmaschinen besser funktionieren. Außerdem kann der WebBrowser semantische Informationen auf Webseiten direkt nutzen. Er kann zum Beispiel bei einem semantisch beschriebenen Ereignis gleich anbieten, den Termin in den Kalender zu übernehmen. Der Nutzer kann damit im Allgemeinen Informationen leichter zwischen Anwendungen bewegen.

Probleme mit dem WWW[Bearbeiten]

Das World Wide Web ist bereits ein großes Netz, das Daten enthält. Allerdings ist es ein Netz von Dokumenten, die für den Endanwender gedacht sind. Die Inhalte dieser Dokumente sind für Menschen verständlich. Maschinen können diesen Inhalt aber nur schwer extrahieren, da sie dazu natursprachliche Formulierungen verstehen müssen. Die Ansätze des Natural Language Processing erlauben das ein Stück weit. Allerdings sind sie aufwendig und teilweise ungenau.

Die technologische Grundlage für die Beschreibung von Informationen im WWW bildet XHTML. Diese Beschreibungssprache beschreibt aber eben nur Dokumente. Damit liefert sie auch zusätzliche Informationen zum Dokument. Diese sind aber beschränkt auf die Struktur des Dokuments und auf allgemeine Eigenschaften des gesamten Dokuments. Weitere Informationen zu einzelnen Inhalten werden nicht zur Verfügung gestellt.

Technologische Grundlagen[Bearbeiten]

Um die Informationen im Semantic Web zu beschreiben sind neue Beschreibungssprachen entstanden. RDF (Ressource Description Framework) ist die Beschreibungssprache, die der W3C als Grundlage des Semantic Web etablieren möchte. Es bildet die Grundlage für weitere semantische Technologien, die das W3C als Teil der Semantic Web Technologie vorgeschlagen hat. Im Gegenzug sind Microformats von der Netzgemeinde selbst erstellt. Die einzelnen Wege bestimmte Informationen zu annotieren werden in einem Wiki offen diskuttiert und gepflegt. Neben diesen zwei Sprachen gibt es auch noch weitere, wie zum Beispiel Microdata. Wir beschreiben in diesem Kurs RDF(a) und Microformats genauer.

Man kann Informationen auf zwei Wege mit solchen Beschreibungssprachen zur Verfügung stellen. Zum Einen kann man mit RDF die Informationen direkt z.B. in XML-Dateien beschreiben und sie dann im Internet veröffentlichen. Damit sind die Daten aber nur maschinenlesbar. Will man sie zusätzlich auch für Menschen zur Verfügung stellen geht man einen anderen Weg, den RDFa und Microformats gehen. Man beschreibt seine normale Webseite und fügt dann in die XHTML Tags durch bestimmte Attribute zusätzliche Informationen hinzu. Damit beschreibt das Dokument sowohl menschen- als auch maschinenlesbare Informationen.

Wann verwendet man welches Format?[Bearbeiten]

RDFa und Microformats haben sehr unteschiedliche Schwerpunkte und eigenen sich für verschiedene Ziele. Mircoformats sind sehr leichtgewichtig. Der HTML-Quelltext bleibt übersichtlich und die Informationen sind sehr leicht einzufügen. Einfache Informationen, wie Kontaktdaten oder Termine lassen sich damit ohne viel Aufwand annotieren.

RDFa kann zwar auch solche einfache Informationen darstellen, aber entfaltet seine voll Stärke erst bei komplexen Informationen. Da RDFa für beliebige Informationen entworfen wurde, lassen sich damit auch sehr spezifische Informationen beschreiben. Wenn man also solche speziellen Informationen bereit stellen möchte, geht kein Weg an RDFa vorbei.

Allgemein lohnt es sich Informationen mit beiden Sprachen zu annotieren. Somit steigt die Wahrscheinlichkeit, dass Suchmaschinen die Informationen lesen können.

Microformats[Bearbeiten]

Wieso sollte man Microformats nutzen?[Bearbeiten]

Microformats bieten die Möglichkeit die eigenen Webseiten mit wenig Aufwand um semantische Informationen zu erweitern. Sie sind so gestaltet, dass jeder, der HTML schreiben kann, sie einbinden kann. Zudem wird der HTML-Code nur wenig erweitert. Die Zusatzinformationen werden meistens durch kurze Bezeichner im class-Attribut abgelegt. Der HTML-Quelltext bleibt damit verständlich und kompakt.

Beispiel[Bearbeiten]

Anhand eines Beispiels sehen wir, wie man ein Microformat anwendet. Die folgende Seite soll die Kontaktdaten von Michael Prefect anzeigen. Folgende Seite zeigt die Informationen für Menschen lesbar an, ohne weitere strukturierte Informationen bereit zu stellen.

<html>

<body>

<h1>Michael Prefect</h1>

<div>
    <span>Vorname: Michael</span>
    <span>Nachname: Prefect</span>
    <span>Teleonnummer: 0342/1222223</span>
    <span>Mail: michael@the-prefects.org</span>
</div>

</body>

</html>

Dieser kleinen Webseite wollen wir nun mit dem hcard-Format von hCard semantisch annotieren. Das Format schreibt vor, dass wir erst einmal ein alles umfassendes Element einführen, dass zeigt, welche Elemente Attribute der hcard beschreiben. Das erreichen wir, indem wir die Seite noch einmal mit einem div Tag umschließen, das als HTML-Klasse hcard trägt. Diese und alle anderen wichtigen HTML-Klassen für dieses Format sind in dem Standard beschrieben. Das hcard Format schreibt vor, dass wir das Attribut fn beschreiben, dass den vollen Namen der Person enthalten soll. Das können wir auch gleich erfüllen, indem wir beschreiben, dass die Überschrift genau diesen vollen Namen enthält. Dazu geben wir dem h1-Element die Klasse fn.

<html>
<body>
<div class="hcard">
    <h1 class="fn">Michael Prefect</h1>
    <div>
        <span>Vorname: Michael</span>
        <span>Nachname: Prefect</span>
        <span>Teleonnummer: 0342/1222223</span>
        <span>Mail: michael@the-prefects.org</span>
    </div>
<div>
</body>
</html>

Da wir auf der Seite noch viele weitere Informationen vorliegen haben, wollen wir diese natürlich auch alle auszeichnen. Das erreichen wir durch entsprechende weitere Klassen und haben damit die Seite vollständig durch strukturierte Informationen erweitert.

<html>
<body>
<div class="hcard">
    <h1 class="fn">Michael Prefect</h1>
    <div class="n">
        <span>Vorname: <span class="given-name">Michael</span></span>
        <span>Nachname: <span class="family-name">Prefect</span></span>
        <span>Teleonnummer: <span class="tel">0342/1222223</span></span>
        <span>Mail: <span class="email">michael@the-prefects.org</span></span>
    </div>
<div>
</body>
</html>

Ursprung der Formate[Bearbeiten]

Die Microformats sind gewachsene Standards, die aus bestehenden Konventionen entstehen. Die komplette Entwicklung von der Idee bis zum Standard findet auf microformats.org statt. Für den Standard ist nur das relevant, was auch tatsächlich von Seitenbetreibern genutzt wird. Die Entstehung eines neuen Formats ist ein Wechselspiel aus Spezifikation und Beobachtung, wie die Betreiber das Format tatsächlich nutzen.

Das Wiki gibt auch einen guten Überblick über die aktuell verfügbaren Formate. Auf den einzelnen Detailseiten sind dann die tatsächlichen Formate beschrieben.

Selbst die Definition was Microformats sind, steht im Wiki immer noch zur Diskussion.

Wichtige und stabile Formate und ihr Einsatz[Bearbeiten]

  • hCalendar: Dieses Format bringt das iCalendar Format in XHTML. Es beschreibt exakt die selbe Struktur, ermöglicht aber die Annotation von Events direkt in XHTML.
  • hReview: Dieses Format ist noch im Draft Stadium. Es ist dazu gedacht, Bewertungen zu kodieren. Dazu gehören zum Beispiel Eigenschaften, wie das Bewertungsdatum, der Bewerter oder die Bewertung auf einer Fünf-Punkte Skala. Das Format hat ausdrüclich nicht das Ziel eine tatsächliche Entität, die über eine URI identifiziert werden kann, zu beschreiben.
  • rel-license: Dieses Microformat ist ein schönes Beispiel für die unterschiedlichen Ausprägungen von Microformats. Dieses Format besteht nur aus einer Eigenschaft. Man kann damit beschreiben unter welcher Lizenz, der aktuelle Inhalt steht. Dazu setzt man einen Link auf die Lizenz und setzt das rel-Attribut des Elements auf license. Da dies als Konvention etabliert ist, wird dadurch semantische Information ausgedrückt.

Vorteile und Nachteile[Bearbeiten]

Vorteile[Bearbeiten]

  • Schnell zu verstehen und einzubinden
  • Stuktur der Formate komplett nach praktischen Gesichtspunkten erstellt
  • HTML-Code bleibt weitestgehend unberührt
  • Weit verbreitet und von großen Suchmaschinen unterstützt

Nachteile[Bearbeiten]

  • Starre Strukturen, mit denen nur die bestehenden Formate beschrieben werden können
  • Standard nicht bindend, da viele Betreiber Anpassungen an ihrer konkreten Umsetzung eines Formates vornehmen

RDFa[Bearbeiten]

Wieso RDFa?[Bearbeiten]

RDFa basiert auf RDF und stellt damit eine sehr flexible Beschreibungssprache für semantische Informationen dar. Mit RDF, und damit auch mit RDFa, kann jede beliebige Relation zwischen zwei Entitäten ausgedrückt werden. Damit können also auch bislang unbekannte Relationen beschrieben werden.

Zudem besteht bereits eine große RDF Datenbasis. In dieses bestehende Informationsnetz kann man seine Daten einfügen und liefert damit automatisch noch mehr Informationen über die Information, die man selbst anbietet. Wenn man zum Beispiel beschreibt, dass die Zahl zwei eine Menge von Euro angibt, dann kann man einfach die Beschreibung der Währung Euro im RDF Netz referenzieren. Diese Beschreibung enhtält bereits alle weiteren Informationen darüber, dass der Euro eine Währung ist, wo er gilt und so weiter.

RDF und RDFa[Bearbeiten]

RDF bildet die Grundlage für RDFa. RDF ist eine semantische Struktursprache, die die Grundlage für das Semantic Web bildet, wie es sich das W3C vorstellt. RDF kann in mehreren Formen kodiert werden. Es gibt ein Standardformat, dass pro Zeile ein Tripel enthält, aber auch Darstellungen als XML oder JSON.

RDFa ist die Einbettung von RDF-Beschreibungen in XML-Dokumente mithilfe von bestimmten XML Attributen. RDFa steht darum auch für "RDF in attributes". Damit lässt es sich auch in XHTML-Dokumente einbinden und auch Dokumente für Endanwender können durch semantische Informationen angereichert werden.

Semantik mit RDF[Bearbeiten]

RDF basiert auf einem grundlegenden Gedankenmodell um Semantik zu beschreiben. Es wird immer eine Beziehung zweier Entitäten beschrieben. Dazu nennt man die zwei Entitäten und die Beziehung in der die erste Entität zur zweiten steht. Dazu muss man sowohl die Entitäten als auch die Relation eindeutig identifizieren. Anhand des folgenden Beispiels kann man erkennen, wie das mit RDF gelöst wird und was damit noch möglich wird.

Beispiel[Bearbeiten]

Das folgende Beispiel zeigt eine Art Visistenkarte für ein Büro eines Unternehmens, ähnlich der Kontaktdaten aus dem Microformats-Beispiel. Die RDF Ausssagen sind im Beispiel mit einer XML-Notation formuliert:

<?xml version="1.0"?>
<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
    xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">

<contact:SocialEntity rdf:about=“http://www.northwooduk.com/offices#edinburgh">

    <contact:Phone>0131 343 1717</contact:Phone>
    <contact:Fax>0131 343 1777</contact:Fax>
    <contact:mailbox 
    rdf:resouce=“mailto:edinburgh@northwooduk.com“ />

</contact:SocialEntity>

</rdf:RDF>

Subjekt, Prädikat, Objekt[Bearbeiten]

Eine Aussage hat in RDF drei Teile: Subjekt, Prädikat, Objekt. Im Beispiel ist zum Beispiel folgende RDF Aussage beschrieben. "Das Northwoodbüro in Edinburgh" "hat die Telefonnummer" "01313431717". Die Aufteilung in Subjekt, Prädikat, Objekt zieht sich durch alle RDF-Aussagen. Auch folgende Aussage ist im obigen Beispiel so beschrieben, wenn auch durch die XML-Syntax nicht sofort erkenntlich: "Das Nortwoodbüro in Edinburgh" "ist vom Typ" "SocialEntity".

Objekte der Aussage können entweder primitive Werte sein, wie in dem Fall zum Beispiel die Telefonnummer, oder auch andere eindeutig indentifizierbare Entitäten, wie zum Beispiel die EMail-Adresse.

URIs[Bearbeiten]

Sowohl Entitäten als auch Prädikate müssen per URI eindeutig identifiziert werden. Auch wenn in der Praxis oft URLs verwendet werden, müssen es keine URLs sein. Es reichen URIs. So sind zum Beispiel Telefonnummern eigentlich eine Form von URI, da sie einen Telefonanschluß global eindeutig bestimmen. Im Beispiel oben findet sich beides. Das Northwoodbüro in Edinburgh wird durch eine URL identifiziert. Der Verweis auf die EMail-Adresse weiter unten ist eine URI für eine EMailpostfach.

Wichtig ist auch, dass die URIs keinen Standards genügen müssen, sondern nur von den lesenden Parsern verstanden werden müssen. Wenn man also ein eigenes URI System für seine Informationsart braucht, kann man es einfach selbst einführen.

Namespaces für RDF in XML[Bearbeiten]

Das Beispiel ist RDF, dass in XML kodiert ist. Die Relationen werden in Kurzform notiert, wie z.B.

<contact:Phone>...

Das ist möglich, da weiter oben das RDF Vokabular von "http://www.w3.org/2000/10/swap/pim/contact#" in den Namespace contact zusammengefasst wurde. Damit muss nicht mehr die volle URI der Relation angegeben werden, sondern es kann direkt die Relation beschrieben werden.

Reification[Bearbeiten]

Um Daten im Allgemeinen sinnvoll nutzen zu können braucht man weitere Informationen über die Daten selbst. Damit kann man dann einschätzen wie zuverlässig oder aktuell manche Daten sind. Man benötigt dafür Aussagen über die Aussagen, die die Daten beinhalten. Zum Beispiel ist interessant, wer denn die Aussage getroffen hat oder wann sie getroffen wurde.

Mit RDF sind solche Aussagen über Aussagen möglich, denn jede Aussage kann wieder Subjekt oder Objekt einer weiteren Aussage sein. Damit können Aussagen über Aussagen getroffen werden.

RDF in attributes[Bearbeiten]

Diese Mächtigkeit von RDF kann man auch für XHTML-Dokumente nutzen, die eigentlich dafür geschrieben sind, Endanwendern Informationen zu präsentieren. Dazu nutzt man spezielle XHTML-Attribute um darin RDF-Informationen auszudrücken.

Beispiel[Bearbeiten]

Das folgende Beispiel zeigt einen Teil der Informationen aus dem RDF-Beispiel in einer XHTML Seite formuliert, die auch Informationen für den Endanwender darstellt.

<?xml version="1.0" encoding="UTF-8"?>
<html    
    xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">

<body>
<div typeof=“contact:SocialEntity“ 
     about=“http://www.northwooduk.com/offices#edinburgh">

    Phone: <span property=“contact:Phone“>0131 343 1717</span>
    
    Fax: <span
            property=“contact:Fax“ 
            content=“0131 343 1777“>
                0131/343-1777 (only black and white)
         </span>

    Mail: <a rel=“contact:MailBox“
            href=“mailto:edinburgh@northwooduk.com“>
                edinburgh at northwooduk.com
          </a>

</div>
</body>
</html>

Einbinden von RDF[Bearbeiten]

Wie auch in der XML-Version von RDF kann man auch in XHTML das Vokabular in einen extra xml-Namespace laden. Das macht der Ausdruck:

xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"

Die Informationen werden dann in den entsprechenden XHTML Strukturelementen mit den Attributen about, typeof, property, href, rel und content beschrieben.

About[Bearbeiten]

Das about-Attribut kennzeichnet, dass die Informationen innerhalb dieses XHTML-Elements für die angegebene Entität gelten. Damit wird also das Subjekt der Aussagen festgelegt. In diesem Fall das Büro in Edinburgh. Das typeof-Attribut ist optional und beschreibt den Typen des festgelegten Subjekts.

Property[Bearbeiten]

Mit dem property-Attribut gibt man eine Relation beziehungweise eine Eigenschaft des Subjekts an. Es muss das Attribut eines Strukturelements sein, das innerhalb des Strukturelements liegt, das das zugehörige Subjekt beschreibt. Der Wert des Attributs nennt die Relation, also das Prädikat. Der reine Inhalt des Elements ist dann das Objekt. Im Beispiel wird die Telefonnummer so ausgezeichnet.

href und rel[Bearbeiten]

Soll das Objekt eine andere Entität sein, so kann man diese Beziehung über href und rel ausdrücken. rel bezeichnet die Relation zu der anderen Entität und href beinhaltet die URI des Objekts der Aussage. Der Inhalt des Strukturelements trägt keine Information mehr und kann frei gewählt werden.

Content[Bearbeiten]

Die Informationen müssen für den Nutzer manchmal anders dargestellt werden, als sie von Maschinen verstanden werden können. Im Beispiel enthält der Inhalt des Fax Elements zusätzlich zur Fax-Nummer einen Text, der besagt, dass nur schwarz/weiß Faxe gesendet werden können. Diese Information ist für die menschenlesbare Darstellung wichtig, aber gehört nicht zur Fax-Nummer. Um diese trotzdem direkt im XHTML-Dokument annotieren zu können, wird das content-Attribute benützt. Falls der Inhalt des Strukturelements nicht das eigentliche Objekt der Aussage sein soll, kann alternativ das Objekt im content-Attribut beschrieben werden.

Meta[Bearbeiten]

Neben den Informationen zu einzelnen Entitäten im Dokument kann man mit RDFa auch weitere Metainformationen über das Dokument selbst formulieren. Im folgenden Beispiel wird der Titel des Dokuments mit dem "Dublin Core"-Vokabular beschrieben, dass zur Beschreibung aller Arten von Dokumenten verwendet wird. Die Beschreibung funktioniert mit den oben beschriebenen Attributen, allerdings im Meta-Strukturlement. Die Aussagen beziehen sich damit auf das Dokument als Subjekt.

<?xml version="1.0" encoding="UTF-8"?>
<html    
  xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">

<head prefix=“dc: http://purl.org/dc/terms/“>
    <meta property=“dc:title“
        content=“RDFa Meta Demo Page“ />

</head>
</html>

RDF Vokabulare[Bearbeiten]

RDF Vokabulare umfassen alle möglichen Arten von Informationen. Es existieren unter Anderem auf Vokabulare zur Beschreibung von Medikamenten und ihren Wirkungen, sowie Tierspezies. Diese Vokabulare sind größtenteils online verfügbar. Wenn man die URLs aufruft, unter denen sie abgelegt sind, erhält man manchmal eine menschenlesbare Webseite. Diese enthält die Definition des Vokabulars wiederum als RDFa. Zwei Vokabulare, die auch für Webdokumente relevant sind, sind Dublin Core und FOAF (Friend of a Friend):

  • Dublin Core: Dublin Core beschreibt Relationen und Typen um detailierte Aussagen über Dokumente zu machen. Neben Standardeigenschaften wie Autor oder Titel können auch sehr detailierte Informationen über das Dokument beschrieben werden, wie zum Beispiel eine Gültigkeitsdauer.
  • FOAF: Das Friend of a Friend Vokabular beschreibt Personen, ihre Interessen und ihre Beziehungen zu anderen Menschen. Es umfasst die Informationen, die in vielen sozialen Netzwerken erfasst werden. Ursprünglich war eine Idee, dass Seiten die Profile ihrer Nutzer im FOAF-Format zur Verfügung stellen. Damit wäre dann ein öffentliches umfassendes soziales Netz entstanden, das aus dezentralen Beschreibungen von Personen entsteht. Die Tatsachen, dass damit aber alle Daten öffentlich zugänglich sind, hemmt allerdings vermutlich die Verbreitung von FOAF.

Vorteile und Nachteile[Bearbeiten]

Vorteile[Bearbeiten]

  • Alle Technologien, die auf RDF aufbauen, können auch RDFa nutzen. Das heißt Daten, die mit RDFa beschrieben sind, sind potentiell für sehr viele Anwendungen nützlich.
  • Spezielle Vokabulare für viele Anwendungsfälle mit denen Informationen vollständig und detailliert beschrieben werden können.
  • Flexibel, da man eigene Vokabulare definieren und mit bestehenden verbinden kann.
  • Es existiert bereits eine große Wissensbasis, die man referenzieren kann.

Nachteile[Bearbeiten]

  • Der XHTML-Quelltext wird unübersichtlich und länger.
  • Maschinenlesbare Informationen und menschenlesbare Informationen sind eng verwoben und damit weniger modular. Änderungen an der reinen Darstellung der menschenlesbaren Version können Auswirkungen auf die Formulierung der semantischen Informationen haben.
  • Beschreibung kann in mehreren Vokabularen nötig sein, um Informationen für verschiedene Anwendungen zugänglich zu machen. Da jeder sein eigenes Vokabular beschreiben kann, gibt es potentiell Vokabulare, die die selbe Art von Information beschreiben können.

Bis zur Semantik und noch viel weiter![Bearbeiten]

Semantic in the Wild[Bearbeiten]

Semantische Informationen werden bereits in großer Zahl im Internet zur Verfügung gestellt und genutzt (http://webdatacommons.org/). Google nutzt semantische Informationen um dem User auf einen Blick Informationen über die gefundenen Entitäten zu geben. Sucht man beispielsweise nach einer Person, die durch FOAF-Aussagen vollständig beschrieben ist, so bekommt man bereits in der Liste der Suchergebnisse angezeigt wo die Person momentan arbeitet.

Tripadvisor annotiert seine XHTML Seiten mit Microformats und RDFa. Damit kann Google zum Beispiel sofort herausfinden welche Orte wie und von wie viel Leuten bewertet wurden. Diese Information bekommt der Nutzer auch wieder direkt in seiner Suchergebnisliste angezeigt. Bewertung zeigt Google immer mit fünf Sternen an und zusätzlich die Information auf wie vielen Bewertungen diese Information basiert.

Weitere berühmte Seiten sind unter vielen Anderen: youtube, flickr, picasaweb.google.com, en.wikipedia.org, xing.com.

Weitere semantische Technologien[Bearbeiten]

RDF und Microformats bilden nur die Grundlage des Semantic Web. Sie liefern nur das Rohmaterial in Form von erweiterten Informationen. Vor allem auf RDF bauen noch eine Menge weiterer Technologien auf.

Direkt auf RDF bauen die Ontologiesprachen RDF-Schema und OWL auf. Diese beschreiben in verschiedenen Detailstufen allgemeine Zusammenhänge zwischen Daten. Beispielsweise das ein Mensch immer ein Geschlecht hat und wenn das Geschlecht weiblich ist, das der Mensch, dann zudem den Typ Frau trägt. Solche Regeln können genutzt werden, um RDF Daten zu prüfen oder auch Schlußfolgerungen zu ziehen, wie zum Beispiel, dass ein Mensch vom Typ Frau, von weiblichem Geschlecht ist.

Um auf die großen Datenmengen zugreifen zu können existiert die Anfragesprache SPARQL. Diese erlaubt SQL ähnliche Anfragen an eine RDF Datenmenge.

Aufbauend auf diesen Sprachen zur Beschreibung von Daten und Zusammenhängen zwischen ihnen existieren Anwendungen, die Schlußfolgerungen aus den Daten ziehen können. Dieses automatische Ziehen von Schlüssen heißt auch Reasoning. Im Beispiel für Ontologien tauchte so eine Schlußfolgerung auf mit der man bestimmen konnte, dass ein Mensch von weiblichem Geschlecht ist, wenn er eine Frau ist. Diese Schlußfolgerung kann auch eine Anwendung ziehen. Auf diese Weise können Programme selbst neue Informationen sammeln, bewerten und sogar erzeugen.

Nutzung von semantischen Daten im Netz[Bearbeiten]

Mit dem semantischen Web steht eine große Datenbasis frei im Internet zur Verfügung. Mit entsprechenden Werkzeugen lassen sich die Informationen leicht extrahieren und sammeln.

Datenquellen[Bearbeiten]

Mehrere Webseiten stellen spezielle Informationen semantisch annotiert zur Verfügung. Falls man Daten benötigt ist linkdata.org ein guter Ausgangspunkt. Dort findet man viele Quellen für spezielle Informationen, und Informationen wie man die Daten nutzen oder erweitern kann. Der nebenstehende Graph zeigt eine Übersicht von linkeddata.org, die verschiedene aktuelle Datenquellen und ihre Verbindungen zeigt.

Weitere nützliche Seiten:

  • DBPedia (dbpedia.org): Diese Seite stellt Informationen aus der Wikipedia als strukturierte Informationen zur Verfügung. Die Informationen sind zudem untereinander verbunden.
  • Freebase (freebase.com): Die Community von freebase trägt gemeinschaftlich Fakten zusammen um eine offene Datenbasis zu erstellen. Freebase definiert teilweise auch eigene Schemata für ihre Daten.

Parser[Bearbeiten]

Für RDF existieren einige ausgereifte XML-Parser, die den Standard korrekt umsetzen (Jena, Sesame, JRDF). Um RDFa zu parsen muss man erst den XHTML-Quelltext bereinigen, da Webseiten oft unsaubere Elemente beinhalten. Anschließend kann man mit einem RDFa Parser die Informationen aus den XHTML-Elementen extrahieren. Auch dafür gibt es bereits ausgereifte Parser (z.B. java-rdfa).

Die Microformats-Community sammelt unter http://microformats.org/wiki/parser verschiedene Parser Implementierungen in unterschiedlichen Sprachen für Microformats. Die Parser sind teilweise aber veraltet oder sehr rigide, so dass sie abweichend umgesetzte Formate nicht parsen können. Aufgrund der Fülle von Microformats unterstützen viele Parser auch nicht alle Formate.

Da das Sammeln von strukturierten Informationen von Webseiten eigentlich das Parsen verschiedener Formate umfasst gibt es auch bereits Bibliotheken, die mehrere Formate gleichzeitig beherrschen (z.B. Any23 - http://developers.any23.org/)

Literatur/Quellen[Bearbeiten]

Semantic Web[Bearbeiten]

  • semanticweb.org - Bietet grundlegende Informationen zur Bereitstellung und Nutzung von Daten im Semantic Web.
  • linkeddata.org - Bietet einen Überblick über Datenquellen und Beschreibungsmethoden im Semantic Web.
  • www.w3.org/2001/sw/ - Der Anlaufpunkt für die w3c Sicht auf das Semantic Web inklusiver vieler Standards für RDF, OWL, SPARQL etc.
  • http://webdatacommons.org/ - Statistiken über die Verwendung von semantischen Beschreibungssprachen und ihre Verbreitung über verschiedene Webseiten.

RDF(a)[Bearbeiten]

Microformats[Bearbeiten]

microformats.org - Der Ort für Microformats. Alles spielt sich hier ab: Neue Formate, Standards und Technologien rund um Microformats