You are on page 1of 70

1.

Unstrukturierte Daten oder das Web der Dokumente:HTML Hypertext Markup Language:HTML
ist eine textbasierte Auszeichnungssprache zur Strukturierung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten HTML-Dokumente sind die Grundlage des World Wide Webund werden von einem Webbrowser dargestellt. Neben den vom Browser angezeigten Inhalten einerWebseite enthlt HTML zustzliche Angaben in Form von Metainformationen, die z. B. ber die im Text verwendete Sprache oder den Autor Auskunft geben oder den Inhalt des Textes zusammenfassen. HTML ist eine Dokumenttypdefinition (DTD) fr Webseiten.

Syntax
Dem Text wird durch Auszeichnungen (englisch markup) von Textteilen eine Struktur verliehen. Die Auszeichnung erfolgt durch SGML-Elemente. Die meisten dieser HTML-Elemente werden durch ein Tag-Paar markiert, das heit durch einen Starttag und einen Endtag. Ein Starttag beginnt immer mit dem Zeichen <. Es folgt der Elementname (z. B. p fr einen Absatz oder h1 fr eine berschrift erster Ordnung) und optional eine Liste seiner Attribute (z. B. class="warning"). Mit einem > wird der Starttag geschlossen. Ein Endtag besteht aus den Zeichen </, dem Elementnamen und dem abschlieenden >. Die zusammengehrenden Start- und Endtags bilden zusammen mit dem dazwischenliegenden Inhalt ein Element allgemeiner SGML-Spezifikation. Diese Elemente lassen sich nach Regeln, die in einer Dokumenttypdefinition (DTD) angegeben sind, verschachteln: <p>Ein Textabsatz, der ein <em>betontes</em> Wort enthlt.</p> HTML-Elemente sind keine Angaben zur Prsentation, die dem Webbrowser mitteilen, wie er den Text visuell zu formatieren hat. Vielmehr sind Elemente eine strukturierende Auszeichnung, mit der sich Textbereichen eine Bedeutung zuordnen lsst, z. B. <h1></h1> fr eine berschrift, <p> </p> fr einen Textabsatz und <em></em> fr betonten Text. Wie diese Bedeutung letztlich dem Benutzer vermittelt wird (im Falle einer berschrift z. B. durch vergrerte, fette Schrift), ist zunchst dem Webbrowser berlassen und hngt von der Ausgabe-Umgebung ab. Denn obwohl HTML-Dokumente in der Regel auf Computerbildschirmen dargestellt werden, knnen sie auch auf anderen Medien ausgegeben werden, etwa auf Papier oder mittels Sprachausgabe. CSSFormatvorlagen eignen sich dazu, um auf die Prsentation eines HTML-Dokuments in verschiedenen Medien Einfluss zu nehmen.

Das Einlesen des Quelltextes sowie das Verarbeiten der vorhandenen Informationen wird in der Fachsprache auch als Parsen bezeichnet, und die Aufbereitung fr das Ausgabemedium als Rendern. Die Sprache HTML beschreibt, wie der Browser (oder ein anderes Programm, wie z. B. ein Text-Editor) die Auszeichnungen des Textes zu verstehen hat, nicht, wie er sie dann in der Darstellung umsetzt. So besagt <h1> zwar, dass eine berschrift folgt, nicht aber, in welcher Schriftgre oder Schriftschnitt diese darzustellen ist hier haben sich nur gewisse bliche Standardeinstellungen eingebrgert, die aber nicht Teil der HTML-Spezifikation sind

Allgemeine Struktur
Ein HTML-Dokument besteht aus drei Bereichen:

1.der Dokumenttypdeklaration (Doctype) ganz am Anfang der Datei, die die


verwendete Dokumenttypdefinition (DTD) angibt, z. B. HTML 4.01 Strict, 2.dem HTML-Kopf (HEAD), der hauptschlich technische oder dokumentarische Informationen enthlt, die blicherweise nicht im Anzeigebereich des Browsers dargestellt werden 3.dem HTML-Krper (BODY), der jene Informationen enthlt, die gewhnlicherweise im Anzeigebereich des Browsers zu sehen sind.

HTML-Kopf
Im Kopf knnen sieben verschiedene Elemente angewandt werden: title bezeichnet den Titel der Seite, der von den meisten Browsern in der Titelleiste angezeigt wird. meta kann vielfltige Metadaten enthalten. Siehe Meta-Element. base gibt entweder eine Basis-URI oder einen Basisframe an. link dient zur Angabe von logischen Beziehungen zu anderen Ressourcen. Wird am hufigsten zur Einbindung von Stylesheets benutzt. script bindet Code in einer bestimmten Skriptsprache ein, hauptschlich JavaScript. style enthlt Stilinformationen, hauptschlich CSS-Deklarationen. object bindet eine externe Datei ein. Browser drfen solche Objekte im Dokumentkopf nicht darstellen.

HTML-Krper
HTML unterscheidet zwischen Block- und Inline-Elementen. Der wesentliche Unterschied ist, dass erstere in der Ausgabe einen eigenen Block erzeugen, in dem der Inhalt untergebracht wird, whrend die Inline-Elemente den Textfluss nicht unterbrechen. Vereinfacht gesprochen haben BlockElemente immer ihre eigene Zeile. Mithilfe von CSS ist es jedoch mglich, Block-Elemente wie ein Inline-Element darzustellen und umgekehrt. Zudem lassen sich via CSS Elemente auch als inlineblock auszeichnen, mit dem Ergebnis, dass dieses Element sowohl Eigenschaften eines BlockElementes als eines Inline-Elementes besitzt. Eine berschrift erster Ordnung wird so ausgezeichnet: <h1>berschrift</h1> h1 steht fr Heading 1, zeichnet also eine berschrift der ersten (und in HTML hchsten) Gliederungsstufe aus. Weiter mglich sind h2 bis h6, berschriften zweiter bis sechster Gliederungsstufe. Ein Hyperlink: <a href="http://example.com/">Dies ist ein Verweis auf example.com</a> Hyperlinks sind Verweise auf andere Ressourcen, meistens ebenfalls HTML-Dokumente, die blicherweise im Browser durch Klick verfolgt werden knnen. Dieser Link knnte

so gerendert werden: Dies ist ein Verweis auf example.com Ebenso ist an diesem Beispiel zu sehen, dass das Link-Element ein Inline-Element ist und keine neue Zeile beginnt. Zur Logik stehen zum Beispiel die Elemente strong und em bereit, mit denen sich stark hervorgehobener oder betonter Text auszeichnen lsst. Per Voreinstellung (lt. W3C-Empfehlung) werden strong- und em-Elemente durch Fettschrift beziehungsweise kursive Schrift gerendert. Die Strukturbeschreibung des Textes, wie sie die obigen Beispielen veranschaulichen, vereinfacht es, das Rendern dem Betrachter anzupassen, um etwa Text einem Sehbehinderten vorzulesen oder als Braille auszugeben.

Metadaten
Metadaten oder Metainformationen sind Daten, die Informationen ber andere Daten enthalten. Bei den in dieser Art beschriebenen Daten handelt es sich oft um grere Datensammlungen, wie Dokumente, Bcher, Datenbanken oder Dateien. So werden auch Angaben von Eigenschaften eines Objektes (beispielsweise Personennamen) als Metadaten bezeichnet. Whrend der Begriff Metadaten relativ neu ist, ist das Prinzip schon jahrhundertelange bibliothekarische Praxis.

Beispiele

[Bearbeiten]

Typische Metadaten zu einem Buch sind beispielsweise der Name des Autors, die Auflage, das Erscheinungsjahr, der Verlag und die ISBN. Zu den Metadaten einer Computerdatei gehren unter anderem der Dateiname, die Zugriffsrechte und das Datum der letzten nderung. Zur Speicherung von Metadaten gibt es verschiedene Mglichkeiten.

1.Im Dokument selbst. So ist in einem Buch stets auch der Autor und das Erscheinungsjahr
verzeichnet. In HTML-Dokumenten werden mit Hilfe des Elements meta beispielsweise Sprache, Autor, Unternehmen oder Schlagwrter angegeben. 2.In zugeordneten Nachschlagewerken, zum Beispiel fr ein Buch in einer Bibliothek im Bibliothekskatalog. 3.Bei Computerdateien in den Dateiattributen. Die meisten Dateisysteme erlauben nur genau festgelegte Metadaten in Dateiattributen; andere (HPFSmittels erweiterter Attribute) erlauben die Assoziation beliebiger Daten mit einer Datei. Auch ist es blich, die MetaInformation Dateityp im Dateinamen unterzubringen; typischerweise in der Extension. Standards fr interoperable Metadaten haben die Aufgabe, Metadaten aus unterschiedlichen Quellen nutzbar zu machen. Sie umfassen dazu zunchst folgende Aspekte:

Semantik Datenmodell Syntax

Die Semantik beschreibt die Bedeutung, die in der Regel von Normierungs-Gremien festgelegt wird (vgl. Dublin Core). Das Datenmodell legt fest, welcheStruktur die Metadaten besitzen knnen. Als Daten lassen sich im Zusammenhang mit Metadaten Aussagen auffassen, die ber ein zu beschreibendes Objekt (Dokument, Ressource, ) getroffen werden. Als Modell-Komponente des

