Aussichten auf verbesserte Web-Suchmethoden

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Ein Teil der Aufregung um XML bestand darin, dass Suchmaschinen im Web endlich verstehen werden, was ein Dokument bedeutet, indem sie sich sein Markup anschauen. Zum Beispiel können Sie nach dem Film Sneakers suchen und erhalten wirklich Treffer zu diesem Film, ohne sich erst durch Dinge wie »Internet Wide Area ‘Tiger Teamers’ mailing list«, »Children’s Side Zip Sneakers Recalled by Reebok«, »Infant’s ‘Little Air Jordan’ Sneakers Recalled by Nike«, »Sneakers.com – Athletic Shoes from Nike, Reebok, Adidas, Fila, New« und die 32.395 anderen Ergebnisse wühlen zu müssen, die eine Suche bei Google erbrachte und die nichts mit dem Film zu tun haben. (Der Fairness halber sollten wir sagen, dass sich vier der ersten zehn Treffer von Google auf den Film bezogen.)

In der Praxis ist davon noch nicht viel zu sehen, vor allem, weil nur wenige Webseiten wirklich in XML vorliegen, obwohl im Hintergrund zunehmend XML zum Einsatz kommt. Die Suchmaschine sieht nur das HTML, das ausgegeben wird. Da diese Situation sich langsam verändert und Suchmaschinen schlauer werden, sollten die Ergebnisse sich ebenfalls immer mehr verbessern. Solange ist es zumindest möglich, XML-Hinweise in Ihre HTML-Seiten einzufügen, die entsprechend ausgestattete Suchmaschinen ausnutzen können. Sie haben dabei die Wahl zwischen dem Resource Description Framework (RDF), dem Dublin Core und der Verarbeitungsanweisung robots.

RDF

Das Resource Description Framework (RDF) kann als eine XML-Kodierung für ein besonders einfaches Datenmodell verstanden werden. Ein RDF-Dokument beschreibt Ressourcen anhand von Tripeln. Jedes Tripel sagt, dass eine Ressource ein Property mit einem Wert besitzt. Ressourcen werden über URIs identifiziert. Properties können von URIs oder durch element-qualifizierte Namen identifiziert werden. Der Wert kann ein Klartext-String, ein XML-Fragment oder eine ander Ressource sein, die durch einen URI identifiziert wird.

Das Wurzelelement eines RDF-Dokuments ist das Element RDF. Jede Ressource, die das Element RDF beschreibt, wird in Form eines Description-Elements repräsentiert, dessen about-Attribut einen URI enthält, der auf die beschriebene Ressource verweist. Jedes Kindelement des Description-Elements repräsentiert ein Poperty der Ressource. Der Inhalt dieses Kindelements ist der Wert des Popertys. Alle RDF-Elemente, wie etwa RDF und Description, liegen im Namensraum "http://www.w3.org/1999/02/22-rdf-syntax-ns#". Die Werte der Properties liegen normalerweise in anderen Namensräumen.

Nehmen wir an, Sie wollen ausdrücken, dass das Buch XML in a Nutshell die Autoren W. Scott Means und Elliotte Rusty Harold hat. Sie wollen also sagen, dass die Ressource, die durch den URI urn:isbn:3897213370 identifiziert wird, ein Property author mit dem Wert W. Scott Means und ein weiteres Property author mit dem Wert Elliotte Rusty Harold besitzt. Das folgende Code-Beispiel zeigt dies.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
   <rdf:Description about="urn:isbn:3897213370">
      <author>Elliotte Rusty Harold</author>
      <author>W. Scott Means</author>
   </rdf:Description>
</rdf:RDF>

Code-Beispiel: Ein RDF-Dokument, das die Autoren von XML in a Nutshell benennt

In diesem einfachen Beispiel sind die Werte des author-Propertys einfach nur Text. Sie könnten allerdings genauso gut XML sein. Tatsächlich könnten sie andere RDF-Elemente sein.

Zu RDF gehört noch mehr, u.a. Container, Schemas und geschachtelte Properties. Dieses Beispiel ist jedoch eine ausreichende Beschreibung von Web-Metadaten.

Mehr zu RDF siehe die Seite RDF-Grundlagen und folgende.

Dublin Core

