
XML - eXtensible Markup Language
XML-Schema
XML-Strukturaquisition
ErläuterungEin Dokument (im weitesten Sinne) besteht aus Inhalt, Struktur und Layout. Die Ausgabe eines Dokuments auf unterschiedlichen Medien darf nicht zum Informationsverlust führen, während sich das Aussehen je nach Medium ändern kann. SGML basiert auf dem Konzept der Trennung des Informationsgehalts eines Dokuments von seinem Erscheinen. Mit Hilfe von Markierungen (markups") werden die Struktur und Daten eines Dokuments beschrieben. Diese Beschreibung wird mit Marken (auch Tag genannt) in das Dokument eingebettet. Die Interpretation und Verarbeitung der Strukturinformationen eines Dokuments liegt im Ermessen des verarbeitenden Programms. Jede Marke markiert den Anfang und das Ende eines Elements. SGML schreibt keine feste Menge von Elementen vor. Sie beschreibt eher einen Weg, wie Elemente definiert werden und was die Beziehung der definierten Elemente in einer bestimmten Dokumentenklasse ist. Eine Menge von SGML-Elementen, die für die Lösung eines bestimmten Problems (z.B. eine Vorlage für Berichte) definiert sind, heißt eine SGML-Anwendung. Jede SGML-Anwendung wird durch eine Document Type Definition (DTD) beschrieben, die die Grammatik dieser Anwendung vorschreibt. Wenn ein Dokument der DTD einer SGML-Anwendung genügt, ist es eine Instanz dieser Anwendung. XMLIn den ersten Jahren des WWW konnte die HyperText Markup Language (HTML), eine SGML-Anwendung, ihre Aufgabe als Seitenbeschreibungssprache erfüllen. Im Laufe der Zeit erwies sich aber HTML als zu restriktiv und unflexibel. Im Web existieren unterschiedliche Angebote unter anderem für Datenbanken, Warenhäuser, Dienstleistungen, von denen jedes seine eigene Datenbeschreibungssprache hat. Eine neue Sprache war notwendig, die weder die HTML-Einschränkungen, noch die SGML-Komplexität hatte. Die Lösung sah das WWW-Konsortium (W3C) in der Definition einer Untermenge von SGML, welche die selten benutzten Elemente von SGML nicht beinhaltet und gleichzeitig flexibel genug ist, um den unterschiedlichen Anforderungen des Webs wie z.B. Heterogenität, Internationalisierung, Erweiterbarkeit gerecht zu werden. Mit diesem Ziel stellte das W3C im November 1996 den Entwurf des XML-Standards vor [3]. In der Einführung ist zu lesen:
Die Version 1.0 wurde im Februar 1998 vorgelegt. Als Ziele werden darin u.a. einfache Benutzung im Internet, Unterstützung unterschiedlicher Anwendungen, Kompatibilität mit SGML, Einfachheit sowohl beim Erzeugen als auch bei der Verarbeitung, minimale Zahl an optionalen Eigenschaften und Lesbarkeit genannt. Ein XML-Dokument besteht aus drei Teilen: dem Prolog, dem Elemente und Misc". Der letztere beinhaltet Kommentare und Verarbeitungsanweisungen, die von dem XML-Parser an die Anwendung weitergereicht werden. Im Prologteil werden XML-Deklarationen, der Dokumenttyp und andere Charakteristika des Dokuments beschrieben. Der Prolog kann auch leer sein. Die XML-Deklaration enthält Informationen über die Version und den Zeichensatz sowie die Angabe, ob ein Dokument standalone ist. Beispiel 1 zeigt einen einfachen Prolog: Beispiel 1: < ?xml version = „1.0" encoding = „UTF-8"? > Es handelt sich hier um ein XML-Dokument der Version 1.0, das die Zeichenkodierung UTF-8" verwendet. Das Dokument ist vom Typ mail", und dessen DTD ist im Dokument namens mail.dtd" auf dem Rechner server.de" zu finden. XML ist Unicodefähig. Während in HTML die Groß-/Kleinschreibung bei Elementnamen keine Rolle spielt (oder sie wird von den verarbeitenden Programmen geduldet), darf man in XML diese nicht ignorieren. Im Beispiel 1 wurde ein XML-Dokument vorgestellt, das eine externe DTD hat. Die DTD kann auch im Dokument enthalten sein. In diesem Fall spricht man von einer internen DTD. XML erlaubt die flexible Organisation des Dokumentinhalts. Die Flexibilität wird mit Hilfe von Entitäten erreicht. Sie ermöglichen das Aufbrechen des Dokuments in mehrere Objekte, die getrennt gespeichert werden können. So erreicht man einen gewissen Grad von Wiederverwendbarkeit und/oder Verteiltheit. Im einfachen Fall ist eine Entität eine Abkürzung, welche Entitätsname genannt wird. Der Text, auf den sich die Abkürzung bezieht, heißt Entitätsinhalt. Eine Entität kann (so wie die DTD) intern oder extern deklariert werden. Eine Entität, die als Abkürzung eines XML-Elements verwendet wird, heißt Parameterentität. Sie kann nur in der DTD eingesetzt werden. Wie in SGML können Elemente in XML verschachtelt sein. Die wichtigste Regel ist, daß ein Element andere Elemente umschließen muß. Diese und einige andere Regeln bilden die Wohlgeformtheitsbeschränkungen. Ein XML-Dokument ist wohlgeformt, wenn es allen diesen Beschränkungsregeln genügt. Ist ein Dokument wohlgeformt, und genügt es der Grammatik einer DTD, ist es ein gültiges XML-Dokument. Beispiel 2 zeigt ein gültiges XML-Dokument mit der zugehörigen DTD. Beispiel 2: organisation. dtd" organisation. xml" Ein XML-Prozessor muß die Verletzung der Wohlgeformtheitsbeschränkungen feststellen können. NamensräumeUm Elemente der DTDs wiederverwenden zu können und sie nicht immer wieder definieren zu müssen, definiert XML den Namensraum. Mit Hilfe von Namensräumen kann man unternehmensweit einheitliche (evtl. vorgeschriebene) Elemente einführen. Mit < elem xmlns:gi = "http://gi-ev.de/schema" > wird z.B. ein neuer Namensraum (gi) bekannt gegeben, der den angegebenen URL vertritt. Nun kann man unter Eingabe von gi:" auf die in dem angegebenen Dokument definierten Elemente und Attribute zugreifen. Es ist zu beachten, daß der Zugriff nur innerhalb von elem gültig ist. Mit < gi:article band = "22" heft = "6" autor = "farsi"/ > wird z.B. dieser Artikel referenziert, vorausgesetzt, es gibt ein Dokument unter dem angegebenen URL, das das Element article" mit den angegebenen Attributen enthält. XLink, XPointerDie Möglichkeit, Dokumente mit Hilfe von Verweisen (Links) untereinander zu vernetzen, ist bereits von HTML bekannt. Diese Möglichkeit bietet auch XML. Es liegen dem W3C zwei Entwürfe vor, nämlich XML Linking Language (XLink) und XML Pointer Language (XPointer) (beide vom Juli 1999). XLink definiert zwei Typen von Verweisen, den einfachen und den erweiterten Verweis. Der einfache Link entspricht dem von HTML. Mit einem erweiterten Link kann ein Verweis zwischen zwei Ressourcen errichtet werden, ohne daß eine von ihnen irgend etwas über diese Relation weiß. In diesem Fall existiert der Link in einer dritten Ressource. Man kann außerdem einen Link zwischen mehr als nur zwei Dokumenten definieren. Einrichten von Links von Medien oder Dateien aus, die selbst nicht beschreibbar sind (z.B. CD-Roms), sind ebenso möglich. Mit XPointer kann auf eine Stelle oder einen Bereich innerhalb eines XML-Dokuments verwiesen werden. Absolute Adressierung ist mit Hilfe von vordefinierten Schlüsselwörtern möglich. Ist mit Hilfe eines der Schlüsselwörter der Ausgangspunkt eines Verweises festgestellt, kann man mit relativen Angaben auf beliebige Stellen eines Dokuments verweisen. Mit http://gi-ev.de/#root().child(2, P) wird z.B. der zweite mit <P>-Marke definierte Abschnitt in der Homepage der GI referenziert. XSLXML ist eine Strukturbeschreibungssprache und kann u.a. zum Datenaustausch in heterogenen Umgebungen verwendet werden. Aber was ist mit der Darstellung? Im Gegensatz zur HTML beinhaltet ein XML-Dokument keine Informationen, wie seine Daten dargestellt werden sollen. Dies wird mit eXtensible Stylesheet Language (XSL) bewerkstelligt. Mit XSL werden Stilvorlagen für XML-Dokumente beschrieben, um sie zwecks der Darstellung im Web in HTML umzuwandeln oder dem bearbeitenden Programm die Darstellungregeln vorzuschreiben. Um dies zu erreichen, führt ein XML-Stylesheet-Prozessor einen zweistufigen Prozeß durch. In der ersten Phase (tree transformation) wird ein Ergebnisbaum von dem Ausgangsdokument erzeugt, und in der zweiten Phase (formatting) wird der Ergebnisbaum interpretiert, um eine formatierte Präsentation für Bildschirm, Papier, Sprache oder ein anderes Medium zu erzeugen. Weitergehende Arbeiten, ProjekteZahlreiche Arbeiten verwenden gegenwärtig XML als Basis. Neben Industrieprojekten zählen dazu auch Projekte beim W3C. Hier werden nur einige von ihnen erwähnt:
FazitXML unterstützt den Austausch von Daten zwischen Anwendungen in offenen heterogenen Systemen. Die Standardisierung des Sprachumfangs ermöglicht die Interoperabilität der Programme verschiedener Anbieter. Es gibt mittlerweile viele z. T. frei verfügbare Programmbibliotheken für das Parsen, Konvertieren und Darstellen von XML-Dokumenten. In diesem Artikel konnte auf einige Aspekte von XML und den Entwicklungstand nicht eingegangen werden. Weitere Informationen sind bei Prescod u. Goldfarb [1], Mintert u. Behme [6], Fachzeitschriften und auf den W3C-Seiten im WWW zu entnehmen. DanksagungDer Autor dankt Kurt Geihs und Wolfgang Putz für ihre Kommentare zu diesem Beitrag. |
|
|
Reza Farsi © 1999 Informatik Spektrum, Springer-Verlag Berlin Heidelberg |
ErläuterungDas World Wide Web Consortium (W3C) hat die Spezifikation von XML-Schema im Mai 2001 mit dem Status Recommendation " versehen und somit nach einem dreijährigen Entwicklungsprozess verabschiedet [14]. Ein XML-Schema definiert ähnlich wie die DTD (Document Type Definition) Regeln für die Syntax und die Struktur einer Klasse von XML-Dokumenten [12]. Die DTD ist Teil der XML-Spezifikation. Es hat sich jedoch herausgestellt, dass die DTD Schwächen aufweist, die zur Entwicklung von XML-Schema geführt haben. Die wichtigsten Verbesserungen sind:
Beispiel
|
|
|
Abb. 1. Beispiel für ein XML-Schema.
|
Einige dieser Besonderheiten sollen anhand des Beispiels in Abb.1 erläutert
werden. In Zeile 2 wird zunächst der Namensraum für alle Schlüsselworte
festgelegt, die im Folgenden durch das Präfix Ein Beispiel für ein zum Schema passendes XML-Dokument ist in Abb.
2 enthalten. |
|
|
Abb. 2. Beispiel für ein zum Schema in Abb. 1 passendes XML-Dokument
Verfügbare ProdukteDas W3C hat neben der Spezifikation [14] auch eine Einführung in XML-Schema mit zahlreichen Beispielen veröffentlicht [7].Es gibt bereits ausgereifte XML-Schema-Editoren (beispielsweise XML Spy Suite [1] und Turbo XML [13]), welche die Erstellung von XML-Schemata durch geeignete Benutzeroberflächen stark vereinfachen und die syntaktische Korrektheit der erstellten XML-Schemata sicherstellen. Die Schemagültigkeit kann aber auch mittels frei verfügbarer Validatoren kontrolliert werden. Soll dies innerhalb selbst entwickelter Programme erfolgen, übernehmen validierende Parser (z.B. Apache Xerces [2]) diese Aufgabe. Eine Produktübersicht für XML-Schema ist unter www.wifo.uni-mannheim.de/xml-schema/ zu finden. Die Verbreitung von XML-Schema nimmt ständig zu. Schema-Repositorys, deren wichtigste Vertreter XML.org [15] und Microsoft BizTalk [8] sind, enthalten wiederverwendbare XML-Schemata für bestimmte Anwendungsbereiche. Auch die Initiative ebXML [4] benutzt XML-Schemata zur Definition ihrer Standards. Ein interessanter Aspekt im Zusammenhang mit der objektorientierten Modellierung von Systemen ist, dass sich jedes XML-Schema (und sogar die komplette Syntax von XML-Schema) als UML-Klassendiagramm darstellen lässt. CASE-Tools, welche die XML-Metadata-Interchange-Spezifikation (XMI [9]) unterstützen, können automatisch aus einem UML-Klassendiagramm das zugehörige XML-Schema erzeugen. Und auch der umgekehrte Vorgang das Reverse Engineering ist möglich. Objektorientierte SoftwareentwicklungAuch für die objektorientierte Softwareentwicklung bietet XML-Schema interessante Möglichkeiten, wobei speziell die Programmiersprache Java in Betracht kommt. Beispielsweise besitzen viele der in XML-Schema vordefinierten Datentypen direkte Entsprechungen in Java [3].Darüber hinaus sind sowohl XML als auch Java plattformunabhängig konzipiert. Der wichtigste Einsatzbereich von XML-Schema bei der objektorientierten Softwareentwicklung ist derzeit das XML-Data-Binding. Dabei werden XML-Schemata durch einen Schema-Compiler automatisch in die Klassen einer objektorientierten Programmiersprache übersetzt. Im Gegensatz dazu muss bei Verwendung einer DTD in einem manuell zu erstellenden XML-Dokument, dem sog. Binding-Schema, die mangelnde Ausdrucksfähigkeit der DTD aufwändig ausgeglichen werden. Ein XML-Data-Binding-Framework stellt Methoden zum Zugriff und zur Manipulation der Attribut- und Elementwerte eines schemagültigen XML-Dokuments zur Verfügung und nimmt deren Validierung vor. Dieses Verfahren ist effizienter und einfacher als der Einsatz von SAX oder DOM [11]. Derzeit sind zahlreiche XML-Data-Binding-Frameworks in Entwicklung,
dazu gehören insbesondere die Open-Source-Projekte Castor
[6] und Zeus [5]
sowie von Sun das Java API for XML Processing (JAXP) ab Version
1.2 [10]. |
|
|
Abb. 3. Java-Programmfragment zum XML-Data-Binding mit Castor
Hinweis: Die URLs entsprechen dem Stand bei der Veröffentlichung des Artikels und werden nicht aktualisiert. |
ErläuterungDiese Annotationsformalismen bezeichnet man als Markup-Sprachen, und XML ist der De-fac-to-Standard. Ist diese Annahme verletzt, so wird in der Regel eine direkte maschinelle Auswertung unmöglich. Taucht z.B. in einem E-Commerce-Angebot die Zahl 12.05 im Fließtext auf, so kann diese maschinell erst dann vernünftig interpretiert werden, wenn die semantische Rolle, etwa mit Hilfe von Tags der Form <Haltbarkeitsdatum> 12.05</Haltbarkeitsdatum>, explizit gemacht wurde. Weitere Tags müssen eindeutig erkennbar machen, auf welches Produkt sich die Angabe bezieht. Bei der Mehrzahl der existierenden und derzeit produzierten Dokumente sind die benötigten strukturellen Markierungen a priori nicht vorhanden. Da eine rein manuelle Akquisition der Strukturinformation aus Kostengründen nicht in Frage kommt, ist eine maschinelle Unterstützung notwendig. In diesem Schlagwortartikel gebe ich einen Überblick über Werkzeuge zur Durchführung einer XML-Strukturakquisition für vorhandene Dokumente. Klassifikation von Formaten und WerkzeugenEin Blick auf den Schreibtisch, in das eigene Filesystem, in den vorliegenden Artikel, in das Web oder auf sonstige Dokumentensammlungen zeigt, dass heute noch sehr wenige Dokumente in XML vorliegen. Gründe dafür sind die Vorherrschaft von Druck auf Papier als Dokumentenformat, die noch mangelnde XML-Unterstützung von Microsoft-Office-Paketen sowie die Etablierung von HTML als Lingua franca des Web. Wenn man zunächst Papierdokumente außer Acht lässt, lassen sich die elektronischen Formate in folgende drei Gruppen einteilen:
Liegen Dokumente in einem deskriptiven Format vor, so ist bereits eine hierarchische, baumartige Struktur explizit ausgezeichnet, die den Aufbau eines Dokuments und seiner Teile beschreibt. Der rein textuelle Inhalt ist in Blättern des Baums zu finden. In SGML Ð der Urmutter der Markup-Sprachen Ð und bei dem daraus abgeleiteten, vereinfachten XML-Standard wird die entsprechende Markierung realisiert, indem Tags um die Textbausteine schachtelförmig angeordnet werden. Außerdem besteht die Möglichkeit, ein Dokument mit Hilfe so genannter Stylesheets in verschiedene Präsentationsformate zu transformieren. Beispiele für deskriptive Formate sind MathML, SCORM und TEI Ð in XML formulierte Standards aus den Bereichen Mathematik, E-Learning und Literatur. Prozedurale Formate bestehen aus textuellem Inhalt plus expliziten Visualisierungsanweisungen, wie beispielsweise PostScript. Präsentationale Formate kennen keine explizite Auszeichnung von Struktur oder Layout. Sofern diese Informationen nicht gänzlich fehlen sollen, werden sie mit Hilfe des Zeichensatzes umschrieben, mit dem auch der Inhalt verfasst ist. In E-Mails und Newsartikeln werden z.B. Listenelemente mit vorangestelltem Bindestrich oder Mehrspaltigkeit durch Leerzeichen angedeutet. Ergänzend bleibt anzumerken, dass XML-basiert nicht zwangsweise mit deskriptiv gleichzusetzen ist. Die Reformulierung des HTML-Standards in XHTML1.0 beispielsweise erfolgte zwar aufbauend auf XML, bleibt jedoch weiterhin eine Mischform deskriptiver Struktur- und prozeduraler Layoutauszeichnung. Auch LATEX und die Formate aktueller Office-Applikationen besitzen teils prozedurale, teils deskriptive Elemente. Um die reichhaltigen Anfrage-, Manipulations- und Weiterverarbeitungsmöglichkeiten deskriptiver Formate nutzen zu können, muss zum einen bei Werkzeugen zur Neuerstellung von Dokumenten eine XML-Anbindung realisiert, zum anderen der vorhandene Dokumentenbestand mittels geeigneter Formen der Strukturakquisition nach XML konvertiert werden. Die hierfür existierende Software lässt sich anhand der Ausgangsformate in drei Gruppen einteilen:
Obwohl sich die Zielsetzung und auch die angewandten Techniken überschneiden, sind Softwaresysteme in drei weitgehend unabhängigen Forschungs-Communities entstanden. InformationsextraktionssystemeWährend in Europa die Forschung zu Informationsextraktionssystemen auf Anwendungen im E-Commerce fokussiert, sieht man einigen amerikanischen Veröffentlichungen deutlich das dahinter stehende militärische Interesse an. In den zitierten Anwendungen werden z.B. in großen Sammlungen elektronischer Zeitungen Artikel über terroristische Aktivitäten automatisch lokalisiert und ausgewertet. Abstrakter gesprochen werden in Textkorpora informationstragende Muster zu speziellen Inhalten gesucht, mit dem Ziel, die vorgefundenen Informationen in ein Schema bzw. Datenmodell abzubilden oder die relevanten Textpassagen mit Struktur anzureichern. Zwei Sorten Regeln zum Lokalisieren von zweierlei Sorten der Informationsverpackung lassen sich unterscheiden: linguistische und delimiterorientierte Regeln. Ein ziviles Beispiel: Die Information Michael Schuhmacher gewinnt den Großen Preis von Brasilien vor seinem Bruder kann entweder - wie im Kursivteil dieses Satzes - natürlichsprachlich codiert sein oder tabellarisch: Großer Preis von Brasilien: Um die gewünschten Informationen aus der natürlichsprachlichen
Verpackung zu extrahieren, werden mit Hilfe linguistischer Regeln die
Objekte der Verbalphrase GEWINNEN herausgelöst und die semantischen
Beziehungen der Teilphrasen ermittelt. Mit Hilfe von Delimiter-Regeln hingegen werden Informationen aus der tabellarischen Verpackung extrahiert. Im obigen Beispiel stehen etwa die Namen der Akteure zwischen der Platzierungsnummer - einer Ziffer gefolgt von einem Punkt sowie einem Leerzeichen - und einem Zeilenumbruch. Delimiter-Regeln lassen sich überall dort einsetzen, wo bestimmte Zeichenfolgen auf ein relevantes Textstück hinweisen. Aufgrund des nur schwach strukturierten Aufbaus der im Informationsextraktionsbereich behandelten Beispielkorpora werden dort aber hauptsächlich linguistische Regeln eingesetzt. Die Regeln werden mit verschiedenen Formalismen spezifiziert: diverse Automaten- und Transducertypen, Grammatiken und Muster kommen in Frage, zum Teil angereichert mit Formalismen zur Behandlung von Unschärfen. Um einen höheren Automatisierungsgrad für die zeitraubende manuelle Codierung dieser Regeln zu erreichen, werden Techniken der KI - verschiedene Algorithmen des maschinellen Lernens - eingesetzt. DAU-SystemeIn Hollywood werden Filme über Hollywood gedreht und auch in der Berufsgruppe der Forscher findet man selbstbezügliches Denken. Ein oft anzutreffendes Anwendungsbeispiel aus dem Bereich der DAU-Systeme ist der Aufbau eines Information-Retrieval-Systems über einer Sammlung gedruckter Publikationen. Die Rekonstruktion eines prozeduralen Formats aus einem Papierdokument bezeichnet man als Document-Analysis. Für diesen ersten Schritt existieren heute bereits kommerzielle Produkte für den Massenmarkt, sog. OCR-Software. Streng genommen bezeichnet Optical Character Recognition" nur die Texterkennung. Da OCR-Systeme heute in der Regel auch Features wie Schriftgröße oder -schnitt erkennen, wird der Begriff oft auch in diesem erweiterten Sinn verwendet. Im Allgemeinen ist das Ergebnis der Rekonstruktion noch mit Erkennungs- und Segmentierungsfehlern behaftet. Abhängig von einer Vielzahl von Eigenschaften des Ausgangsdokuments reicht das Spektrum von nahezu fehlerfrei bis zu komplett unbrauchbar. Im zweiten Schritt - genannt Document-Understanding - werden den baumartig angeordneten Layoutobjekten semantische Strukturelemente zugeordnet. So umfassen für gewöhnlich die letzten Blöcke einer Publikation die Bibliographie, und die darin enthaltenen Subblöcke entsprechen den Einzelnen Literaturangaben. Die Baumstruktur des Layouts ermöglicht einen Einbezug der hierarchischen Beziehung in die Strukturierungsregeln sowie eine schrittweise Bottom-up- oder Top-down-Strukturanreicherung. Daneben werden auch die Regeltypen verwendet, die man in Informationsextraktionssystemen findet: linguistische Regeln und delimiterorientierte Regeln, die sich textuell angedeutete Strukturierung zu Nutze machen. In vielen DAU-Systemen werden die Regeln ebenfalls mit maschinellem Lernen trainiert. Wrapper-ToolsIm Web gibt es eine Vielzahl an Sites, die unterschiedliche Informationen in immer das gleiche Layouttemplate verpacken. Das sind zum einen regelmäßig aufgefrischte Seiten wie Wetterberichte oder Börsenkurse und zum anderen dynamisch zu einer Anfrage generierte Webseiten, z.B. Rückgabemengen von Suchmaschinen oder E-Commerce-Angebote. Möchte man zu mehreren solchen Datenquellen eine einheitliche Schnittstelle schaffen, muss man die Informationen aus dem prozeduralen Layoutgewand auspacken und in ein deskriptives Strukturgewand einpacken. Systeme, die diese Transformation zur Laufzeit ausführen, nennt man Mediatorensysteme. Neben solchen virtuell integrierten Systemen gibt es auch Systeme, die mehrere Quellen so vereinen, dass alle Anfragen innerhalb einer materialisierten Datenbank verarbeitet werden können. Im UNICO-Projekt der Siemens AG (University Industry Co-Operation) wird beispielsweise seit fünf Jahren ein universelles Datenbankmanagementsystem aufgebaut, das systematisch die Forschungsaktivitäten deutscher Hochschulen katalogisiert. Dieses Projekt ist ein Beispiel dafür, dass es sich beim Reverse-Engineering von Datenbanken mittels Wrapper-Tools nicht um Datendiebstahl, sondern um einen De-facto-Standard des Datenaustausches handelt. Die Technologietransferstellen der Universitäten stellen bereitwillig Daten zur Verfügung, allerdings nicht in deskriptiven Formaten, sondern in Form von Forschungskatalogen und Web-Datenbanken, die mit einem DAU-System und Wrapper-Tools integriert werden. Im Zusammenhang mit dem Boom, den das Web erlebt hat, ist das Gebiet der Wrapper-Tools in der Forschung intensiv bearbeitet worden. Zum Ausprobieren habe ich eine Liste von zehn Teams zusammengestellt, die gratis Software zur Verfügung stellen, die meisten davon sind auch Open Source:
Daneben gibt es mindestens ebenso viele kommerzielle Entwicklungen. Die meisten Wrapper-Tools arbeiten wie Informationsextraktions- und DAU-Systeme mit Lernalgorithmen, basieren allerdings fast ausschließlich auf Delimiter-Regeln. Für stark irreguläre Daten und sog. One-Shot-Aufgaben, wie man sie beim Aufbau eines universellen Datenbankmanagementsystems vorfindet, ist diese Architektur nicht sinnvoll. Besser dafür geeignet sind LAPIS, ein spezialisierter Editor oder WebL, eine Programmiersprache, die eigene Datentypen und Methoden für Crawling und Wrapping mitbringt. Fast alle angeführten Wrapper-Tools sind in Java implementiert. Das ist ein Beispiel für den Gewinn bringenden Einsatz der mächtigen Klassenbibliothek von Java, insbesondere im Bereich der GUI-Entwicklung. Neben Wiederverwendung, Robustheit und Integration von Wrappern in ein Gesamtsystem ist Visualisierung eine der Hauptforschungsrichtungen in diesem Bereich. |
Hinweis: Die URLs entsprechen dem Stand bei der Veröffentlichung des Artikels und werden nicht aktualisiert. |