Begriffs Datenmodell lsst sich eine Beschreibung dessen auffassen, wie die Aussagen strukturell beschaffen sind (der Begriff Datenmodell bedeutet damit im Kontext von Metadaten so viel wie Grammatik oder "Struktur von Aussagen). Beispiele fr Datenmodelle von Metadaten sind einfache Attribut/Wert-Kombinationen (z. B. HTML-Meta-Tags) oder Stze mit Subjekt, Prdikat und Objekt(z. B. Tripel in RDF). Die Syntax dient schlielich dazu, die entsprechend dem Datenmodell generierten Aussagen zu reprsentieren. Beispiel fr ein Reprsentationsformat ist XML (eXtensible Markup Language). Zwischen diesen drei Aspekten besteht nun folgende Beziehung: Die Semantik wird durch Konstrukte des Datenmodells reprsentiert. Das Datenmodell wird wiederum durch syntaktische Konstrukte reprsentiert. Die syntaktischen Konstrukte werden schlielich aus Zeichen eines vereinbarten Zeichensatzes (wie beiUnicode) zusammengesetzt. Diese drei Aspekte lassen sich als hierarchisch bereinander liegende Schichten auffassen, da jede Schicht jeweils auf der darunter befindlichen Schicht aufbaut. Die Schichten sind dabei voneinander unabhngig, d. h. die Verwendung eines bestimmten Standards in einer Schicht erfolgt unabhngig von den anderen Schichten (wie die Schichtenmodelle der Netzwerkkommunikation, beispielsweise das ISO/OSI-Schichtenmodell). So kann eine bestimmte Semantik durch Konstrukte verschiedener Datenmodelle reprsentiert werden (z. B. Attribut/Wert-Kombination, Tripel), die wiederum durch verschiedenen Syntaxen reprsentiert werden knnen (Graphen, XML-Formate). Orthogonal zu diesen Schichten liegt als vierter Aspekt die Identifizierung, die alle drei Schichten betrifft. Um Metadaten verschiedener Quellen sinnvoll verarbeiten zu knnen, muss (weltweit) eindeutig gekennzeichnet werden, um welche Semantik, welches Datenmodell und welche Syntax es sich handelt. Hierzu ist ein Identifikationsmechanismus erforderlich, wie ihn die URIs (Uniform Resource Identifier) bereitstellen.

Abbildung 1

Alle vier Aspekte Semantik, Datenmodell, Syntax und Identifizierung sind erforderlich, um Standards fr interoperable Metadaten zu schaffen. Sie knnen daher gemeinsam in ein Rahmenwerk (engl. Framework) eingeordnet werden. Wrtlich bersetzt heit Framework entweder Gerippe, Gerst, Rahmen oder Bezugssystem. Ein Rahmenwerk bietet also eine Art Grundgerst oder Gerippe, das bereits die wichtigsten Elemente bzw. Komponenten eines Systems und deren Beziehungen beschreibt, jedoch ohne genaue Vorgaben hinsichtlich deren Ausgestaltung zu machen. Es fungiert somit als eine Art Bezugsrahmen oder Bezugssystem, das die sinnvolle Eingliederung neuer Komponenten ermglicht. Da ein Rahmenwerk Elemente und deren Beziehungen zeigt, kann dies leicht durch die grafische Anordnung von Elementen visualisiert werden. Abbildung 1 zeigt ein Rahmenwerk fr Metadaten, auf einer Meta-Ebene. Im Gegensatz zu konkreten Ausprgungen von Rahmenwerken, d. h. also der Ausprgungs- oder Instanzenebene, beschreibt ein Rahmenwerk auf der Meta-Ebene

ein verallgemeinertes Rahmenwerk erkennbar an den generischen Bezeichnungen der Bestandteile. Als Beispiel fr ein konkretes Rahmenwerk fr Metadaten sei RDF (Resource Description Framework) des W3C (World Wide Web Consortium) genannt. RDF enthlt alle der oben genannten vier Aspekte mit spezifischen Ausprgungen, wie in Abb. 2 dargestellt.

Abbildung 2

Die Komponenten im Detail:

Semantik: Domnenspezifische Semantiken knnen ber Namensrume importiert werden,


womit die Semantik eines RDF-Vokabulars beliebig erweitert werden kann Datenmodell: RDF besitzt ein festgelegtes Datenmodell, das Aussagen ber Ressourcen in Form von Tripeln mit Subjekt, Prdikat und Objekt gestattet

Syntax: Zur Reprsentation solcher Aussagen kann eine beliebige Syntax verwendet
werden, RDF/XML, Graphen, oder die N-Triple-Notation; RDF/XML ist jedoch die normative Syntax Identifikation: Als universeller Identifikations-Mechanismus werden URIs verbindlich vorgeschrieben Der Idee eines Rahmenwerkes folgend definiert RDF selbst keine domnenspezifische Semantik, sondern spezifiziert lediglich einen Mechanismus, wie ber Namensrume mit Hilfe einer URI weitere Semantiken eingebunden werden knnen. Verbindlich legt RDF hingegen ein gemeinsames Datenmodell in Form von Tripeln fest sowie die universelle Verwendung von URIs als Identifikationsmechanismus. Diese werden sowohl eingesetzt, um die einzelnen Komponenten eines Tripels (Subjekt, Prdikat, Objekt) zu kennzeichnen, als auch deren Werte und Datentypen. Die konkrete Syntax zur Reprsentation der Tripel kann jedoch, wiederum dem Gedanken eines Rahmenwerkes folgend, frei gewhlt werden, wobei RDF/XML als Standard vorgesehen ist. Mit RDF Schema enthlt RDF auerdem noch eine Schema-Sprache, um eigene Metadaten-Vokabulare zu definieren. RDF Schema verhlt sich zu RDF hnlich wie XML Schema zu XML. Ein RDF Schema ist gleichzeitig ein gltiges RDF-Dokument, ebenso ist ein XML Schema gleichzeitig ein gltiges XML-Dokument. In beiden Fllen handelt es sich also um spezialisierte Teilmengen einer Auszeichnungssprache. Whrend XML Schema jedoch syntaktische Einschrnkungen beschreibt, z. B. Elementnamen, Hufigkeit des Auftretens etc., beschreibt RDF Schema semantischeEinschrnkungen, also z. B. dass ein Attribut hasPublished nur auf Instanzen der Klasse Mensch oder juristischePerson angewendet werden darf, nicht jedoch auf Instanzen der Klasse Tier in der Schemasprache formuliert, hat das Attribut hasPublished die Domne Mensch oder juristischePerson. Wie XML dem Grundsatz der Einfachheit und Erweiterbarkeit folgend die Welt der Daten grndlich vernderte, in dem es durch eine einheitliche Syntax, ein genormtes Typsystem und seine Textbasiertheit die Definition problemlos zwischen verschiedenen Systemen und Programmen austauschbarer Datenformate ermglichte, versucht RDF die Welt der Metadaten durch ein einheitliches Datenmodell zu verndern. Durch den Charakter eines Rahmenwerkes knpft RDF dabei ebenfalls an bewhrte Grundstze wie Einfachheit und Erweiterbarkeit an.

Semantik:
Semantik (bezeichnen), auch Bedeutungslehre, nennt man die Theorie oder Wissenschaft von der Bedeutung der Zeichen.Zeichen knnen in diesem Fall Wrter, Phrasen oder Symbole sein. Die Semantik beschftigt sich typischerweise mit den Beziehungen zwischen Zeichen und Bedeutungen dieser Zeichen. Soweit Semantik sich mit Zeichen aller Art befasst, ist sie ein Teilbereich der Semiotik (Zeichentheorie); sofern sie sich nur mit sprachlichen Zeichen befasst, ist sie eine Teildisziplin der Linguistik (Sprachwissenschaft).

Datenmodell:
In der Informatik, im Besonderen bei der Entwicklung von Informationssystemen dienen Datenmodelle und die zu deren Erstellung durchgefhrten Aktivitten (Datenmodellierung) dazu, die Struktur fr die in den Systemen zu verarbeitenden (im Besonderen fr die zu speichernden) Daten zu finden und festzulegen.

Arten von Datenmodellen


1.

Konzeptuelles Datenbankschema:
Diagramm (am hufigsten verwendet) der realen Welt (im relevanten

Implementierungsunabhngiges Modell, z.B. ein E/R-

oder ein UML-Diagramm; modelliert werden die Gegenstnde

Kontext), die in der Datenbank abgebildet werden sollen, und die Beziehungen zwischen diesen Gegenstnden. 2.Logisches Datenbankschema: Abbildung des konzeptuellen Datenbankschemas auf die Regeln des zu verwendenden DBMS, z. B. gem. demrelationalen Datenmodell, bei dem alle Daten in Tabellen abgelegt werden. 3.Physisches Datenbankschema: Enthlt weitere, zum technischen Betrieb erforderliche oder zweckmige Festlegungen, z. B. Indexstrukturen zur Zugriffsoptimierung. Diese bleiben dem Datenbankbenutzer verborgen.

Syntax:

Tag
Ein Tag [ist eine Auszeichnung eines Datenbestandes mit zustzlichen Informationen und zur Kategorisierung. In Auszeichnungssprachen (engl. mark-up languages) wie SGML, XML oder HTML bezeichnen Tags die in spitzen Klammern eingeschlossenen Krzel, die beispielsweise in HTML dazu dienen, Textelemente auszuzeichnen oder in XML Daten zu klassifizieren und strukturieren. Dabei kommen sogenannte ffnende und schlieende Tags zum Einsatz. Letztere sind durch einen fhrenden Schrgstrich gekennzeichnet. Tags knnen als benannte Klammern aufgefasst werden In HTML bedeutet zum Beispiel die semantische Auszeichnung <strong>Text</strong>, dass der so gefasste Text hervorgehoben oder betont wird; abhngig vom darstellenden Medium mag diese Textpassage dann etwa durch Fettschrift angezeigt werden, je nach Rendering. Tags knnen Attribute enthalten, wie im folgenden Beispiel die jeweiligen Sprachen: <author xml:lang="en">William Shakespeare</author> <title xml:lang="de">Ein Sommernachtstraum</title> Mittels der innerhalb der Auszeichnungssprache XML als sogenannte SchemaDefinition DTD verfgbaren frei definierbaren Tags knnte beispielsweise die Strukturierung und Auszeichnung des Dokuments fr den Eintrag im Kundenverzeichnis einer Firma so aussehen: <kunde> <name>Meier</name> <vorname>Bert</vorname> <nummer>12345</nummer> </kunde> Dies lsst sich auch auffassen als eine Wertzuweisung, bestehend aus Schlssel und Wert: name=Meier vorname=Bert nummer=12345

Auszeichnungssprache
Eine Auszeichnungssprache (englisch: Markup Language, ML) dient zur Beschreibung des Inhalts eines Dokumentenformates und teilweise zur Beschreibung des Verfahrens, welches zur Bearbeitung dieser Daten bentigt wird. Ursprnglich dienten die Auszeichnungen im Text als Anweisungen fr die Setzer im Drucksatz, mit der Weiterentwicklung in der Typografie fr digitale Texte wurden daraus jedoch komplexe Sprachen.

Funktionsweise [Bearbeiten]
Bei Auszeichnungssprachen werden die Eigenschaften, Zugehrigkeiten und Verfahren von bestimmten Wrtern, Stzen und Abschnitten (Auszeichnungselemente) eines Textes oder einer Datenmenge beschrieben und zugeteilt, in der Regel indem sie mit Auszeichnungselementen auch Tagsgenannt markiert werden.

Die Quelltexte werden in der Regel in ASCII oder Unicode (meist UTF-8) verfasst. Oft bietet die Sprache auch die Mglichkeit, Sonderzeichen zu beschreiben, meist mit Hilfe einer numerischen Zuweisung (Unicode) oder durch Benennung (zum Beispiel fr in LaTeX \mu und in HTML &micro;).

Unterscheidung und Abgrenzung

[Bearbeiten]

Bei den Auszeichnungssprachen wird heute grob unterschieden in Sprachen zur reinen Beschreibung, Descriptive Markup Language (DML) und inprozedurale Auszeichnungssprachen, Procedural Markup Language (PML). Mit den reinen Beschreibungssprachen werden die Informationen beschrieben, also die physische und logische Struktur eines Dokumentes (neudeutsch:Layout) und die Semantik der Elemente, im Gegensatz zu den prozeduralen Auszeichnungssprachen, welche die Darstellung der Dokumente unter anderem auf dem Bildschirm, im Webbrowser oder fr Drucker beschreiben.[1]

Descriptive Markup Language

[Bearbeiten]

Zu den reinen Beschreibungssprachen gehren unter anderem die in SGML oder XML definierten Sprachen HTML, DocBook, TEI, MathML, WML, XAML undSVG. Eine Vereinfachte Auszeichnungssprache ist eine Auszeichnungssprache mit einem einfachem Syntax um Dokumente (z.B. in Wiki, Blogs, Foren) einfach manuell erstellen und lesen zu knnen.

Procedural Markup Language

[Bearbeiten]

Die darstellenden Seitenbeschreibungssprachen wie das Textsatzsystem TeX und dessen Makropakete LaTeX oder ConTeXt, kann man weitlufigst zu den Auszeichnungssprachen zhlen. Hier werden jedoch sowohl Eigenschaften der reinen Beschreibungssprachen sowie der prozeduralen Auszeichnungssprachen verwendet, wie das auch bei den Seitenbeschreibungssprachen fr PDF und PostScript der Fall ist.

Programmiersprache

[Bearbeiten]

Die Abgrenzung ist zum Teil jedoch auch sehr schwierig, da beispielsweise bei der Sprache PostScript auch Eigenschaften von Programmiersprachenverwendet werden. Zur Darstellung einer Lissajous-Figur in Postscript mssen so z. B. nicht alle Kanten der Grafik in einer Segmentliste enthalten sein, da diese auch anhand eines programmierten Algorithmus zur Laufzeit erzeugt werden knnen. Das Ziel ist jedoch eine beschreibende Datenauszeichnung, allerdings wird diese unter Umstnden erst zur Laufzeit aus einer prozeduralen Vorstufe dynamisch erzeugt. Die Abgrenzung zu Programmiersprachen wird in diesem Fall flieend, denn wie diese besitzen auch alle Auszeichnungssprachen eine Syntax, eine Grammatik und eine Semantik, was aber noch keine hinreichenden Bedingungen sind zur Definition einer Programmiersprache. Eine Programmiersprache unterscheidet sich von einer reinen Auszeichnungssprache durch die Elemente von Sequenz, Iteration und Auswahl.

Resource Description Framework:


System zur Beschreibung von Ressourcen) bezeichnet eine Familie von Standards desWorld Wide
Web Consortiums (W3C) zur formalen Beschreibung von Informationen ber Objekte, sogenannte Ressourcen, die durch eindeutige Bezeichner (URIs) identifiziert werden.[1] Es ist ursprnglich als Datenmodell zur Beschreibung von Metadaten im World Wide Web (WWW, Web), wie z. B. Titel, Autor, Copyright einer Webseite, entwickelt worden

RDF ist eine Kernkomponente des Semantischen Webs, einer Initiative des W3C mit dem Ziel, die Prinzipien des World Wide Web (Verknpfung, Offenheit, Heterogenitt) von Dokumenten auf allgemeine Daten zu bertragen. Durch die formale Reprsentation in RDF sind Informationen von Maschinen auswertbar. Dadurch sind sie maschinell durchsuchbar (z. B. mithilfe der Anfragesprache SPARQL) und implizit vorhandene Informationen knnen durch den Einsatz von genaueren Spezifikationen des modellierten Bereichs, z. B. mithilfe von RDF-Schema (RDFS) oder der Web Ontology Language (OWL), maschinell erschlossen werden, obwohl die Information nicht explizit vorliegt. RDF bietet ein einfaches Datenmodell mit einer wohldefinierten formalen Semantik, das RDFModell, welches auf gerichteten Graphen basiert. Daten in RDF sind (wahre) Aussagen ber Ressourcen. Diese Aussagen werden dabei als Tripel modelliert, also als eine Sequenz aus 3 Elementen, dem sogenannten Subjekt (die Ressource, ber die eine Aussage getroffen wird), dem Prdikat (eine Eigenschaft des Subjekts) und dem Objekt (das Argument des Prdikats). Die Menge der Tripel bilden einen Graphen. Die zugrundeliegende Struktur eines jeden RDF-Ausdrucks ist eine Sammlung von Tripeln, der RDFTripel, wobei jedes aus einem Subjekt, einem Prdikat (oder Eigenschaft) und einem Objekt (oder Eigenschaftswert) besteht. Eine Menge solcher RDF-Tripel ist ein RDF-Graph.[2] Ein Tripel ist eine Aussage, die eine Beziehung zwischen dem Subjekt und dem Objekt beschreibt. Diese Beziehung ist gerichtet, nmlich vom Subjekt zum Objekt, und mit dem Prdikat benannt. Ein Prdikat stellt also eine binre Relation dar. Subjekt und Prdikat sind immer Ressourcen. Das Objekt kann entweder eine Ressource oder ein Literal sein. Literale sind dabei Zeichenketten, die unter Umstnden noch anhand eines angegebenen Datentyps interpretiert werden. Auf diese Weise lassen sich Wahrheitswerte (z. B. true und false), Zahlen (z. B. 42 oder 0x2A) oder Datumsangaben (z. B. 2009-02-01-21:00) spezifizieren. Literale knnen nicht als Subjekt oder Prdikat verwendet werden. Im Folgenden wird ein RDF-Tripel anhand eines Beispiels nher erlutert: Der Satz Firma ACME verkauft Batterien kann wie in der Schulgrammatik analysiert werden und auf die Modellierung mittels RDF bertragen werden: die Firma ACME ist das Subjekt, verkaufen ist das Prdikat und Batterien das Objekt. Wie oben gesagt, stellt die Firma ACME eine Ressource dar, die typischerweise durch eine URI identifiziert werden wrde. Das verkaufen stellt dabei das Prdikat in einem RDF-Tripel dar. Es sind grundstzlich beliebig viele dieser Prdikate denkbar, wobei sich die Bedeutungen nur unmageblich unterscheiden knnen. So wrde statt verkaufen auch anbieten ein sinnvolles Prdikat sein. Die Interpretation eines Prdikats beruht auf Konventionen. RDF selbst legt nur eine kleine Anzahl von Prdikaten, z. B. zur Bestimmung eines Typs einer Ressource, fest. Darauf aufbauend gibt es viele weitere Standards, die ein Vokabular mit einer bestimmten Bedeutung festlegen. RDF-Tripel werden blicherweise in der Reihenfolge Subjekt, Prdikat, Objekt notiert. Der RDF-Graph kann auch grafisch veranschaulicht werden. Dabei werden Ressourcen, die Subjekt oder Objekt eines Tripels sind, durch Ellipsen und Literale durch Rechtecke symbolisiert. Die Verbindung zwischen einem Subjekt und einem Objekt wird durch eine gerichtete Kante, die mit dem Prdikat beschriftet ist, dargestellt. Die folgende Abbildung zeigt ein einfach modelliertes Tripel in der vorgestellten grafischen Konvention. Folgende Grafik wurde mit dem W3C RDF Validator aus dem weiter unten angegebenen Beispiel erzeugt. Dargestellt sind zwei Tripel mit demselben Subjekt http://de.wikipedia.org/wiki/Resource_Description_Framework.

Beispiel:
Nehmen wir zur Erluterung die folgende Aussage ber diesen Artikel (wobei Titel und Herausgeber nach Dublin Core definiert sind): http://de.wikipedia.org/wiki/Resource_Description_Framework hat den Titel Resource Description Framework und den Herausgeber Wikipedia Die freie Enzyklopdie. Diese Aussage wird in RDF mit zwei Tripeln ausgedrckt. In N3 (das has dient hier nur der besseren Lesbarkeit): <http://de.wikipedia.org/wiki/Resource_Description_Framework> has <http://purl.org/dc/elements/1.1/title> "Resource Description Framework" . <http://de.wikipedia.org/wiki/Resource_Description_Framework> has <http://purl.org/dc/elements/1.1/publisher> "Wikipedia - Die freie Enzyklopdie" . In RDF/XML lsst sich die Aussage so ausdrcken: <?xml version="1.0" encoding="UTF-8" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework"> <dc:title>Resource Description Framework</dc:title> <dc:publisher>Wikipedia - Die freie Enzyklopdie</dc:publisher> </rdf:Description> </rdf:RDF>

1.2.Hypertext-Modelle : http://www-is.informatik.unioldenburg.de/~dibo/teaching/mm/buch/node116.html

1.3. CSS :Cascading Style Sheets


Der Aufbau von CSS-Regeln:
Selektor [, Selektor2, ] { Eigenschaft-1: Wert-1; Eigenschaft-n: Wert-n[;] } /* Kommentar */ /* In eckigen Klammern stehen optionale Angaben */ Eine CSS-Regel gibt an, dass fr durch sie festgelegte Teile eines Dokuments eine bestimmte, ebenfalls in ihr angegebene Eigenschaftskombination gelten soll. Sie wird geschrieben als eine kommagetrennte Liste von Selektoren ("Fr diese Typen von Teilen "), gefolgt von einer in geschweiften Klammern stehenden, semikolongetrennten Liste von Eigenschafts-Deklarationen (" nimm alle diese Eigenschaften!"); nach der letzten Eigenschafts-Deklaration ist ein abschlieendes Semikolon erlaubt. Eine EigenschaftsDeklaration besteht aus deren Namen und der Angabe, welchen Wert sie annehmen soll; diese Name-Wert-Paare werden ihrerseits durch einen Doppelpunkt getrennt. Um diese Teile einer Regel herum ist Weiraum frei verwendbar; hufig schreibt man den Doppelpunkt ohne Zwischenraum hinter den Eigenschaftsnamen, jede Eigenschaftsdeklaration auf eigener Zeile und schliet auch die letzte Eigenschaft mit einem Semikolon so kommt es zu weniger Syntaxfehlern bei nderungen. Ein Stylesheet darf beliebig viele solcher Regeln enthalten. Die folgende Tabelle gibt die wichtigsten Arten von Selektoren wieder, mit denen Elemente (meistHTML-Elemente) ausgewhlt werden knnen. Eine vollstndige bersicht aller Selektoren findet sich fr CSS2[4] wie auch fr CSS3[5] auf w3.org.

Selektoren:
Ein Selektor nennt die Bedingungen, die auf ein Element zutreffen mssen, damit der nachfolgende Satz an CSS-Deklarationen mit seinen Darstellungsvorgaben auf das Element angewendet wird. Solche Bedingungen beschreiben unzweideutig, welche Eigenschaften (Typ, Klasse, ID, Attribut oder Attributwert) Elemente haben mssen oder in welchem Kontext sie im Dokument stehen mssen (Existenz eines bestimmten bergeordneten Elementes oder eines Vorgngerelementes bestimmten Typs), damit die Darstellungsvorgaben fr sie gelten sollen. In einem Selektor knnen mehrere Auswahlkriterien verknpft sein.

Muster

Bedeutung

Eingefh Definition

Erluterung

rt in einfache Selektoren * E .c #myid [foo] [foo=bar] Selektiert jedes Element Selektiert jedes Element vom Typ E Selektiert jedes Element der Klasse c (analog [class~='c']) Selektiert das Element mit der ID myid. Selektiert Elemente, deren foo-Attribut gesetzt ist (unabhngig vom Wert) Selektiert Elemente, deren foo-Attribut mit dem Wert bar gesetzt ist Selektiert Elemente, deren foo-Attribut das Wort bar enthlt (also beispielsweise bar oder auch bar quz aber nicht barquz) Selektiert Elemente, deren foo-Attribut exakt die Zeichenfolge bar ist oder mit der Zeichenfolge bar- beginnt Selektiert Elemente, deren foo-Attribut mit der Zeichenfolge bar beginnt Selektiert Elemente, deren foo-Attribut mit der Zeichenfolge bar endet Selektiert Elemente, deren foo-Attribut die Zeichenfolge bar enthlt CSS2 CSS2 CSS2 CSS2 CSS2 CSS2 Attribute selectors Der Universalselekto r Type selectors Der Typselektor Class Der selectors Klassenselektor ID selectors Der ID-Selektor Universal selector Attributprsenz

[foo~=bar]

CSS2

Attributwerte

[foo|=bar] [foo^=bar] [foo$=bar] [foo*=bar]

CSS2 CSS3 CSS3 CSS3

Substring matching attribute selectors

Teilbereinstim mungen

Kombinatoren EF Selektiert alle Elemente F, die Nachfahren eines Elements E sind Selektiert alle Elemente F, die ein Kind eines Elements E sind Selektiert alle Elemente F, die einen Vorgnger E auf gleicher Ebene haben Selektiert alle Elemente F, die einen direkten Vorgnger E auf gleicher Ebene haben CSS2 Descendant selectors Der Nachfahrenselektor

E>F

CSS2

Child selectors Der Kindselektor

E~F

CSS3

General sibling Der combinator Geschwisterselektor

E+F

CSS2

Adjacent sibling Der combinator Nachbarselektor

Pseudoklassen

Selektiert unbesuchte CSS2 Verweise Selektiert bereits :visited CSS2 besuchte Verweise Selektiert das Element, :active das gerade angeklickt CSS2 ist Selektiert das Element, :hover ber dem sich der CSS2 Mauszeiger befindet Selektiert das Element, das den Fokus (z.B. :focus durch die CSS2 Tabulatortaste) erhalten hat Selektiert Elemente, deren Sprache ber das :lang() CSS2 Attribut lang festgelegt wurde Selektiert das Element, das Ziel des gerade :target CSS3 eben angeklickten Verweises ist Selektiert Elemente in :enabled Benutzeroberflchen, CSS3 die auswhlbar sind Selektiert Elemente in :disabled Benutzeroberflchen, CSS3 die gesperrt sind Selektiert Elemente von :checked CSS3 Benutzeroberflchen, die angewhlt sind Selektiert Elemente, :not(foo) fr die foo nicht CSS3 zutrifft strukturelle Pseudoklassen Selektiert Elemente, :first-child die das erste Kind ihres CSS2 Elternelementes sind Selektiert Elemente, die das letzte Kind :last-child CSS3 ihres Elternelementes sind Selektiert Elemente, :nth-child() die das k-te Kind ihres CSS3 Elternelementes sind :nth-last-child() Selektiert Elemente, CSS3 die das k-te Kind ihres :link

Die The link Pseudoklassen :link pseudo-classes und :visited

Die The dynamic Pseudoklassen :hov pseudo-classes er, :active und :focus

The language pseudo-class

Die Pseudoklasse :lang( ) Die Pseudoklasse :target

The target pseudo-class

The :enabled and :disabled pseudo-classes Die Pseudoklassen :ena bled, :disabled und :checked The :checked pseudo-class The negation pseudo-class Die Pseudoklasse :not() Die Pseudoklasse :firstchild Die Pseudoklasse :lastchild

:first-child pseudo-class :first-child pseudo-class :nth-child() pseudo-class

Die Pseudoklasse :nthchild() :nth-last-child() Die pseudo-class Pseudoklasse :nth-

Elternelementes sind, Zhlung beginnt von hinten Selektiert Elemente, die das einzige Kind :only-child ihres Elternelementes sind Selektiert Elemente, die das erste Element foo:first-of-type des Typs foo ihres Elternelementes sind Selektiert Elemente, die das letzte Element :last-of-type des Typs foo ihres Elternelementes sind Selektiert Elemente, die das k-te Element :nth-of-type() des Typs foo ihres Elternelementes sind Selektiert Elemente, die das k-te Element des Typs foo ihres :nth-last-of-type() Elternelementes sind, Zhlung beginnt von hinten Selektiert Elemente, die das einzige :only-of-type Element des Typs foo ihres Elternelementes sind Selektiert das :root Wurzelelement :empty Pseudoelemente ::first-line Selektiert die erste Zeile des formatierten Textes Selektiert das erste Zeichen des formatierten Textes Erzeugt und selektiert ein Element vor dem Element foo Erzeugt und selektiert ein Element nach dem Element foo

last-child() Die Pseudoklasse :onlychild Die Pseudoklasse :firstof-type Die Pseudoklasse :lastof-type Die Pseudoklasse :nthof-type()

CSS3

:only-child pseudo-class

CSS3

:first-of-type pseudo-class

CSS3

:first-of-type pseudo-class

CSS3

:nth-of-type() pseudo-class

CSS3

:nth-last-oftype() pseudoclass

Die Pseudoklasse :nthlast-of-type()

CSS3

:only-of-type pseudo-class :root pseudoclass

Die Pseudoklasse :onlyof-type

CSS3

Selektiert Elemente, CSS3 die keine Kinder haben

Die Pseudoklasse :root Die :empty pseudoPseudoklasse :empt class y The ::first-line Die erste Textzeile pseudo-element The ::first-letter Das erste Zeichen pseudo-element The ::before and ::after pseudoelements

CSS2

::first-letter

CSS2

foo::before

CSS2

Elemente fr generierten Inhalt

foo::after

CSS2

Stylesheets

Parameter all speech (CSS 2: aural) braille embossed handheld print projection screen tty tv

Bedeutung Stylesheet gilt fr alle Ausgabegerte aurale Ausgabegerte (z. B. Screenreader) Blindenschriftfhige Ausgabegerte Blindenschriftfhige Drucker Handhelds (Palmtops, PDAs, WinCE-Gerte) Drucker Video-Beamer, Overhead-Projektoren Bildschirme Ausgabegerte mit feststehenden Zeichentypen (z. B. Fernschreiber, Terminals oder auch ltere Mobiltelefone) TV-Gerte

What is a rule or "rule set"?


Introduction
A rule or "rule set" is a statement that tells browsers how to render particular elements on an HTML page. A rule set consists of a selector followed by a declaration block.

Rule structure

Selector
The selector "selects" the elements on an HTML page that are affected by the rule set. The selector consists of everything up to (but not including) the first left curly bracket. For example: h1 { color: blue; margin-top: 1em; } p { padding: 5px; } td { background-color: #ddd; }

Declaration block
The declaration block is a container that consists of anything between (and including) the curly brackets. Whitespace inside a declaration block is ignored - so it can be used to lay out rules in any way you want. For example:

h1 { color: blue; } p { padding: 5px; } td { background-color: #ddd; } Or, with whitespace added to aid readability: h1 { color: blue; }

Declaration
The declaration tells a browser how to draw any element on a page that is selected. A declaration consists of a property and a value, separated by a colon ":". Although it is not essential to add a semicolon after a single declaration, it is recommended that you finish the last declaration in a block with a semicolon. For example: h1 { color: blue; }

Property
The property is the aspect of that element that you are choosing to style. There can only be one property within each declaration. For example: p { padding: 5px; }

Value
The value is the exact style you wish to set for the property. For example: p { padding:5px; }

Grouping selectors
Selectors are used to "select" the elements on an HTML page that are affected by rules. When several selectors share the same declarations, they may be grouped together to save writing the same rule more than once. Each selector must be separated by a comma. They can also include a wide range of selectors. For example: h1, h2, h3, h4 { padding: 1em; } .highlight p, .highlight ul { margin-left: .5em; } #main p, #main ul { padding-top: 1em; }

The document tree - it's a family thing


All HTML documents are trees. Each level of the tree is described in the same manner as a human family tree, with ancestors, descendants, parents, children and siblings. CSS rules are based on the document tree. If you understand the document tree concept, then CSS selectors will be easy to understand and apply. Let's start with a sample of HTML. This sample doesn't include the head or title, as we are focussing on what is inside the body: <body> <div id="content"> <h1>Heading here</h1> <p>Lorem ipsum dolor sit amet.</p> <p>Lorem ipsum dolor <em>sit</em> amet.</p>

<hr> </div> <div id="nav"> <ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul> </div> </body> The document tree diagram for the sample above would be:

Ancestor
An ancestor refers to any element that is connected but further up the document tree - no matter how many levels higher. In the diagram below, the <body> element is the ancestor of all other elements on the page.

Descendant
A descendant refers to any element that is connected but lower down the document tree - no matter how many levels lower. In the diagram below, all elements that are connected below the <div> element are descendants of that <div>.

Parent

A parent is an element that is directly above and connected to an element in the document tree. In the diagram below, the <div> is a parent to the <ul>.

Child
A child is an element that is directly below and connected to an element in the document tree. In the diagram above, the <ul> is a child to the <div>.

Sibling
A sibling is an element that shares the same parent with another element. In the diagram below, the <li>'s are siblings as they all share the same parent - the <ul>.

Type selectors
The most common and easy to understand selectors are type selectors. Type selectors will select any HTML element on a page that matches the selector, regardless of their position in the document tree. For example: em {color: blue; } This rule will select any <em> element on the page and color it blue. As you can see from the document tree diagram below, all <em> elements will be colored blue, regardless of their position in the document tree.

There are a huge range of elements that you can select using type selectors, which means you can change the appearance of any or every element on your page using only type selectors.

!!Class selectors
Introduction
While type selectors target every instance of an element, class selectors can be used to select any HTML element that has a class attribute, regardless of their position in the document tree. For example, if you want to target the first paragraph and first list items on a page to make them stand out, you could mark up the page in the following way: <body> <p class="big">This is some <em>text</em></p> <p>This is some text</p> <ul> <li class="big">List item</li> <li>List item</li> <li>List <em>item</em></li> </ul> </body>

==>The rule used could then be:


.big { font-size: 110%; font-weight: bold; }

Combining class and type selectors


If you want to be more specific, you can use class and type selectors together. Any type selectors can be used. div.big { color: blue; } td.big { color: yellow; } label.big { color: green; } form.big { color: red; } For example, you may want to target the first paragraph and first list items on a page to give them a larger font size. You may also want only the paragraph to be bold.

To do this, you could use the following rules: .big { font-size: 110%; } /* affects p and li */ p.big { font-weight: bold; }/* affects p only */

Combining multiple classes


Perhaps the most powerful aspect of class selectors is that multiple classes can be applied to one HTML element. For example, you may wish to use two rules on one particular element like this: <p class="big indent"> .big { font-weight: bold; } .indent { padding-left: 2em; }

Less class
Class selectors can also be overused. For example, you may need to style a range of elements within a <div>. All elements within the <div> could be styled using one class applied to the <div>. You should try to avoid unnecessary markup like this: <div class="sidenav"> <h2 class="sideheading">Site navigation></h2> <ul class="sidelist"> <li class="sideitem">List item</li> <li class="sideitem"><a href="#"><span class="sidelink">List item</span></a></li>

<li class="sideitem">List item</li> </ul> </div> Instead, you could style all the elements within the <div> using one class like this: <div class="sidenav"> <h2>Site navigation</h2> <ul> <li>List item</li> <li><a href="#">List item</a></li> <li>List item</li> </ul> </div> With one class in place, you can target any element inside the <div>. The examples below use a combination of class selectors and type selectors. When added together they become descendant selectors. div.sidenav div.sidenav div.sidenav div.sidenav div.sidenav { blah } /* h2 { blah } ul { blah } li { blah } li a { blah styles overall div */ /* styles h2 within the /* styles ul within the /* styles li within the } /* styles a within li div */ div */ div */ within the div */

ID selectors
ID selectors are similar to class selectors. They can be used to select any HTML element that has an ID attribute, regardless of their position in the document tree. Examples of ID selectors: #navigation { width: 12em; color: #333; } div#navigation { width: 12em; color: #333; } The major difference is that IDs can only be applied once per page, while classes can be used as many times on a page as needed. ID selectors are well supported across standards-compliant browsers.

Descendant selectors
Descendant selectors are used to select elements that are descendants of another element in the document tree. For example, you may wish to target a specific <em> element on the page, but not all <em> elements. A sample document could contain the following code: <body> <h1>Heading <em>here</em> </h1> <p>Lorem ipsum dolor <em>sit</em> amet.</p> </body> The document tree diagram (with the <em> element to be targeted) would be:

If you use a type selector like the example below, you will select all <em> elements on the page: em {color: blue; }

However, if you use a descendant selector, you can refine the <em> elements that you select. The rule below will only select <em> elements that are descendants of <p> elements. If this rule is applied, the <em> element within the <h1> will not be colored blue. p em {color: blue; } You can also jump levels in the document tree structure to select descendants. For example, the following code: <body> <p>Lorem ipsum dolor <em>sit</em> amet.</p> <ul> <li>item 1</li> <li>item 2</li> <li><em>item 3</em></li> </ul> </body> The document tree (with a third-level <em> element highlighted) would be:

Using the following rule you can isolate any <em> element inside a <ul> element, without having to describe the <li> element. If this rule is applied, any <em> element within a <ul> element will be colored blue. However, the <em> element within the <p> will not be colored blue: ul em {color: blue; }

Child selectors
A child selector is used to select an element that is a direct child of another element (parent). Child selectors will not select all descendants, only direct children. For example, you may wish to target an <em> that is a direct child of a <div>, but not other <em> elements that are descendants of the <div>. A sample document could contain the following code: <body> <h1>Heading <em>text</em></h1> <div> This is some <em>text</em> <p>This is a paragraph of <em>text</em></p> </div> </body> The document tree (highlighting the <em> that is a child of the <div>) would be:

Using the following rule you can target any <em> element that is a child of the <div>. Other <em> elements that are descendants but not direct children of the <div> will not be targeted. div > em { color: blue; } OR div>em { color: blue; }

Universal selectors
Universal selectors are used to select any element. For example, the rule below will color all HTML elements on a page blue - regardless of their position in the document tree. * {color: blue; }

Adjacent sibling selectors


Adjacent sibling selectors will select the sibling immediately following an element. For example, you may wish to target an <h3> element, but only <h3> elements that immediately follow an <h2> element. This is a commonly used example, as it has a real-world application. There is often too much space between <h2> and <h3> elements when they appear immediately after each other. The code would be: <body> <h2>Heading 2 <em>text</em></h2> <h3>Heading 3 text</h3> <p>This is <em>text</em> and more <strong>text</strong></p> </body> The document tree would be:

Using the following rule, you can target any <h3> that follows an <h2>: h2 + h3 {margin: -1em; }

Attribute selectors
What are attributes?
All HTML elements can have associated properties, called attributes. These attributes generally have values. Any number of attribute/value pairs can be used in an element's tag - as long as they are separated by spaces. They may appear in any order. In the example below, the code segments highlighted in blue are attributes and the segments highlighted in red are attribute values. <h1 id="section1"> <img src="small.gif" width="100" height="100"> <img title="mainimage" alt="main image"> <a href="foo.htm"> <p class="maintext"> <form style="padding: 10px">

Attribute selectors
Attribute selectors are used to select elements based on their attributes or attribute value. For example, you may want to select any image on an HTML page that is called "small.gif". This could be done with the rule below, that will only target images with the chosen name: img[src="small.gif"] { border: 1px solid #000; } There are four types of attribute selectors. The first option is to select based on attribute. The example below will select an element (in this case "img") with the relevant attribute. Examples could include: img[title] { border: 1px solid #000; } img[width] { border: 1px solid #000; } img[alt] { border: 1px solid #000; } The second option is to select based on value. The example below will select any image whose attribute (in this case "src") has a value of "small.gif". img[src="small.gif"] { border: 1px solid #000; } The third method will select space separated instances of a value. The example below will select any image whose attribute (in this case "alt") contains a space separated list of words - in this case any "alt" that includes the word "small". img[alt~="small"] { border: 1px solid #000; } The fourth method will select hyphen separated instances of a value. The example below will select any image whose attribute (in this case "title") has a hyphen separated list - in this case any title that includes "small-". img[title|="small"] { border: 1px solid #000; }

Pseudo-classes
So far, all the selectors have been based on elements within the document tree. However, there are times when you may want to style something where there is no CSS selector available, like the state of a hyperlink (eg. active or visited). Pseudo-classes allow you to format items that are not in the document tree. They include: :first-child :link :visited :hover

:active :focus :lang(n)

Styling links
With pseudo-classes, you can style links in different ways in each of the four states. a:link is the selector for normal links a:visited is the selector for visited links a:hover is the selector for hover state a:active is the selector for active links Due to specificity, the selector that appears later in the stylesheet will be used if there is any conflict. For this reason, link and link pseudo class selectors should always be used in the following order. a {} a:link {} a:visited {} a:hover {} a:active {} All of the usual properties can be used on these four states. You can also combine states if needed, as long as the order (link and visited before hover and active) is maintained: a:link, a:visited { color: blue; } a:hover, a:active { color: red; } When styling the four link states you should be aware that modifying standard hyperlink behavior (such as underlines) can be confusing for some users, who may not realise that the item is a link.

Should you use ID or class?


There is a lot of debate about whether you should use classes or IDs. Your decision should be based on the following:

1. Repeated use within a document


Classes can be used as many times as needed within a document. IDs can only be applied once within a document. So, if you need to use the same specific selector more than once, classes are a better choice.

2. Combining class selectors


You can use multiple classes to style an HTML element but you can only use one ID when styling an HTML element. This means that class selectors have a wider range of applications. An example of combining classes would be: <p class="highlight indent"> .highlight { font-weight: bold; } .indent { padding-left: 2em; }

3. IDs have higher specificity than classes


There may be times when a declaration conflicts with another declaration. These conflicts are resolved using the Cascade rules. In simple terms, if a class selector and ID selector were to be in conflict, the ID selector would be chosen.

Cascade
What does "cascading" mean?
"Cascading" means that styles can fall (or cascade) from one style sheet to another, enabling multiple style sheets to be used on one HTML document. Even the simplest HTML document may have three or more style sheets associated with it including: The browser's style sheet The user's style sheet The author's style sheet

Browser style sheets


Browsers apply style sheets to all web documents. Although these style sheets vary from browser to browser, they all have common characteristics such as black text, blue links, purple visited links etc. These are referred to as a "default" browser stylesheet. As soon as you, the author, apply a style sheet to a document, it will override the browser's style sheet. This is because author style sheets will always override browser style sheets

User style sheets


A user is anyone who looks at your website. Most modern browsers allow users to set their own style sheets within their browser. These style sheets will override the browsers default style sheets - for that user only. It is important to know that users can set color and background color for HTML documents. If you, as an author, do not specify a color or background color, a user's style sheet could be used. More importantly, you should either specify both color and background color or neither. If you only specify a color and the user has specified the same color for their background, your entire document may be inaccessible to this user.

Author style sheets


The author is the person who develops the website - you! As soon as you apply a basic style sheet or an inline style to a page, you have added what is referred to as an "author style sheet". Everything you do, from choosing fonts, colours and laying out pages in CSS is done using author style sheets. Author style sheets can be applied inside an HTML document or by linking to an external file. You can also use multiple style sheets on an particular document to take advantage of the cascade. Generally speaking, author styles override user styles which override browser styles.

HTTP:
Das Hypertext Transfer Protocol (HTTP, dt. Hypertext-bertragungsprotokoll) ist ein Protokoll zur bertragung von Daten ber ein Netzwerk. Es wird hauptschlich eingesetzt, um Webseiten aus demWorld Wide Web (WWW) in einen Webbrowser zu laden. HTTP gehrt der sogenannten Anwendungsschicht etablierter Netzwerkmodelle an. Die Anwendungsschicht wird von den Anwendungsprogrammen angesprochen, im Fall von HTTP ist das meist ein Webbrowser. Im ISO/OSI-Schichtenmodell entspricht die Anwendungsschicht den Schichten 57. HTTP ist ein zustandsloses Protokoll. Ein zuverlssiges Mitfhren von Sitzungsdaten kann erst auf der Anwendungsschicht durch eine Sitzung ber eine Session-ID implementiert werden. Durch Erweiterung seiner Anfragemethoden, Header-Informationen und Statuscodes ist HTTP nicht aufHypertext beschrnkt, sondern wird zunehmend zum Austausch beliebiger Daten verwendet, auerdem ist es Grundlage des auf Dateibertragung spezialisierten Protokolls WebDAV. Zur Kommunikation ist HTTP auf ein zuverlssiges Transportprotokoll angewiesen, wofr in nahezu allen Fllen TCPverwendet wird.

Aufbau

[Bearbeiten]

Die Kommunikationseinheiten in HTTP zwischen Client und Server werden als Nachrichten bezeichnet, von denen es zwei unterschiedliche Arten gibt: dieAnfrage (engl. Request) vom Client an den Server und die Antwort (engl. Response) als Reaktion darauf vom Server zum Client. Jede Nachricht besteht dabei aus zwei Teilen, dem Nachrichtenkopf (engl. Message Header, kurz: Header oder auch HTTP-Header genannt) und dem Nachrichtenkrper (engl. Message Body, kurz: Body). Der Nachrichtenkopf enthlt Informationen ber den Nachrichtenkrper wie etwa verwendete Kodierungen oder den Inhaltstyp, damit dieser vom Empfnger korrekt interpretiert werden kann. Der Nachrichtenkrper enthlt schlielich die Nutzdaten.

Funktionsweise [Bearbeiten]
Wenn auf einer Webseite der Link zur URL http://www.example.net/infotext.html aktiviert wird, so wird an den Computer mit dem Hostnamen www.example.netdie Anfrage gerichtet, die Ressource /infotext.html zurckzusenden. Der Name www.example.net wird dabei zuerst ber das DNS-Protokoll in eine IP-Adresse umgesetzt. Zur bertragung wird ber TCP auf den Standard-Port 80 des HTTP-Servers eine HTTP-GETAnforderung gesendet. Anfrage: GET /infotext.html HTTP/1.1 Host: www.example.net Enthlt der Link Zeichen, die in der Anfrage nicht erlaubt sind, werden diese %-kodiert. Zustzliche Informationen wie Angaben ber den Browser, zur gewnschten Sprache etc. knnen ber den Header (Kopfzeilen) in jeder HTTP-Kommunikation bertragen werden. Sobald der Header mit einer Leerzeile (bzw. zwei aufeinanderfolgenden Zeilenenden) abgeschlossen wird, sendet der Computer, der einen Web-Server (an Port 80) betreibt, seinerseits eine HTTP-Antwort zurck. Diese besteht aus den Header-Informationen des Servers, einer Leerzeile und dem tatschlichen Inhalt der Nachricht, also dem Dateiinhalt derinfotext.html-Datei. bertragen werden normalerweise

Dateien in Seitenbeschreibungssprachen wie (X)HTML und alle ihre Ergnzungen, zum Beispiel Bilder, Stylesheets (CSS), Skripte (JavaScript) usw., die meistens von einem Browser in einer lesbaren Darstellung miteinander verbunden werden. Prinzipiell kann jede Datei in jedem beliebigen Format bertragen werden, wobei die Datei auch dynamisch generiert werden kann und nicht auf dem Server als physische Datei vorhanden zu sein braucht (z. B. bei Anwendung von CGI, SSI, JSP, PHP oder ASP.NET). Jede Zeile im Header wird durch den Zeilenumbruch <CR><LF> abgeschlossen. Die Leerzeile nach dem Header darf nur aus <CR><LF>, ohne eingeschlossenes Leerzeichen, bestehen. Antwort: HTTP/1.1 200 OK Server: Apache/1.3.29 (Unix) PHP/4.3.4 Content-Length: (Gre von infotext.html in Byte) Content-Language: de (nach RFC 3282 sowie RFC 1766) Connection: close Content-Type: text/html (Inhalt von infotext.html) Der Server sendet eine Fehlermeldung sowie einen Errorcode zurck, wenn die Information aus irgendeinem Grund nicht gesendet werden kann, allerdings werden auch dann Statuscodes verwendet, wenn die Anfrage erfolgreich war, in dem Falle (meistens) 200 OK. Der genaue Ablauf dieses Vorgangs (Anfrage und Antwort) ist in der HTTP-Spezifikation festgelegt.

Protokollversionen

[Bearbeiten]

Derzeit werden zwei Protokollversionen, HTTP/1.0 und HTTP/1.1, verwendet. Bei HTTP/1.0 wird vor jeder Anfrage eine neue TCP-Verbindung aufgebaut und nach bertragung der Antwort standardmig vom Server wieder geschlossen. Sind in ein HTML-Dokument beispielsweise zehn Bilder eingebettet, so werden insgesamt elf TCP-Verbindungen bentigt, um die Seite auf einem grafikfhigen Browser aufzubauen. Bei HTTP/1.1 kann ein Client durch einen zustzlichen Headereintrag (Keep-Alive) den Wunsch uern, keinen Verbindungsabbau durchzufhren, um die Verbindung erneut nutzen zu knnen (persistent connection). Die Untersttzung auf Serverseite ist jedoch optional und kann in Verbindung mit Proxies Probleme bereiten. Mittels HTTPPipelining knnen in der Version 1.1 mehrere Anfragen und Antworten pro TCP-Verbindung gesendet werden. Fr das HTML-Dokument mit zehn Bildern wird so nur eine TCP-Verbindung bentigt. Da die Geschwindigkeit von TCP-Verbindungen zu Beginn durch Verwendung des Slow-Start-Algorithmus recht gering ist, wird so die Ladezeit fr die gesamte Seite signifikant verkrzt. Zustzlich knnen bei HTTP/1.1 abgebrochene bertragungen fortgesetzt werden. Bei HTTP gehen Informationen aus frheren Anforderungen verloren (zustandsloses Protokoll). ber Cookies in den Header-Informationen knnen aber Anwendungen realisiert werden, die Statusinformationen (Benutzereintrge, Warenkrbe) zuordnen knnen. Dadurch werden Anwendungen mglich, die Status- bzw. Sitzungseigenschaften erfordern. Auch eine Benutzerauthentifizierung ist mglich. Normalerweise kann die Information, die ber HTTP bertragen wird, auf allen Rechnern und Routern gelesen werden, die im Netzwerk durchlaufen werden. ber HTTPS kann die bertragung aber verschlsselt erfolgen. Eine Mglichkeit zum Einsatz von HTTP/1.1 in Chats ist die Verwendung des MIMETyps multipart/replace, bei dem der Browser nach Sendung einesBoundary-Codes und einem neuerlichen Content-Length-Headerfeld sowie eines neuen Content-Type-Headerfeldes den Inhalt des Browserfensters neu aufbaut.

Mit HTTP/1.1 ist es neben dem Abholen von Daten auch mglich, Daten zum Server zu bertragen. Mit Hilfe der PUT-Methode knnen so Webdesigner ihre Seiten direkt ber den Webserver per WebDAV publizieren, und mit der DELETE-Methode ist es ihnen mglich, Daten vom Server zu lschen. Auerdem bietet HTTP/1.1 eine TRACE-Methode, mit der der Weg zum Webserver verfolgt und berprft werden kann, ob die Daten korrekt dorthin bertragen werden. Damit ergibt sich die Mglichkeit, den Weg zum Webserver ber die verschiedenen Proxies hinweg zu ermitteln, ein traceroute auf Anwendungsebene.

HTTP-Request-Methoden [Bearbeiten]
GET ist die gebruchlichste Methode. Mit ihr wird eine Ressource (z. B. eine Datei) unter Angabe eines URI vom Server angefordert. Als Argumente in dem URI knnen also auch Inhalte zum Server bertragen werden. Die Lnge des URIs ist je nach eingesetztem Server begrenzt und sollte aus Grnden der Abwrtskompatibilitt nicht lnger als 255 Bytes sein. (siehe unten) POST schickt unbegrenzte, je nach physikalischer Ausstattung des eingesetzten Servers, Mengen an Daten zur weiteren Verarbeitung zum Server, diese werden als Inhalt der Nachricht bertragen und knnen beispielsweise aus Name-Wert-Paaren bestehen, die aus einem HTMLFormular stammen. Es knnen so neue Ressourcen auf dem Server entstehen oder bestehende modifiziert werden. POST-Daten werden im Allgemeinen nicht von Cacheszwischengespeichert. Zustzlich knnen bei dieser Art der bermittlung auch Daten wie in der GET-Methode an den URI gehngt werden. (siehe unten) HEAD weist den Server an, die gleichen HTTP-Header wie bei GET, nicht jedoch den eigentlichen Dokumentinhalt (Body) zu senden. So kann zum Beispiel schnell die Gltigkeit einer Datei im Browsercache geprft werden. PUT dient dazu eine Ressource (z. B. eine Datei) unter Angabe des Ziel-URIs auf einen Webserver hochzuladen. DELETE lscht die angegebene Ressource auf dem Server. Heute ist das, ebenso wie PUT, kaum implementiert bzw. in der Standardkonfiguration von Webservern abgeschaltet, beides erlangt jedoch mit RESTful Web Services und der HTTP-Erweiterung WebDAV neue Bedeutung. TRACE liefert die Anfrage so zurck, wie der Server sie empfangen hat. So kann berprft werden, ob und wie die Anfrage auf dem Weg zum Server verndert worden ist sinnvoll fr das Debugging von Verbindungen. OPTIONS liefert eine Liste der vom Server untersttzen Methoden und Features. CONNECT wird von Proxyservern implementiert, die in der Lage sind, SSL-Tunnel zur Verfgung zu stellen. RESTful Web Services verwenden die unterschiedlichen Request-Methoden zur Realisierung von Web-Services. Insbesondere werden dafr die HTTP-Request-Methoden GET, POST, PUT und DELETE verwendet. WebDAV fgt folgende Methoden zu HTTP hinzu: PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK

Argumentbertragung
zwei Mglichkeiten zur Verfgung:

[Bearbeiten]

Hufig will der Nutzer einer Website spezielle Informationen senden. Dazu stellt HTTP prinzipiell

1.HTTP-GET: Die Daten sind Teil der URL und bleiben deshalb beim Speichern oder der Weitergabe des Links erhalten. 2.HTTP-POST: bertragung der Daten mit einer speziell dazu vorgesehenen Anfrageart im HTTP-Body, so dass sie in der URL nicht sichtbar sind. Die zu bertragenden Daten mssen ggf. URL-kodiert werden, d. h. reservierte Zeichen mssen mit %<Hex-Wert> und Leerzeichen mit + dargestellt werden.

HTTP GET

[Bearbeiten]

Hier werden die Parameter-Wertepaare durch das Zeichen ? in der URL eingeleitet. Oft wird diese Vorgehensweise gewhlt, um eine Liste von Parametern zu bertragen, die die Gegenstelle bei der Bearbeitung einer Anfrage bercksichtigen soll. Hufig besteht diese Liste aus Wertepaaren, welche durch das &-Zeichen voneinander getrennt sind. Die jeweiligen Wertepaare sind in der Form Parametername=Parameterwert aufgebaut. Seltener wird das Zeichen ; zur Trennung von Eintrgen der Liste benutzt.[3] Ein Beispiel: Auf der Startseite von Wikipedia wird in das Eingabefeld der Suche Katzen eingegeben und auf die Schaltflche Artikel geklickt. Der Browser sendet folgende oder hnliche Anfrage an den Server: GET /wiki/Spezial:Search?search=Katzen&go=Artikel HTTP/1.1 Host: de.wikipedia.org Dem Wikipedia-Server werden zwei Wertepaare bergeben:

Argument Wert search Katzen go Artikel


Diese Wertepaare werden in der Form Argument1=Wert1&Argument2=Wert2 mit vorangestelltem ? an die geforderte Seite angehngt. Dadurch wei der Server, dass der Nutzer den Artikel Katzen betrachten will. Der Server verarbeitet die Anfrage, sendet aber keine Datei, sondern leitet den Browser mit einem LocationHeader zur richtigen Seite weiter, etwa mit: HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2006 15:12:44 GMT Location: http://de.wikipedia.org/wiki/Katzen Der Browser befolgt diese Anweisung und sendet aufgrund der neuen Informationen eine neue Anfrage, etwa: GET /wiki/Katzen HTTP/1.1 Host: de.wikipedia.org Und der Server antwortet und gibt den Artikel Katzen aus, etwa:

HTTP/1.0 200 OK Date: Fri, 13 Jan 2006 15:12:48 GMT Last-Modified: Tue, 10 Jan 2006 11:18:20 GMT Content-Language: de Content-Type: text/html; charset=utf-8 Die Katzen (Felidae) sind eine Familie aus der Ordnung der Raubtiere (Carnivora) innerhalb der berfamilie der Katzenartigen (Feloidea). Der Datenteil ist meist lnger, hier soll nur das Protokoll betrachtet werden.

HTTP POST

[Bearbeiten]

Da sich die Daten nicht in der URL befinden, knnen per POST groe Datenmengen, z. B. Bilder, bertragen werden. Im folgenden Beispiel wird wieder der Artikel Katzen angefordert, doch diesmal verwendet der Browser aufgrund eines modifizierten HTML-Codes (method="POST") eine POST-Anfrage. Die Variablen stehen dabei nicht in der URL, sondern gesondert im Body-Teil, etwa: POST /wiki/Spezial:Search HTTP/1.1 Host: de.wikipedia.org Content-Type: application/x-www-form-urlencoded Content-Length: 24 search=Katzen&go=Artikel Auch das versteht der Server und antwortet wieder mit beispielsweise folgendem Text: HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2006 15:32:43 GMT Location: http://de.wikipedia.org/wiki/Katzen

HTTP-Statuscodes

[Bearbeiten]

Hauptartikel: HTTP-Statuscode
Jede HTTP-Anfrage wird vom Server mit einem HTTP-Statuscode beantwortet. Er gibt zum Beispiel Informationen darber, ob die Anfrage erfolgreich bearbeitet wurde, oder teilt dem Client, also etwa dem Browser, im Fehlerfall mit, wo (z. B. Umleitung) bzw. wie (z. B. mit Authentifizierung) er die gewnschten Informationen (wenn mglich) erhalten kann.

1xx Informationen Die Bearbeitung der Anfrage dauert trotz der Rckmeldung noch an. Eine solche Zwischenantwort ist manchmal notwendig, da viele Clients nach einer bestimmten Zeitspanne (Timeout) automatisch annehmen, dass ein Fehler bei der bertragung oder Verarbeitung der Anfrage aufgetreten ist, und mit einer Fehlermeldung abbrechen. 2xx Erfolgreiche Operation Die Anfrage wurde bearbeitet und die Antwort wird an den Anfragesteller zurckgesendet. 3xx Umleitung Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen, sind weitere Schritte seitens des Clients erforderlich. Das ist zum Beispiel der Fall, wenn eine Webseite vom Betreiber umgestaltet wurde, so dass sich eine gewnschte Datei nun an einem anderen Platz befindet. Mit der Antwort des Servers erfhrt der Client im Location-Header, wo sich die Datei jetzt befindet.

4xx Client-Fehler Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten, der im Verantwortungsbereich des Clients liegt. Ein 404 tritt beispielsweise ein, wenn ein Dokument angefragt wurde, das auf dem Server nicht existiert. Ein 403 weist den Client darauf hin, dass es ihm nicht erlaubt ist, das jeweilige Dokument abzurufen. Es kann sich zum Beispiel um ein vertrauliches oder nur per HTTPS zugngliches Dokument handeln. 5xx Server-Fehler Es ist ein Fehler aufgetreten, dessen Ursache beim Server liegt. Zum Beispiel bedeutet 501, dass der Server nicht ber die erforderlichen Funktionen (d. h. zum Beispiel Programme oder andere Dateien) verfgt, um die Anfrage zu bearbeiten.
Zustzlich zum Statuscode enthlt der Header der Server-Antwort eine Beschreibung des Fehlers in englischsprachigem Klartext. Zum Beispiel ist ein Fehler 404 an folgendem Header zu erkennen: HTTP/1.1 404 Not Found

Information Retrieval:
Information Retrieval [ nfmen tiv] (IR) bzw. Informationsrckgewinnung, l gelegentlich ungenau Informationsbeschaffung, ist ein Fachgebiet, das sich mit computergesttztem Suchen nach komplexen Inhalten (also z. B. keine Einzelwrter) beschftigt und in die Bereiche Informationswissenschaft,Informatik und Computerlinguistik fllt. Wie aus der Wortbedeutung von retrieval (deutsch Abruf, Wiederherstellung) hervorgeht, sind komplexe Texte oder Bilddaten, die in groen Datenbanken gespeichert werden, fr Auenstehende zunchst nicht zugnglich oder abrufbar. Im Gegensatz zum Data Mining geht es beim Information Retrieval aber darum bestehende Informationen aufzufinden, nicht neue Strukturen zu entdecken (wie beim Knowledge Discovery in Databases zu dem das Data-Mining und Text Mining gehren).

Anwendungsbereich

[Bearbeiten]

Methoden des Datenabrufs werden in Internet-Suchmaschinen (z. B. Google), aber auch in digitalen Bibliotheken (z. B. zur Literatursuche) sowie bei Bildsuchmaschinen verwendet. Auch Antwortsysteme oder Spamfilter verwenden IR-Techniken. Die Problematik des Zugangs zu gespeicherten komplexen Informationen liegt in zwei Phnomenen:

Vagheit: Der Benutzer kann die Art der Informationen, die er sucht, nicht in przise und
zielfhrende Suchbegriffe fassen (wie z. B. in SQL in relationalen Datenbanken). Seine Suchanfrage enthlt daher zu vage Bedingungen. Unsicherheit: In der Datenbank sind ungengende Angaben ber den Inhalt der enthaltenen Dokumente gespeichert (Texte, Bilder, Filme, Musik etc.), sodass sie fehlerhafte Antworten zurckgibt oder gar keine Antwort. Bei Texten liegt das z. B. an fehlenden Beschreibungen von Homographen (Wrter, die gleich geschrieben werden; z. B. Bank Geldinstitut, Sitzgelegenheit) und Synonymen (Bank und Geldinstitut).

Schematisches Modell des Information-Retrieval (Quelle: Dominik Kuropka)

Generell sind am IR zwei (sich unter Umstnden berschneidende) Personenkreise beteiligt (vgl. Abbildung rechts). Der erste Personenkreis sind die Autoren der in einem IR-System gespeicherten Informationen, die sie entweder selbst einspeichern, oder die aus anderen Informationssystemen ausgelesen werden (wie es z. B. die Internet-Suchmaschinenpraktizieren). Die in das System eingestellten Dokumente werden vom IR-System gem dem System-internen Modell der Reprsentation von Dokumenten in eine fr die Verarbeitung gnstige Form (Dokumentenreprsentation) umgewandelt. Die zweite Benutzergruppe, die Anwender, haben bestimmte, zum Zeitpunkt der Arbeit am IRSystem akute Ziele oder Aufgaben, fr deren Lsung ihnen Informationen fehlen. Diese Informationsbedrfnisse mchten Anwender mit Hilfe des Systems decken. Dafr mssen sie ihre Informationsbedrfnisse in einer adquaten Form als Anfragen formulieren. Die Form, in der die Informationsbedrfnisse formuliert werden mssen, hngt dabei von dem verwendeten Modell der Reprsentation von Dokumenten ab. Wie der Vorgang der Modellierung der Informationsbedrfnisse als Interaktion mit dem System abluft (z. B. als einfache Eingabe von Suchbegriffen), wird vom Modell der Interaktion festgelegt. Sind die Anfragen formuliert, dann ist es die Aufgabe des IR-Systems, die Anfragen mit den im System eingestellten Dokumenten unter Verwendung der Dokumentenreprsentationen zu vergleichen und eine Liste der zu den Anfragen passenden Dokumente an die Benutzer zurckzugeben. Der Benutzer steht nun vor der Aufgabe, die gefundenen Dokumente gem seiner

Aufgabe auf die Lsungsrelevanz hin zu bewerten. Das Resultat sind die Bewertungen zu den Dokumenten. Anschlieend haben die Benutzer drei Mglichkeiten: Erstens, sie knnen (meist nur in einem engen Rahmen) Modifikationen an den Reprsentationen der Dokumente vornehmen (z. B. indem sie neue Schlsselwrter fr die Indexierung eines Dokuments definieren). Zweitens, die Benutzer verfeinern ihre formulierten Anfragen (zumeist um das Suchergebnis weiter einzuschrnken) und drittens, die Benutzer ndern ihre Informationsbedrfnisse, weil sie nach dem Durchfhren der Recherche feststellen, dass sie zur Lsung ihrer Aufgaben weitere, zuvor nicht als relevant eingestufte Informationen bentigen. Der genaue Ablauf der drei Modifikationsformen wird vom Modell der Interaktion bestimmt. Zum Beispiel gibt es Systeme, die den Benutzern bei der Reformulierung der Anfrage untersttzen, indem sie die Anfrage unter Verwendung expliziter (d. h. dem System vom Benutzer in irgendeiner Form mitgeteilter) Dokumentenbewertungen automatisiert reformulieren. [Bearbeiten] [Bearbeiten]

Grundbegriffe

Informationsbedarf

Der Informationsbedarf ist der Bedarf an handlungsrelevantem Wissen und kann dabei konkret und problemorientiert sein. Beim konkreten Informationsbedarf wird eine Fakteninformation bentigt. Also beispielsweise "Was ist die Hauptstadt von Frankreich?". Die Antwort "Paris" deckt den Informationsbedarf vollstndig. Anders ist es beim problemorientierten Informationsbedarf. Hierbei werden mehrere Dokumente bentigt, um den Bedarf zu stillen. Zudem wird der problemorientierte Informationsbedarf nie ganz gedeckt werden knnen. Gegebenenfalls ergibt sich aus der erhaltenen Information sogar ein neuer Bedarf oder die Modifikation des ursprnglichen Bedarfs. Beim Informationsbedarf wird vom Nutzer abstrahiert. Das heit, es wird der objektive Sachverhalt betrachtet.

Informationsbedrfnis

[Bearbeiten]

Das Informationsbedrfnis spiegelt den konkreten Bedarf beim anfragenden Nutzer wieder. Es geht um das subjektive Bedrfnis des Nutzers.

Information Indexing und Information Retrieval

[Bearbeiten]

Um seine Suchanfrage so przise wie mglich formulieren zu knnen, msste man eigentlich wissen, was man nicht wei. Es muss also ein Basiswissen vorhanden sein um eine adquate Suchanfrage zu verfassen. Zudem muss die natrlichsprachige Suchanfrage in eine Variante umgewandelt werde, die vom Retrievalsystem gelesen werden kann. Hier einige Beispiele fr Suchanfrageformulierungen in verschiedenen Datenbanken. Gesucht werden Informationen ber Johnny Depp in Chocolat. LexisNexis: HEADLINE:(Johnny Depp w/5 Chocolat) DIALOG: (Johnny ADJ Depp AND Chocolat) ti Google: Chocolat Johnny Depp Der Nutzer gibt dabei vor, wie der Retrievalprozess abluft und zwar ganz einfach durch die Art und Weise seiner Suchanfrageformulierung im jeweiligen System. Zu unterscheiden sind wort- und begrifforientierte Systeme. Begrifforientierte Systeme knnen die Mehrdeutigkeiten von Wrtern erkennen (z.B. Java, die Insel, der Kaffee oder die Programmiersprache). ber die Suchanfrage wird die Dokumentationseinheit (DE) angesprochen. Die DE stellen den informationellen Mehrwert der Dokumente dar. Das heit in ihnen werden Informationen zu Autor, Jahrgang etc. verdichtet

wiedergegeben. Je nach Datenbank werden entweder das komplette Dokument oder nur einzelne Teile davon erfasst. Etwa ein Buch im Ganzen oder nur einzelne Kapitel davon.

Dokumentarische Bezugseinheit und Dokumentationseinheit [Bearbeiten]


Weder die Dokumentarische Bezugseinheit (DBE) noch die Dokumentationseinheit (DE) sind das Originaldokument. Beide sind nur Stellvertreter desselben in der Datenbank. Zuerst wird die Dokumentationswrdigkeit eines Dokumentes geprft. Dies findet ber formale und inhaltliche Kriterienkataloge statt. Ist ein Objekt fr dokumentenwrdig befunden, wird eine DBE erstellt. Hierbei entscheidet sich, in welcher Form das Dokument abgespeichert wird. Werden einzelne Kapitel oder Seiten als DBE genommen oder das Dokument im Ganzen? Es schliet sich der informationspraktische Prozess an. Die DBE werden formal beschrieben und der Inhalt verdichtet. Dieser informationelle Mehrwert findet sich dann in der DE wieder, die als Stellvertreter fr die DBE dient. Die DE reprsentiert die DBE und steht somit am Ende des Dokumentationsprozesses. Die DE dient dem Nutzer dazu eine Entscheidung darber zu treffen, ob er die DBE nun gebrauchen kann und anfordert oder eben nicht. Information Retrieval und Information Indexing sind aufeinander abgestimmt.

Kognitive Modelle

[Bearbeiten]

Diese sind Teil der empirischen Informationswissenschaft, da sie sich auf die Vorkenntnisse, den sozio-konomischen Hintergrund, die Sprachkenntnisse usw. der Nutzer beziehen und darber Informationsbedarfs-, Nutzungs- und Nutzeranalysen anstellt.

Pull- und Pushdienste

[Bearbeiten]

Das Suchen nach Informationen beschreibt Marcia J. Bates als Berrypicking. Es reicht nicht aus nur an einem Strauch respektive einer Datenbank nach Beeren bzw. Informationen zu suchen, damit der Korb voll wird. Es mssen mehrere Datenbanken angefragt und die Suchanfrage aufgrund neuer Informationen stndig modifiziert werden. Pulldienste werden berall da zur Verfgung gestellt, wo der Nutzer aktiv nach Informationen suchen kann. Pushdienste versorgen den Nutzer aufgrund eines abgespeicherten Informationsprofils mit Informationen. Diese Profildienste, so genannte Alerts, speichern erfolgreich formulierte Suchanfragen ab und informieren den Nutzer ber das Eintreffen neuer relevanter Dokumente.

Informationsbarrieren

[Bearbeiten]

Den Informationsfluss behindern verschiedene Faktoren. Solche Faktoren sind beispielsweise Zeit, Ort, Sprache, Gesetze und die Finanzierung.

Recall und Precision

[Bearbeiten]

Der Recall bezeichnet die Vollstndigkeit der angezeigten Treffermenge. Die Precision dagegen berechnet die Genauigkeit der Dokumente aus der Treffermenge zu einer Suchanfrage. Precision bezeichnet den Anteil aller relevanten Dokumente an den selektierten Dokumenten einer Suchanfrage und ist damit das Ma der in der Trefferliste enthaltenen bezglich der Aufgabenstellung bedeutungsvollen Dokumente. Recall hingegen beschreibt den Anteil aller relevanten Dokumente an der Gesamtzahl relevanter Dokumente der Dokumentensammlung. Hierbei handelt es sich um das Ma fr die Vollstndigkeit einer Trefferliste. Beide Mae bilden entscheidende Kennzahlen fr ein Information Retrieval-System. Ein ideales System wrde in einer Suchanfrage alle relevanten Dokumente einer Dokumentensammlung unter Ausschluss nicht zutreffender Dokumente selektieren Recall: a / (a + c) Precision: a / (a + b)

a = gefundene, relevante Treffer b = gefundene, nichtrelevante DE/ Ballast c = relevante DE, die nicht gefunden wurden/ Verlust

c ist nicht direkt messbar, da man ja nicht wissen kann wie viele DE nicht gefunden wurden,
sofern man den Inhalt der Datenbank nicht kennt bzw. die DE nicht kennt, die aufgrund der Suchanfrage eigentlich htten angezeigt werden mssen. Recall und Precision verhalten sich umgekehrt proportional zueinander. Dies gilt allerdings nicht bei einer Faktenfrage. Hier sind Recall und Precision gleich eins.

Relevanz und Pertinenz

[Bearbeiten]

Wissen kann relevant, muss aber nicht pertinent, sein. Relevanz bedeutet, dass ein Dokument unter der Suchanfrage, die formuliert wurde, passend ausgegeben wurde. Wenn der Nutzer den Text aber bereits kennt oder er ihn nicht lesen will, weil er den Autoren nicht mag oder keine Lust hat einen Artikel in einer anderen Sprache zu lesen ist das Dokument nicht pertinent. Pertinenz bezieht die subjektive Sicht des Nutzers mit ein.

Objektiver Informationsbedarf Relevanz Ein Dokument ist zur Befriedigung eines Informationsbedarfs relevant, wenn es objektiv: Zur Vorbereitung einer Entscheidung dient Eine Wissenslcke schliet Eine Frhwarnfunktion erfllt

Subjektives Informationsbedrfnis (=Informationsnachfrage) Pertinenz Ein Dokument ist zur Befriedigung eines Informationsbedrfnisses pertinent, wenn es subjektiv: Zur Vorbereitung einer Entscheidung dient Eine Wissenslcke schliet Eine Frhwarnfunktion erfllt

Voraussetzungen fr erfolgreiches Information Retrieval sind das richtige Wissen, zum richtigen Zeitpunkt, am richtigen Ort, im richtigen Umfang, in der richtigen Form, mit der richtigen Qualitt. Wobei "richtig" heit, dass dieses Wissen entweder Pertinenz oder Relevanz besitzt.

Ntzlichkeit

[Bearbeiten]

Wissen ist dann ntzlich, wenn der Nutzer daraus neues handlungsrelevantes Wissen erzeugt und dieses in die Praxis umsetzt.

Aspekte der Relevanz

[Bearbeiten]

Relevanz ist die Relation zwischen der Suchanfrage (query) im Bezug auf das Thema und die systemseitigen Aspekte.

Binrer Ansatz

[Bearbeiten]

Der binre Ansatz sagt aus, dass ein Dokument entweder relevant oder nicht-relevant ist. In der Realitt ist dies nicht unbedingt zutreffend. Hier spricht man eher von Relevanzregionen

Relevanzverteilungen

[Bearbeiten]

Hierfr knnen beispielsweise Themenketten gebildet werden. Ein Thema kann in mehreren Ketten vorkommen. Je hufiger ein Thema vorkommt, desto grer ist sein Gewichtungswert. Kommt das

Thema in allen Ketten vor liegt sein Wert bei 100, kommt es in keiner Kette vor bei 0. Bei Untersuchungen haben sich drei verschiedene Verteilungen heraus kristallisiert. Dabei ist anzumerken, dass diese Verteilungen nur bei greren Dokumentenmengen zustanden kommen. Bei kleineren Dokumentenmengen gibt es eventuell gar keine Regelmigkeiten.

Binre Verteilung [Bearbeiten]


Bei der binren Verteilung ist kein Relevanceranking mglich.

Invers-logistische Verteilung [Bearbeiten]


f(x) = e C(x 1)b
x: Rangplatz e: Eulersche Zahl c: Konstante

Informetrische Verteilung [Bearbeiten]

x: Rangplatz c: Konstante a: konkreter Wert zwischen 1 und 2 Die informetrische Verteilung sagt aus, dass wenn das erstplatzierte Dokument eine Relevanz von eins hat (bei C = 1), dann hat das zweitplatzierte Dokument eine Relevanz von 0,5 (bei a = 1) oder von 0,25 (bei a = 2).

Dokumente

[Bearbeiten]

Es sei noch einmal darauf hingewiesen, dass in der Informationswissenschaft unterschieden wird zwischen dem Ausgangsdokument der DBE und der DE. Aber wann ist etwas eigentlich ein Dokument? Das entscheiden vier Kriterien, die da wren die Materialitt (einschlielich des digitalen Vorhandenseins), die Intentionalitt (Das Dokument trgt einen gewissen Sinn, eine Bedeutung), die Erarbeitung und die Wahrnehmung. "They have to be made into documents" Michael K. Buckland

Textuelle und nicht-textuelle Objekte

[Bearbeiten]

Objekte knnen in Textform auftreten, mssen sie aber nicht. Bilder und Filme sind Beispiele fr nicht-textuelle Dokumente. Textuelle und nicht-textuelle Objekte knnen in digitaler und in nichtdigitaler Form auftreten. Sind sie digital und mehr als zwei Medienformen treffen aufeinander (Ein Dokument besteht beispielsweise aus einer Videosequenz, einer Audiosequenz und Bildern), nennt man sie Multimedia. Die nicht-digital vorliegenden Objekte brauchen in der Datenbank einen digitalen Stellvertreter, etwa ein Foto.

Formal publizierte Textdokumente

[Bearbeiten]

Als formal publizierte Textdokumente werden alle Dokumente bezeichnet, die einen formalen Verffentlichungsprozess durchlaufen haben. Das bedeutet die Dokumente wurden vor der Verffentlichung geprft (z.B. durch einen Lektor). Ein Problem stellt die so genannte Graue Literatur dar. Diese ist zwar geprft, aber nicht verffentlicht worden. Es existieren mehrere Ebenen von formal publizierten Dokumenten. Am Anfang steht die Arbeit, die Schpfung des Autors. Gefolgt vom Ausdruck dieser Arbeit, der konkreten Realisierung (z.B.

verschiedene bersetzungen). Diese Realisierung wird manifestiert (z.B. in einem Buch). An unterster Stelle dieser Kette steht das Item, das einzelne Exemplar. In der Regel richtet sich die DBE auf die Manifestation. Ausnahmen sind aber mglich.

Informell publizierte Texte

[Bearbeiten]

Zu den informell publizierten Texten gehren vor allem Dokumente, die im Internet verffentlicht wurden. Diese Dokumente sind zwar publiziert, aber nicht geprft. Eine Zwischenstufe von formell und informell publizierten Texten sind beispielsweise Wikis. Diese sind publiziert und kooperativ geprft.

Nicht publizierte Texte

[Bearbeiten]

Hierzu zhlen Briefe, Rechnung, interne Berichte, Dokumente im Intranet oder Extranet. Eben alle Dokumente, die nie ffentlich gemacht wurden.

Nicht-textuelle Dokumente

[Bearbeiten]

Bei den nicht-textuellen Dokumenten unterscheiden wir zwei Gruppen. Zum einen die digital vorliegenden oder digitalisierbaren Dokumente, wie Filme, Bilder und Musik und zum anderen die nicht digitalen und nicht digitalisierbaren Dokumente. Zu letzteren gehren Fakten, wie chemische Stoffe und deren Eigenschaften und Reaktionen, Patienten und deren Symptome und Museumsobjekte. Die meisten nicht digitalisierbaren Dokumente entstammen den Disziplinen Chemie, Medizin und Wirtschaft. Sie werden in der Datenbank von der DE vertreten und oftmals zustzlich durch Bilder, Videos und Audiodateien dargestellt.

Typologie von Retrievalsystemen


Struktur von Texten
[Bearbeiten]

[Bearbeiten]

Man differenziert zwischen strukturierten, schwach strukturierten und nicht-strukturierten Texten. Zu den schwach strukturierten Texten zhlen alle Arten von Textdokumenten, die eine gewisse Struktur haben. Dazu zhlen Kapitelnummern, Titel, Zwischenberschriften, Abbildungen, Seitenzahlen etc. ber informationelle Mehrwerte knnen den Texten strukturierte Daten hinzugefgt werden. Nicht-strukturierte Texte kommen in der Realitt kaum vor. In der Informationswissenschaft beschftigt man sich hauptschlich mit schwach strukturierten Texten. Dabei ist zu beachten, dass es nur um formale, nicht um syntaktische, Strukturen geht. Es ergibt sich ein Problem mit dem Sinnzusammenhang der Inhalte.

The man saw the pyramide on the hill with the telescope. Dieser Satz kann vierfach interpretiert
werden. Daher bevorzugen einige Anbieter menschliche Indexer, da diese den Sinnzusammenhang erkennen und korrekt weiter verarbeiten knnen. Information Retrievalsysteme knnen entweder mit oder ohne terminologische Kontrolle arbeiten. Arbeiten sie mit terminologischer Kontrolle, ergeben sich die Mglichkeiten sowohl intellektuell, als auch automatisch zu indexieren. Retrieval Systeme die ohne terminologische Kontrolle arbeiten, bearbeiten entweder den reinen Text oder der Prozess luft ber eine automatische Bearbeitung.

Retrievalsysteme und terminologische Kontrolle

[Bearbeiten]

Terminologische Kontrolle bedeutet nichts anderes als die Verwendung von kontrolliertem Vokabular. Dies erfolgt ber Dokumentationssprachen (Klassifikationen, Schlagwortmethode, Thesauri, Ontologien). Die Vorteile liegen darin, dass der Rechercheur und der Indexer ber dieselben Ausdrcke und Formulierungsmglichkeiten verfgen. Daher ergeben sich keine Probleme mit Synonymen und Homonymen. Nachteile von kontrolliertem Vokabular sind etwa die mangelnde Bercksichtigung von Sprachentwicklungen sowie das Problem, dass diese Kunstsprachen nicht von

jedem Nutzer korrekt angewandt werden. Eine weitere Rolle spielt natrlich der Preis. Intellektuelles Indexieren ist sehr viel teurer als automatisches. Insgesamt lassen sich vier Flle unterscheiden:

Kontrolliertes Vokabular Fachleute Natrlichsprachig Kontrolliertes Vokabular wirkt im Hintergrund durch Suchanfrageerweiterung mittels Ober- und Unterbegriffen mit Natrlichsprachig System leistet bersetzungsarbeit Kontrolliertes Vokabular

Kontrolliertes Vokabular Natrlichsprachig Kontrolliertes Vokabular wirkt im Hintergrund durch Suchanfrageerweiterung mittels Ober- und Unterbegriffen mit Kontrolliertes Vokabular Natrlichsprachiges Vokabular

Bei der Variante ohne terminologische Kontrolle wird am besten mit den Volltexten gearbeitet. Dies funktioniert allerdings nur bei sehr kleinen Datenbanken. Die Terminologie der Dokumente muss von den Nutzern genau gekannt werden. Der Prozess mit terminologischer Kontrolle setzt eine informationslinguistische Bearbeitung (Natural Language Processing = NLP) der Dokumente voraus.

Informationslinguistische Textbearbeitung

[Bearbeiten]

Die informationslinguistische Textbearbeitung geht wie folgt vor. Zuerst wird das Schriftsystem erkannt. Ist es beispielsweise ein lateinisches oder arabisches Schriftsystem. Danach folgt die Spracherkennung. Nun werden Text, Layout und Navigation voneinander getrennt. An dieser Stelle gibt es zwei Mglichkeiten. Zum einen die Zerlegung der Wrter in n-Gramme oder die Worterkennung. Egal fr welche Methode man sich entscheidet, es schlieen sich Stoppwortmarkierung, Eingabefehlererkennung und -korrektur sowie Eigennamenerkennung und die Bildung von Grund- bzw. Stammformen an. Es werden Komposita zerlegt, Homonyme und Synonyme erkannt und abgeglichen und das semantische Umfeld oder das Umfeld nach hnlichkeit untersucht. Die letzten beiden Schritte sind die bersetzung des Dokumentes und die Anaphoraauflsung. Es kann ntig sein, dass whrend des Ablaufes das System mit dem Nutzer in Verbindung tritt.

Retrievalmodelle

[Bearbeiten]

Es existieren mehrere konkurrierende Retrievalmodelle, die sich aber keineswegs ausschlieen mssen. Zu diesen Modellen zhlen das Boolesche und das erweiterte Boolesche Modell. Das Vektorraummodell und das probabilistische Modell sind Modelle, die auf der Textstatistik beruhen. Zu den Linktopologischen Modellen gehren der KleinbergAlgorithmus und der PageRank. Schlielich gibt es noch das Netzwerkmodell und die Nutzer/ Nutzungsmodelle, welche die Textnutzung und den Nutzer an seinem spezifischen Standort untersuchen.

Boolesches Modell

[Bearbeiten]

George Boole verffentlichte 1854 seine Boolesche Logik und ihre binre Sicht der Dinge. Sein System hat drei Funktionen oder auch Operatoren: UND, ODER und NICHT. Bei diesem System ist keine Sortierung nach Relevanz mglich. Um ein Relevanzranking zu ermglichen, wurde das Boolesche Modell um Gewichtungswerte erweitert und die Operatoren mussten uminterpretiert werden.

Textstatistik

[Bearbeiten]

In der Textstatistik werden die im Dokument auftretenden Terme analysiert. Die Gewichtungsfaktoren heien hier WDF und IDF.

WDF = Within document frequency weight Anzahl des vorkommenden Terms/ Anzahl aller Wrter Der WDF beschreibt die Hufigkeit eines Wortes in einem Dokument. Je Hufiger ein Wort in einem Dokument vorkommt, desto grer sein WDF IDF = Inverse document frequency weight Gesamte Anzahl an Dokumenten in der Datenbank/ Anzahl der Dokumente mit dem Term Der IDF beschreibt die Hufigkeit mit der ein Dokument mit einem bestimmten Term in einer Datenbank vorkommt. Je hufiger ein Dokument mit einem bestimmten Term in der Datenbank vorkommt, desto kleiner sein IDF. Die zwei klassischen Modelle der Textstatistik sind das Vektorraummodell und das probabilistische Modell. Im Vektorraummodell spannen n-Wrter einen n-dimensionalen Raum auf. Die hnlichkeit der Wrter zueinander wird ber die Winkel ihrer Vektoren zueinander berechnet. Beim probabilistischen Modell wird die Wahrscheinlichkeit berechnet mit der ein Dokument auf eine Suchanfrage zutrifft. Ohne Zusatzinformationen ist das probabilistische Modell dem IDF hnlich.

Linktopologische Modelle

[Bearbeiten]

Dokumente sind im WWW untereinander und miteinander verlinkt. Sie bilden somit einen Raum von Links. Der Kleinberg-Algorithmus (1999) nennt diese Links Hub(ausgehende Links) und Authority(eingehende Links). Die Gewichtungswerte entstehen darber inwiefern Hubs auf gute Authorities treffen und Authorities von guten Hubs gelinkt werden. Ein weiteres linktopologisches Modell ist der PageRank von Sergey Brin und Lawrence Page. Der PageRank beschreibt die Wahrscheinlichkeit mit der ein nach Zufall-Surfender eine Seite findet.

Clustermodell

[Bearbeiten]

Clusterverfahren versuchen, Dokumente zu klassifizieren, so dass hnliche oder miteinander in Beziehung stehende Dokumente in einem gemeinsamen Dokumentenpool zusammengefasst werden. Dadurch tritt eine Beschleunigung des Suchverfahrens ein, da smtliche relevanten Dokumente im gnstigsten Fall mit einem einzigen Zugriff selektiert werden knnen. Neben Dokumentenhnlichkeiten spielen aber auch Synonyme als semantisch hnliche Wrter eine bedeutende Rolle. So sollte eine Suche nach dem Begriff Wort auch eine Trefferliste fr Kommentar, Bemerkung, Behauptung oder Term prsentieren. Probleme entstehen aus der Art der Zusammenfassung von Dokumenten: Die Cluster mssen stabil und vollstndig sein. Die Zahl der Dokumente in einem Cluster und damit die resultierende Trefferliste kann bei speziellen Dokumentationen mit homogenen Dokumenten sehr hoch sein. Im umgekehrten Fall kann die Zahl der Cluster wachsen bis zum Extremfall, in dem Cluster nur aus jeweils einem Dokument bestehen. Die berschneidungsrate der Dokumente, die in mehr als einem Cluster liegen, ist kaum kontrollierbar.

Nutzer-Nutzungsmodell

[Bearbeiten]

Bei dem Nutzer-Nutzungsmodell ist die Hufigkeit der Nutzung einer Website ein Rangkriterium. Zustzlich flieen Hintergrundinformationen beispielsweise ber den Standort des Nutzers bei geographischen Anfragen mit ein. Beim systematischen Suchen ergeben sich Rckkopplungsschleifen. Diese laufen entweder automatisch oder der Nutzer wird wiederholt aufgefordert Ergebnisse als relevant oder nichtrelevant zu markieren ehe die Suchanfrage modifiziert und wiederholt wird.

Oberflchenweb und Deep Web

[Bearbeiten]

Das Oberflchenweb liegt im Web und ist kostenlos fr alle Nutzer erreichbar. Im Deep Web liegen etwa Datenbanken, deren Suchoberflchen ber das Oberflchenweb zu erreichen sind. Ihre Informationen sind aber in der Regel kostenpflichtig. Es lassen sich drei Arten von Suchmaschinen

unterscheiden. Suchmaschinen wie Google arbeiten algorithmisch, das Open Directory Project ist ein intellektuell erstellter Webkatalog und Metasuchmaschinen beziehen ihren Content aus mehreren anderen Suchmaschinen, die sich ansprechen. In der Regel verwenden intellektuell erstellte Webkataloge nur die Einstiegsseite einer Website als Bezugsquelle fr die DBE. Bei algorithmisch arbeitenden Suchmaschinen wird jede Webseite verwendet.

Architektur eines Retrievalsystems

[Bearbeiten]

Es gibt digitale und nicht-digitale Speichermedien, wie etwa Steilkarten, Bibliothekskataloge und Sichtloskarten. Digitale Speichermedien werden von der Informatik erarbeitet und sind Beschftigungsbereich der Informationswissenschaft. Man unterscheidet zwischen der Dateistruktur und ihrer Funktion. Darber hinaus gibt es Schnittstellen des Retrievalsystems mit den Dokumenten und mit ihren Nutzern. Bei der Schnittstelle zwischen System und Dokument unterscheidet man wieder drei Bereiche. Das Finden von Dokumenten, das so genannte Crawling, die Kontrolle dieser gefundenen Dokumente auf Updates und die Einordnung in ein Feldschema. Die Dokumente werden entweder intellektuell oder automatisch erfasst und weiter verarbeitet. Dabei werden die DE zweifach abgespeichert. Einmal als Dokumentendatei und zustzlich noch als invertierte Datei, welche als Register oder Index den Zugriff auf die Dokumentendatei erleichtern soll. Nutzer und System treten in folgender Weise in Kontakt. Der Nutzer verfasst 1. eine Anfrageformulierung, erhlt 2. eine Trefferliste, lsst sich 3. die Dokumentationseinheiten anzeigen und verarbeitet sie 4. lokal weiter.

Zeichenstze

[Bearbeiten]

1963 entstand der ASCII Code (American Standard Code for Information Interchange). Sein 7 bit Code konnte 128 Zeichen erfassen und abbilden. Er wurde spter auf 8 bit (= 256 Zeichen) erweitert. Der bislang grte Zeichensatz umfasst 4 Byte, also 32 bit und soll alle Zeichen abbilden, die berhaupt auf der Welt genutzt werden. Die ISO 8859 (International Organisation for Standardization) regelt darber hinaus sprachspezifische Varianten, wie etwa das in der deutschen Sprache.

Aufnahme neuer Dokumente in die Datenbasis

[Bearbeiten]

Neue Dokumente knnen sowohl intellektuell, als auch automatisch der Datenbasis hinzugefgt werden. Bei der intellektuellen Aufnahme neuer Dokumente ist ein Indexer verantwortlich und entscheidet welche Dokumente wie aufgenommen werden. Der automatische Prozess erfolgt durch einen Robot oder einen Crawler. Grundlage ist eine bekannte Menge an Webdokumenten, einer so genannten seed list. Die Links aller Webseiten, die diese Liste enthlt ist nun Aufgabe der Crawler. Die URL der jeweiligen Seiten wird geprft, ob sich bereits in der Datenbasis vorhanden ist oder nicht. Darber hinaus werden Spiegel und Dubletten erkannt und gelscht.

Crawler

[Bearbeiten]

FIFO (first in first out) Crawler Zu den FIFO Crawlern gehren der Breadth-First-Crawler, welcher allen Links einer Seite folgt, diese abarbeitet und den Links der gefundenen Seiten weiter folgt und der Depth-First-Crawler. Dieser arbeitet im ersten Schritt wie der Breadth-First-Crawler trifft im zweiten Schritt allerdings eine Auswahl, welchen Links er weiter folgt und welchen nicht.
Best-First Crawler Einer der Best-First-Crawler ist der Page Rank-Crawler. Er sortiert die Links nach Anzahl und Popularitt der eingehenden Seiten. Zwei weitere sind der Fish-Search- und der Shark-SearchCrawler. Ersterer beschrnkt seine Arbeit auf Bereiche im Web, in denen sich relevante Seiten konzentrieren. Der Shark-Search-Crawler verfeinert diese Methode, indem es zustzliche

Informationen zum Beispiel aus den Ankertexten zieht, um ein Relevanzurteil zu treffen. Jeder Seitenbetreiber hat die Mglichkeit seine Seite gegen Crawler zu verschlieen. Thematische Crawler Thematische Crawler sind auf eine Disziplin spezialisiert und sind daher geeignet fr Fachexperten. Thematisch nicht relevante Seiten werden identifiziert und getunnelt. Dennoch werden die Links dieser getunnelten Seiten weiter verfolgt, um weitere relevante Seiten zu finden. Distiller finden derweil einen gnstigen Ausgangspunkt fr die Crawler, indem sie Taxonomien und Musterdokumente nutzen. Classifier eruieren diese Seiten auf Relevanz. Der ganze Vorgang luft semiautomatisch, da Taxonomien und Musterdokumente regelmig aktualisiert werden mssen. Darber hinaus wird eine Begriffsordnung bentigt.

Crawling im Deep Web [Bearbeiten]


Damit ein Crawler auch im Deep Web erfolgreich arbeiten kann, muss er verschiedene Anforderungen erfllen. Er muss zum einen die Suchmaske der Datenbank verstehen, um eine adquate Suchanfrage formulieren zu knnen. Darber hinaus muss er Trefferlisten verstehen und Dokumente anzeigen knnen. Dies funktioniert allerdings nur bei kostenlosen Datenbanken. Wichtig fr Deep Web Crawler ist es, dass sie Suchargumente derart formulieren knnen, dass alle Dokumente der Datenbank angezeigt werden. Ist in der Suchmaske ein Jahrgangsfeld vorhanden, msste der Crawler der Reihe nach alle Jahrgnge anfragen, um an alle Dokumente zu gelangen. Bei Stichwortfeldern ist eine adaptive Strategie am sinnvollsten. Sind die Daten einmal erfasst muss der Crawler nur noch die Updates der gefundenen Seiten erfassen. Um die DE mglichst aktuell zu halten gibt es mehrere Mglichkeiten. Entweder die Seiten werden im selben Abstand regelmig besucht, was allerdings die Ressourcen weit bersteigen wrde und daher unmglich ist oder der Besuch nach Zufall, was allerdings eher suboptimal funktioniert. Eine dritte Mglichkeit wre der Besuch nach Prioritten. Beispielsweise nach dem Takt ihrer nderungen (seitenzentriert) oder der Hufigkeit ihrer Aufrufe oder Downloads (nutzerzentriert). Weitere Aufgaben der Crawler sind es Spam, Dubletten sowie Spiegel zu erkennen. Die Erkennung von Dubletten erfolgt in der Regel ber den Vergleich der Pfade. Die Vermeidung von Spam gestaltet sich etwas schwieriger, da Spam oft versteckt auftritt.

Speichern und Indizieren

[Bearbeiten]

Die gefundenen Dokumente werden in die Datenbasis kopiert. Dafr werden zwei Dateien angelegt. Zum einen die Dokumentendatei, zum anderen eine invertierte Datei. In der invertierten Datei werden alle Wrter oder Phrasen geordnet und nach Alphabet oder einem anderen Sortierkriterium aufgelistet. Ob man einen Wortindex oder einen Phrasenindex verwendet hngt vom Feld ab. Bei einem Autorenfeld eignet sich beispielsweise der Phrasenindex wesentlich besser als der Wortindex. In der invertierten Datei finden sich Angaben ber die Position der Wrter oder Phrasen im Dokument und Strukturinformationen. Strukturinformationen knnen fr das Relevanceranking ntzlich sein. Wenn etwa angegeben ist, dass ein Wort grer geschrieben wurde, kann man dieses auch hher gewichten. Die Wrter und Phrasen werden sowohl in der richtigen Reihenfolge geschrieben, als auch rckwrts abgelegt. Dies ermglicht eine offene Linkstrukturierung. Eine mgliche Form invertierte Dateien in Retrievalsystemen abzulegen sind Trees oder Tries von ReTRIEval. Das gesamte Vokabular wird als Baum dargestellt.

Klassifikation von Retrievalmodellen

[Bearbeiten]

Eine zweidimensionale Klassifikation von IR-Modellen zeigt die nachstehende Abbildung. Folgende Eigenschaften lassen sich bei den verschiedenen Modellen in Abhngigkeit von Ihrer Einordnung in der Matrix beobachten:

Klassifikation von IR-Modellen (Quelle: Dominik Kuropka)

Dimension: mathematisches Fundament Mengentheoretische Modelle zeichnen sich dadurch aus, dass sie natrlichsprachliche Dokumente auf Mengen abbilden und die hnlichkeitsbestimmung von Dokumenten (in erster Linie) auf die Anwendung von Mengenoperationen zurckfhren. Algebraische Modelle stellen Dokumente und Anfragen als Vektoren, Matrizen oder Tupel dar, die zur Berechnung von paarweisen hnlichkeiten ber eine endliche Anzahl algebraischer Rechenoperationen in ein eindimensionales hnlichkeitsma berfhrt werden. Probabilistische Modelle sehen den Prozess der Dokumentensuche bzw. der Bestimmung von Dokumentenhnlichkeiten als ein mehrstufiges Zufallsexperiment an. Zur Abbildung von Dokumentenhnlichkeiten wird daher auf Wahrscheinlichkeiten und probabilistische Theoreme (insbesondere auf den Satz von Bayes) zurckgegriffen. Dimension: Eigenschaften des Modells Modelle ohne Terminterdependenzen zeichnen sich dadurch aus, dass jeweils zwei verschiedene Terme als vollkommen unterschiedlich und keinesfalls miteinander verbunden angesehen werden. Dieser Sachverhalt wird in der Literatur hufig auch als Orthogonalitt von Termen bzw. als Unabhngigkeit von Termen bezeichnet. Modelle mit immanenten Terminterdependenzen zeichnen sich dadurch aus, dass sie vorhandene Interdependenzen zwischen Termen bercksichtigen und ihnen somit im Unterschied zu den Modellen ohne Terminterdependenzen nicht die implizite Annahme zu Grunde liegt, dass Terme orthogonal bzw. unabhngig voneinander sind. Die Modelle mit den immanenten Terminterdependenzen grenzen sich von den Modellen mit den transzendenten Terminterdependenzen dadurch ab, dass das

Ausma einer Interdependenz zwischen zwei Termen aus dem Dokumentenbestand, in einer vom Modell bestimmten Weise, abgeleitet wird also dem Modell innewohnend (immanent) ist. Die Interdependenz zwischen zwei Termen wird bei dieser Klasse von Modellen direkt oder indirekt aus der Kookkurrenz der beiden Terme abgeleitet. Unter Kookkurrenz versteht man dabei das gemeinsame Auftreten zweier Terme in einem Dokument. Dieser Modellklasse liegt somit die Annahme zu Grunde, dass zwei Terme zueinander interdependent sind, wenn sie hufig gemeinsam in Dokumenten vorkommen. Wie bei den Modellen mit immanenten Terminterdependenzen liegt auch den Modellen mit transzendenten Terminterdependenzen keine Annahme ber die Orthogonalitt oder Unabhngigkeit von Termen zu Grunde. Im Unterschied zu den Modellen mit immanenten Terminterdependenzen knnen die Interdependenzen zwischen den Termen bei den Modellen mit transzendenten Terminterdependenzen nicht ausschlielich aus dem Dokumentenbestand und dem Modell abgeleitet werden. Das heit, dass die den Terminterdependenzen zu Grunde liegende Logik als ber das Modell hinausgehend (transzendent) modelliert wird. Das bedeutet, dass in den Modellen mit transzendenten Terminterdependenzen das Vorhandensein von Terminterdependenzen explizit modelliert wird, aber dass die konkrete Ausprgung einer Terminterdependenz zwischen zwei Termen direkt oder indirekt von auerhalb (z. B. von einem Menschen) vorgegeben werden muss. Information-Retrieval hat Querbezge zu verschiedenen anderen Gebieten, z. B. Wahrscheinlichkeitstheorie derComputerlinguistik.

PageRank:
Der PageRank-Algorithmus ist ein Verfahren, eine Menge verlinkter Dokumente, wie beispielsweise das World Wide Web, anhand ihrer Struktur zu bewerten bzw. zu gewichten. Dabei wird jedem Element ein Gewicht, der PageRank, aufgrund seiner Verlinkungsstruktur zugeordnet. Der Algorithmus wurde von Larry Page (daher der Name PageRank) und Sergei Brinan der Stanford University entwickelt und von dieser zum Patent angemeldet.[1] Er diente der Suchmaschine Google des von Brin und Page gegrndeten Unternehmens Google Inc. als Grundlage fr die Bewertung von Seiten. Der PageRank-Algorithmus ist eine spezielle Methode, die Linkpopularitt einer Seite bzw. eines Dokumentes festzulegen. Das Grundprinzip lautet: Je mehr Links auf eine Seite verweisen, umso

hher ist das Gewicht dieser Seite. Je hher das Gewicht der verweisenden Seiten ist, desto grer ist der Effekt. Das Ziel des Verfahrens ist es, die Links dem Gewicht entsprechend zu sortieren, um so eine Ergebnisreihenfolge bei einer Suchabfrage herzustellen, d.h. Links zu wichtigeren Seiten weiter vorne in der Ergebnisliste anzuzeigen. Der PageRank-Algorithmus bildet einen zufllig durch das Netz surfenden Benutzer nach. Die Wahrscheinlichkeit, mit der dieser auf eine Webseite stt, korreliert mit dem PageRank. Das Prinzip des PageRank-Algorithmus ist, dass jede Seite ein Gewicht (PageRank) besitzt, das umso grer ist, je mehr Seiten (mit mglichst hohem eigenem Gewicht) auf diese Seite verweisen. Das Gewicht PRi einer Seite i berechnet sich also aus den GewichtenPRj der auf i verlinkenden Seiten j. Verlinkt jauf insgesamt Cj verschiedene Seiten, so wird das Gewicht von PRj anteilig auf diese Seiten aufgeteilt. Folgende rekursive Formel kann als Definition des PageRank-Algorithmus angesehen werden:

Dabei ist N die Gesamtanzahl der Seiten und d ein Dmpfungsfaktor zwischen 0 und 1, mit dem ein kleiner Anteil des Gewichts (1 d) einer jeden Seite abgezogen und gleichmig auf alle vom Algorithmus erfassten Seiten verteilt wird. Dies ist notwendig, damit das Gewicht nicht zu Seiten abfliet, die auf keine andere Seite verweisen. Oft wird die obige Formel auch ohne den Normierungsfaktor 1 / N angegeben. Die Gleichung kann sowohl als Eigenvektorproblem der Matrix

als auch (fr d < 1) als Lsung des linearen Gleichungssystems

mit

interpretiert werden, wobei ij das Kronecker-Delta bezeichnet. Die Lsung des linearen Gleichungssystems

kann analytisch oder numerisch erfolgen. Fr d < 1 ist die Lsung des Gleichungssystems eindeutig. Durch Verwendung derJacobi-Iteration zur numerischen Lsung ergibt sich obige rekursive Gleichung. Andere numerische Verfahren zur Matrixinvertierung, wie das MinimaleResiduum-Verfahren oder das Gau-Seidel-Verfahren, konvergieren jedoch in der Regel schneller. Der heute von Google verwendete Algorithmus hat vermutlich nicht mehr exakt diese Form, geht aber auf diese Formel zurck. Alternative Algorithmen sind das Verfahren der Hubs und Authorities von Jon Kleinberg, der Hilltop- und derTrustRank-Algorithmus.

Zufallssurfer-Modell

[Bearbeiten]

Normiert man den PageRank auf 1, so kann man das Gewicht einer Seite als Wahrscheinlichkeit interpretieren, dass ein zuflliger Surfer (siehe Zufallspfad) sich auf dieser Seite befindet. Ein zuflliger Surfer bewegt sich durch das Netz, indem er mit der Wahrscheinlichkeit d zufllig einen der ausgehenden Links der aktuellen Seite whlt. Mit Wahrscheinlichkeit 1 dwhlt er eine beliebige neue Seite. Hat eine Seite keine ausgehenden Links, knnen Links zu allen anderen vorhandenen Seiten hinzugefgt werden. Hierdurch wird erreicht, dass die Summe der PageRankWerte aller Seiten gleich (und nicht kleiner) Eins ist.

Toolbar- und Verzeichnis-Werte

[Bearbeiten]

Informationen ber den PageRank lassen sich aus der Google Toolbar und dem Google-Verzeichnis entnehmen. Der von Google in der Toolbar angezeigte PageRank liegt zwischen 0 und 10. Der im Google-Verzeichnis angegebene Wert lag bis Anfang 2008 zwischen 0 und 7, entspricht inzwischen aber dem in der Toolbar angezeigten Wert. Die angezeigten Werte bilden den realen PageRank auf einer logarithmischen Skala ab und geben das Ergebnis als gerundeten ganzzahligen Wert wieder. Der in der Google-Toolbar angezeigte PageRank wurde frher alle dreiig Tage aktualisiert. Inzwischen wird das Intervall zwischen den Updates sehr unregelmig durchgefhrt, die Intervalllnge schwankt dabei zwischen etwas weniger als dreiig bis zu ber hundert Tagen. Den hchsten PageRank von 10 erreichen nur sehr wenige Seiten, darunter google.com. Der deutsche Anbieter google.de hat nur einen Pagerank von acht, wikipedia.org von neun.

Manipulation

[Bearbeiten]Aufgrund der wirtschaftlichen Bedeutung ist es inzwischen zu

gezielten Manipulationen und Flschungen gekommen. So wurde das System in der Praxis von Suchmaschinenoptimierern durch Spamming in Gstebchern, Blogs und Foren, dem Betreiben von Linkfarmen und anderen unserisen Methoden unterlaufen. Hierzu gehrt unter anderem die Mglichkeit, den in der Toolbar angezeigten PageRank einer niedrig eingestuften Seite durch Weiterleitung auf eine bestehende Seite mit hohem PageRank zu spiegeln. Die Weiterleitung bewirkt ein Kopieren der Anzeige des hohen PageRanks der Zielseite mit dem folgenden Update. Wird die Weiterleitung anschlieend entfernt, so wird dem Besucher fr die Dauer des dann laufenden Intervalls der eigentlichen Seiteninhalt in Verbindung mit dem gespiegelten PageRank

prsentiert. Der eigentliche PageRank-Wert und das Ranking im Suchalgorithmus ist hiervon unberhrt, lediglich die Anzeige wird manipuliert. Dies kann beispielsweise in betrgerischer Absicht dafr genutzt werden, beim Verkauf der Domain oder von Links einen hheren Preis zu erzielen. Anfang 2005 implementierte Google mit rel="nofollow" ein neues Attribut fr Verweise, als Versuch, gegen Spam vorzugehen. Links, die mit diesem Attribut versehen werden, werden nicht fr die PageRank-Berechnung bercksichtigt. Durch Kennzeichnung ausgehender Links kann so beispielsweise dem Gstebuch-, Blog- und Forum-Spamming entgegengewirkt werden. Allerdings ist diese Methode umstritten, da zum einen nicht alle Suchmaschinen das Attribut beachten und zum anderen die Links zwar nicht fr die PageRank-Berechnung bercksichtigt werden, die verlinkten Seiten jedoch von den meisten Suchmaschinen weiterhin gecrawlt werden.

Kritik

[Bearbeiten]

Die Nachteile von PageRank im berblick:

Finanzkrftige Seitenbetreiber knnen sich Backlinks erkaufen und werden dadurch in


Suchergebnissen hher positioniert. Dies fhrt dazu, dass statt qualitativ hochwertigem Inhalt oft die finanziellen Mglichkeiten ber die Reihenfolge der Suchergebnisse entscheiden. Webmaster sehen oft im PageRank das einzige Bewertungskriterium fr den Linktausch. Der Inhalt der verlinkten Seiten gert in den Hintergrund.

Der PageRank liefert keinen Beitrag zur qualitativen Messung von Websites.
Visualisierung des PageRank fr einen einfachen Graphen mit Dmpfungsfaktor d = 0,85 nach

dem Zufallssurfer-Modell. Die Gre der Kreise entspricht der jeweils angegebenen Wahrscheinlichkeit in Prozent, mit

dem sich ein Surfer auf dieser Seite befindet. So wird Seite C nur von einer einzigen, aber sehr wichtigen Seite verlinkt und hat infolgedessen einen hheren PageRank als Seite E, obwohl diese von insgesamt sechs Seiten verlinkt wird. Da Seite A keine anderen Seiten referenziert, wurden bei der Berechnung des PageRanks Links zu allen vorhandenen Seiten hinzugefgt.

HYPERTEXT-INDUCED TOPIC SEARCH (HITS):


Von Jon Kleinberg 1997 vorgestellter Algorithmus Findet zu einer Seitensammlung passende Seiten Hypertext-Incuded ... # Wertet Links in Quelltexten aus ...Topic Search # Hat den Anspruch thematische Zusammenhnge aufzuzeigen Kann mehrdeutige Anfragen behandeln Implementiert in IBMs CLEVER-Suchmaschin Idee: Links zwischen Seiten stellen eine Art Empfehlung dar Seite mit konkretem Inhalt linkt wahrscheinlich

auf thematisch hnliche Seiten Inhalt des jeweiligen Dokuments ist interessant, wenn viele relevante Seiten darauf verweisen Dieses Verhltnis wird fr einen Teilgraph des Internets analysiert

Authorities und Hubs sind zyklisch definiert Ein guter Hub zeigt auf viele gute Authorities Eine Authority ist gut, wenn viele gute Hubs darauf verweisen Saubere Trennung nicht mglich Jede Seite ist gleichermaen Hub und Authority Das Internet ndert sich stndig Statt das Gesamtproblem auszuwerten wird die Lsung iterativ verfeinert

Ermittlung guter Seiten durch Bestimmung thematischen Nhe zu Basis-Seiten Hierzu Auswerten der eingehenden und ausgehenden Links(Backward-/ForewardLinks)

Das Verfahren ist verwandt mit der Potenzmethode (Vektoriteration) zur Eigenvektor-Berechnung von Matrizen. Tatschlich konvergieren und zu den betragsgrten Eigenvektoren der Matrizen AA^t und A^tA

Standardmig zhlen die 10 besten Hubs und 10 besten Authorities zur Ausgab

Nach Konvergenz zeigt Gewichtsvektor die am Besten verknpften Hubs und Authorities Weitere Eigenvektoren beschreiben thematisch zusammengehrige Seitensammlunge Die Haupt-Community, die durch das vorgestellte Verfahren bzw. ber den HauptEigenvektor berechnet wird, stellt die Community dar, deren hubs und authorities am dichtesten untereinander verlinkt sind.

Anfragesprachen: SchlsselwortAnfragesprachen

World Wide Web Consortium


Das World Wide Web Consortium (kurz: W3C) ist das Gremium zur Standardisierung der das World Wide Web betreffenden Techniken. Es wurde am 1. Oktober 1994 am MIT Laboratory for Computer Science in Cambridge (Massachusetts) gegrndet.

Semantisches Web
Das Semantische Web (englisch Semantic Web) ist ein neues Konzept bei der Weiterentwicklung des World Wide Webs und des Internets. Im Rahmen zur Weiterentwicklung zum Internet der Dinge und Ubiquitous Computing wird es erforderlich, dass Maschinen die von Menschen zusammengetragenen Informationen verarbeiten knnen. All die in menschlicher Sprache ausgedrckten Informationen im Internet sollen mit einer eindeutigen Beschreibung ihrer Bedeutung (Semantik) versehen werden, die auch von Computern verstanden oder zumindest verarbeitet werden kann. Die maschinelle Verwendung der Daten aus dem von Menschen geflochtenen Netz der Daten ist nur mglich, wenn die Maschinen deren Bedeutung eindeutig zuordnen knnen, nur dann stellen sie Informationen dar. Das semantische Web ist eine Instanz von Semantischen Netzen. Als Instanz ist das Semantische Web auerdem eine Erweiterung des World Wide Web. Ziel des Semantischen Webs ist es, die Bedeutung von Informationen fr Computer verwertbar zu machen und damit automatisch fr die interessierten Nutzer im Zuge einer Abfrage zu ordnen. Die Informationen im Web sollen von Maschinen interpretiert und automatisch weiterverarbeitet werden knnen. Informationen ber Orte, Personen und Dinge sollen mit Hilfe des Semantischen Webs auf der Basis der Inhalte miteinander in Beziehung gesetzt werden knnen. Beispiel: Dresden<Stadt> liegt an der Elbe<Fluss>. Paul Schuster<Familienname> wurde 1950<Geburtsdatum> in Dresden<Geburtsort> geboren. Whrend das World Wide Web eine Mglichkeit darstellt, Daten miteinander zu vernetzen, zeigt das Semantic Web einen Weg auf, um Informationen auf der Ebene ihrer Bedeutung miteinander zu verknpfen Die Daten in einem Semantischen Web sind strukturiert und in einer Form aufbereitet, welche es Computern ermglicht, sie entsprechend ihrer inhaltlichen Bedeutung zu verarbeiten. Zudem erlaubt ein Semantisches Web Computern (bei Realisierung des Konzeptes), aus den vielen Informationen der weltweiten Daten Wissen herzuleiten und neues Wissen zu generieren. Ursprnge des Semantischen Web liegen auch im Forschungsgebiet der Knstlichen Intelligenz.

Wissensreprsentation:

Logik stellt die formale Struktur bereit, um Regeln zu formulieren, mit deren Hilfe das Computersystem Rckschlsse bilden kann.

Ontologien definieren die Objekte, die in einem bestimmten Umfeld existieren. Berechenbarkeit ist eine Eigenschaft einer Wissensbasis, die diese praxistauglich werden
lsst.

1. XML und RDF

[Bearbeiten]

Oft wird der Begriff des Semantischen Webs nur mit RDF (Resource Description Framework) in Verbindung gebracht, obwohl die Vision des Semantischen Webs natrlich andere Reprsentationen nicht ausschliet. Im Jahre 2001 schreiben Berners-Lee et al. in einem Artikel: das Semantische Web ist eine Erweiterung des herkmmlichen Webs, in der Informationen mit eindeutigen Bedeutungen versehen werden, um die Arbeit zwischen Mensch und Maschine zu erleichtern (The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation, Scientific American (2001 05) ). RDF als Auszeichnungssprache fr Metadaten basiert auf sog. Tripeln oder Aussagen (englisch: statements) aus Subjekt, Prdikat (oder Eigenschaft, englischproperty) und Objekt, die als Erweiterung zu Schlssel-Wert-Paaren zu sehen sind. Whrend Schlssel-Wert-Paare nur einer beliebigen Eigenschaft einen beliebigen Wert zuweisen knnen (z. B. Kontaktadresse = Musterstrae) kann mit einem Tripel auf semantische Art ein Objekt, Konzept oder Wert mit einem anderen in Beziehung gesetzt werden. Ein Beispiel fr ein solches Tripel ist Musterstrae ist Kontaktadresse von Max Mustermann, hier ist Musterstrae das Subjekt, ist Kontaktadresse von das Prdikat und Max Mustermann das Objekt. Beliebigen Ressourcen (typischerweise Webseiten) werden bestimmte Werte, wie z. B. Autor, Erstelldatum zugewiesen, wobei eben die URL der Webseite das Subjekt, die Eigenschaft Autor das Prdikat und schlielich der Name des Autors das Objekt darstellt. Da idealerweise fr die Eigenschaften bekanntes und weitverbreitetes Vokabular benutzt wird, wie z. B. das Dublin Core Element Set (DC), das eindeutige URIs fr die wichtigsten Metadatentypen bereitstellt, sind die Informationen der so ausgezeichneten Ressourcen auch fr Computerprogramme als Metadaten identifizierbar und entsprechend interpretierbar, also z. B. ein Autor als eben solcher. Das Konzept dieser RDF-Tripel ist stark an Conceptual Graphs (CG) (John F. Sowa) angelehnt, das 1976 publiziert wurde (siehe [1]). Das Konzept derConceptual Graphs erwies sich aber als zu wenig formal und zu ungenau. Das optimale Serialisieren von RDF-basierten Beschreibungen ist kein triviales Problem, so dass zum einen stndig einfachere Notationen erfunden werden, wie z. B. N3, und zum anderen eine weite Verbreitung nicht von heute auf morgen stattfindet. Diese Erschwernis ist auch Hand in Hand mit einer fehlenden sofortigen Belohnung der Mhen einer Metadatenauszeichnung zu sehen. Das World Wide Web ist v. a. deshalb so schnell gewachsen, weil HTML einfach ist und die Publikation desselben durch eine sofortige, weltweite Verfgbarkeit im Web belohnt wird.

RDF-Schema (RDF Vocabulary Description Language) [Bearbeiten]


Mit dem Resource-Description-Framework-Modell erhlt man die Mglichkeit, einzelne XMLkonforme Dokumente zu erzeugen, welche Objekte anhand von Statements beschreiben. Durch die geschickte Wahl der Ressource-Namen erhlt man Informationen ber das jeweilige Objekt. Um eine Gruppe von hnlichen Objekten, z. B. Bcher, alle mit den gleichen Eigenschaften auszuzeichnen, bietet RDF keine Mglichkeit um einen Rahmen fr alle diese Objekte zu definieren. Fr diese Zwecke wurde die RDF-Beschreibungssprache RDF-Schema (RDFS, offiziell: RDF Vocabulary Description Language) definiert. Diese stellt die Mglichkeit bereit, Begriffe und die damit verbundenen Elemente semantisch zueinander in Beziehung zu setzen. Zum Beispiel kann mit RDFS festgelegt werden, dass die Eigenschaft title dazu verwendet wird, um den Titel eines Buchs zu beschreiben. In RDF-Schema wird fr jede Eigenschaft festgelegt, welche Werte

erlaubt sind, was diese fr eine Bedeutung hat, welche Beziehungen zu anderen Eigenschaften bestehen und welche Arten von Ressourcen diese Eigenschaft verwenden drfen. Dabei wurde vom W3C nicht ein allgemein gltiges Schema definiert, in dem verschiedene Klassen und Eigenschaften festgelegt werden, sondern es wird in einer Scheme-Definition Language beschrieben, mit deren Hilfe die eigentlichen Schemas definiert werden knnen. Diese Schemata werden auch als Vokabulare bezeichnet. In den letzten Jahren haben sich RDF-SchemaGemeinschaften gebildet, die die Aufgabe haben, RDF-Schema-Metadatenmodelle zu entwerfen, z. B. der Dublin Core. Durch diese dezentralisierte Vorgehensweise wird eingestanden, dass es unmglich ist, ein einzelnes Schema zu entwickeln, das fr alle Gebrauchsmglichkeiten passend wre.

RDF-Schema
Das Resource Description Framework Schema (RDFS) ist wie RDF eine W3CEmpfehlung. Ebenso wie XML im konkreten Anwendungsfall die Definition eines speziellen Dokumenttyps bentigt, z. B. als Dokumenttypdefinition (DTD), legt das RDF-Modell nur eine Syntax fr den gemeinsamen Datenaustausch fest. Zur Interpretation von in RDF formulierten Aussagen bedarf es eines gemeinsamen Vokabulars wie zum Beispiel Dublin Core. Ein solches Vokabular wird auch Ontologie genannt, wenn es gleichzeitig Regeln fr die richtige Verwendung der in ihm definierten Ressourcen enthlt. RDF-Schema (RDFS) stellt ein Vokabular zur Verfgung, mit dessen Hilfe eine bestimmte Anwendungsdomne modelliert werden kann. Auerdem knnen die in der Domne vorkommenden Ressourcen, ihre Eigenschaften und Relationen untereinander durch RDFS reprsentiert werden. Man kann also mit RDFS einfache Ontologien formalisieren. RDFS liegt die Idee eines mengentheoretischen Klassenmodells zugrunde. Hierbei ist wichtig zu betonen, dass Klassen undEigenschaften separat voneinander modelliert werden. Das Klassenkonzept macht es mglich, eine formale Beschreibung der Semantik der verwendeten RDF-Elemente festzulegen. Klassen

Class: Das Klassenkonzept. Legt ein abstraktes Objekt fest und dient in Verbindung
mit rdf:type zur Erzeugung von Instanzen.

Resource: Jede Entitt in einem RDF-Modell ist eine Instanz dieser besonderen
Klasse.

Property: Die Basisklasse fr Eigenschaften. Ist eine Unterklasse von Resource. Literal: Klasse fr Literalwerte, also Zeichenketten etc.
Eigenschaften

subClassOf: Eine transitive Eigenschaft zur Festlegung von


Vererbungshierarchien von Klassen.

subPropertyOf: Eine transitive Eigenschaft zur Festlegung von


Vererbungshierarchien von Eigenschaften.

domain: Legt den Datentyp des Subjekts einer Eigenschaft in Bezug auf eine Klasse
fest. Da in RDFS die Eigenschaften per se unabhngig von den Klassen definiert werden, sollte/muss mit dieser Eigenschaften festgelegt werden, fr welche Klassen eine Eigenschaft sinnvoll ist. So knnte zum Beispiel als domain der Eigenschaft hatFarbe sowohl die Klasse Auto als auch die Klasse Ball festgelegt werden.

range: Legt den Datentyp des Objekts einer Eigenschaft fest. Damit kann zum
Beispiel ausgesagt werden, dass die Eigenschaft hatFarbe als Wert nur Farben annehmen kann.

Formale Definition von RDF mittels RDF-Schema


Unter http://www.w3.org/1999/02/22-rdf-syntax-ns gibt es eine formale Definition des RDFModells in RDF-Schema. Darin sind folgende Ressourcen definiert: Klassen

Statement: Tripel einer Aussage Property: Eine Eigenschaft, die als Prdikat einer Aussage benutzt werden kann. Bag: Ungeordnete Menge von Ressourcen Seq: Geordnete Menge von Ressourcen Alt: Menge von alternativen Ressourcen
Eigenschaften

subject: Weist einer Aussage eine Ressource als Subjekt zu predicate: Weist einer Aussage eine Eigenschaft als Prdikat zu object: Weist einer Aussage ein Objekt zu type: Identifiziert die Klasse einer Ressource value: Einfache Zuweisung einer Eigenschaft

Dokumenttypdefinition
Eine Dokumenttypdefinition (englisch Document Type Definition, DTD, auch SchemaDefinition oder DOCTYPE) ist ein Satz an Regeln, der benutzt wird, um Dokumente eines bestimmten Typs zu deklarieren. Ein Dokumenttyp ist dabei eine Klasse hnlicher Dokumente, wie beispielsweise Telefonbcher oder Inventurdatenstze. Die Dokumenttypdefinition besteht dabei aus Elementtypen, Attributen von Elementen, Entitten und Notationen. Konkret heit das, dass in einer DTD die Reihenfolge, die Verschachtelung der Elemente und die Art des Inhalts von Attributen festgelegt wird kurz gesagt: die Struktur des Dokuments.

1. DTD in XML
Die Syntax und Semantik einer DTD ist Bestandteil der XML-Spezifikation. Diese Entscheidung wurde spter kritisiert, da die DTD-Syntax selbst kein XML ist. Mit Document Schema Definition Languages existiert eine eigene Spezifikation zur Definition von Dokumentstrukturen, Datentypen und Datenbeziehungen in strukturierten Informationsquellen.

Dokumenttypdeklaration

[Bearbeiten]

Die DTD wird zu Beginn eines XML-Dokumentes, vor dem Wurzelelement, in der Dokumenttypdeklaration angegeben. Die Grammatikregeln der DTD knnen dabei sowohl innerhalb des XML-Dokumentes (interne DTD) als auch in einer externen Datei angegeben werden (drei Mglichkeiten und die eckigen Klammern knnen weggelassen werden, falls sie leer sind): <!DOCTYPE Wurzelelement SYSTEM "datei.dtd" [ ... ]> <!DOCTYPE Wurzelelement PUBLIC "Public Identifier" "datei.dtd" [ ... ]> <!DOCTYPE Wurzelelement [ ... ]>

Als Verweis auf eine Datei kann ein beliebiger URI angegeben werden. Fr standardisierte DTDs gibt es bekannte Public Identifier (zum Beispiel "-//W3C//DTD XHTML 1.0 Strict//EN" fr XHTML), so dass Programme nicht jedes mal die Datei neu laden mssen, falls ihnen der Public Identifier bekannt ist. Innerhalb einer DTD-Datei bzw. der eckigen Klammern knnen verschiedene Markup-Deklarationen stehen, die den Dokumenttyp definieren.