Der Dublin Core ist ein Standardset von 15 Informationseinheiten mit einer bestimmten Semantik, die die Art von Daten widerspiegeln, die Sie wahrscheinlich in einem Katalog oder in einer annotierten Bibliographie finden werden:

  • Title

    Einigermaßen selbsterklärend: Das ist der Name, unter dem die Ressource bekannt ist. Der Titel dieses Buchs ist z.B. XML in a Nutshell.

  • Creator

    Die Person oder Organisation, die die Ressource erstellt hat, d.h. ein Maler, Autor, Illustrator, Komponist usw. Die Erzeuger dieses Buchs sind zum Beispiel W. Scott Means und Elliotte Rusty Harold.

  • Subject

    Eine Liste mit Schlüsselwörtern, sehr wahrscheinlich aus einem anderen Vokabular wie dem Dewey Decimal System oder Yahoo-Kategorien, mit denen die Themen der Ressource identifiziert werden. Wird das Vokabular der Library of Congress benutzt, lautet das Subject dieses Buchs »XML (Document markup language)«.

  • Description

    Typischerweise ein kurzer Text, der in einigen Sätzen den Inhalt der Ressource beschreibt, er kann aber auch ein Bild, ein Inhaltsverzeichnis oder irgendeine andere Beschreibung der Ressource enthalten. Eine Beschreibung dieses Buchs könnte zum Beispiel so aussehen: »Eine Anleitung und Kurzreferenz für XML und damit verwandte Techniken und Spezifikationen«.

  • Publisher

    Der Name der Person, Firma oder Organisation, die die Ressource zur Verfügung gestellt hat. Der Herausgeber dieses Buchs ist z.B. O'Reilly Media, Inc.

  • Contributor

    Eine Person oder Organisation, die einen Beitrag zu der Ressource geliefert hat, aber nicht der eigentliche Erzeuger ist. Zum Beispiel könnten die Übersetzer und die Lektoren dieses Buchs als Mitarbeiter betrachtet werden, ebenso wie die Künstlerin, die das Bild auf dem Umschlag gezeichnet hat, oder der Designer, der das Layout entworfen hat.

  • Date

    Das Datum, an dem das Buch erstellt oder veröffentlicht wurde, normalerweise in der Form JJJJ-MM-TT. Das Datum dieses Buchs könnte zum Beispiel 2004-09-23 sein.

  • Type

    Der abstrakte Typ der Ressource, wie etwa Bild, Text, Sound oder Software. Eine Beschreibung dieses Buchs würde beispielsweise den Typ Text haben.

  • Format

    Bei körperlichen Objekten wie Büchern beschreibt das Format die physischen Maße der Ressource. Zum Beispiel hat die Papierversion von XML in a Nutshell die Maße 6" × 9" (17,2 cm × 23 cm). Bei digitalen Objekten wie Webseiten ist das Format möglicherweise der MIME-Typ. Eine Online-Version dieses Buchs hätte das Format text/html.

  • Identifier

    Ein formaler Identifier für die Ressource, wie eine ISBN, ein URI oder eine Sozialversicherungsnummer. Der Identifier für dieses Buch ist »3897213397«.

  • Source

    Die Ressource, aus der die vorliegende Ressource abgeleitet wurde. Die französische Übersetzung dieses Buchs könnte beispielsweise die ursprüngliche englische Ausgabe als Quelle angeben.

  • Language

    Die Sprache, in der die Ressource geschrieben wurde, üblicherweise ein ISO-639-Sprachcode, optional von einem Bindestrich und einem ISO-3166-Ländercode gefolgt. Die Sprache dieses Buchs ist z.B. de-DE. Die Sprache der Originalausgabe ist en-US.

  • Relation

    Ein Link auf eine Ressource, die in irgendeiner Weise mit der aktuellen Ressource in Beziehung steht, im Allgemeinen über einen formalen Identifier wie etwa einen URI oder eine ISBN. Zum Beispiel könnte auf die Webseite dieses Buchs verwiesen werden.

  • Coverage

    Der Ort, die Zeit oder der Zuständigkeitsbereich, den die Ressource abdeckt. Der Geltungsbereich dieses Buchs könnte beispielsweise Deutschland, Österreich und die Schweiz sein, der Geltungsbereich der amerikanischen Ausgabe dieses Buchs die Vereinigten Staaten von Amerika, Kanada, Australien, Großbritannien und Irland. Der Geltungsbereich wird im Allgemeinen in einer formalen Syntax aufgeführt, etwa als Ländercode.

  • Rights

    Informationen über Urheberrechte, Patente, Schutzmarken und andere Einschränkungen bezüglich des Inhalts der Ressource. Eine Aussage über die Rechte bezüglich dieses Buches könnte »Copyright 2004 O'Reilly Media, Inc.« lauten.

Der Dublin Core kann in ganz verschiedenen Formen kodiert werden, einschließlich HTML-meta-Tags und RDF. Wir konzentrieren uns hier auf seine Kodierung in RDF. Üblicherweise wird jede Ressource mit einem rdf:Description-Element beschrieben. Dieses Element enthält Kindelemente für genau so viele Dublin Core-Informationseinheiten, wie über diese Ressource bekannt sind. Der Name jedes dieser Elemente entspricht dem Namen einer der 15 Dublin Core-Properties. Diese Elemente werden in den "http://www.purl.org/dc/"-Namensraum gelegt. Das nächste Code-Beispiel zeigt eine RDF-kodierte Dublin Core-Beschreibung der amerikanischen Ausgabe dieses Buches.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://www.purl.org/dc/elements/1.1">
  <rdf:Description about="urn:isbn:0596007647">
    <dc:Title>XML in a Nutshell</dc:Title>
    <dc:Creator>W. Scott Means</dc:Creator>
    <dc:Creator>Elliotte Rusty Harold</dc:Creator>
    <dc:Subject>XML (Document markup language)</dc:Subject>.
    <dc:Description>A brief tutorial on and quick reference to XML and related technologies and specifications</dc:Description>
    <dc:Publisher>O'Reilly Media, Inc.</dc:Publisher>
    <dc:Contributor>Laurie Petrycki</dc:Contributor>
    <dc:Contributor>Simon St. Laurent</dc:Contributor>
    <dc:Contributor>Jeni Tennison</dc:Contributor>
    <dc:Contributor>Susan Hart</dc:Contributor>
    <dc:Date>2004-08-23</dc:Date>
    <dc:Type>text</dc:Type>
    <dc:Format>6" × 9"</dc:Format>
    <dc:Identifier>0596007647</dc:Identifier>
    <dc:Language>en-US</dc:Language>
    <dc:Relation>http://www.oreilly.com/catalog/xmlnut3/</dc:Relation>
    <dc:Coverage>US UK ZA CA AU NZ</dc:Coverage>
    <dc:Rights>Copyright 2002 O'Reilly Media, Inc.</dc:Rights>
  </rdf:Description>
</rdf:RDF>

Code-Beispiel: Eine RDF-kodierte Dublin Core-Beschreibung für XML in a Nutshell (amerikanische Ausgabe)

Es gibt noch keinen Standard, der aussagt, wie ein RDF-Dokument mit dem XML-Dokument verknüpft werden soll, das es beschreibt. Eine Möglichkeit wäre, das rdf:RDF-Element in das Dokument einzubetten, das es beschreibt, zum Beispiel als Kindelement des BookInfo-Elements der DocBook-Quelle für dieses Buch. Eine andere Möglichkeit besteht darin, diese Metainformation auf Servern über einen zusätzlichen Kanal zur Verfügung zu stellen. Es könnte z.B. ein Standardprotokoll definiert werden, das es Suchmaschinen erlaubt, diese Informationen für alle Seiten einer Website abzufragen. Man könnte sich auf die Konvention einigen, dass für jede URL xyz einer bestimmten Website die URL xyz/meta.rdf die RDF-kodierten Dublin Core-Metadaten enthält.

Robots

In HTML teilt das META-Tag robots Suchmaschinen und anderen Agenten mit, ob diese eine Seite indizieren dürfen. Walter Underwood hat folgende Verarbeitungsanweisung als Äquivalent für XML-Dokumente vorgeschlagen:

 

<?robots index="yes" follow="no"?>

Agenten suchen im Prolog jedes XML-Dokuments, das sie bemerken, nach dieser Anweisung. Die Syntax dieser speziellen Verarbeitungsanweisung besteht aus zwei Pseudo-Attributen, index und follow, deren Werte entweder yes oder no sind. Wenn das Attribut index den Wert yes besitzt, wird die Seite vom Agenten einer Suchmaschine indiziert. Ist index no, nicht. Besitzt follow den Wert yes, werden Links von diesem Dokument aus weiterverfolgt. Ist follow gleich no, werden sie nicht weiterverfolgt.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de