DE10351896A1 - Verfahren zur Indizierung von strukturierten Dokumenten - Google Patents

Verfahren zur Indizierung von strukturierten Dokumenten Download PDF

Info

Publication number
DE10351896A1
DE10351896A1 DE10351896A DE10351896A DE10351896A1 DE 10351896 A1 DE10351896 A1 DE 10351896A1 DE 10351896 A DE10351896 A DE 10351896A DE 10351896 A DE10351896 A DE 10351896A DE 10351896 A1 DE10351896 A1 DE 10351896A1
Authority
DE
Germany
Prior art keywords
indexing
document
tree
instances
data stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10351896A
Other languages
English (en)
Inventor
Jörg Heuer
Andreas Hutter
Andrea Kofler-Vogt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10351896A priority Critical patent/DE10351896A1/de
Priority to PCT/EP2004/051346 priority patent/WO2005008521A1/de
Publication of DE10351896A1 publication Critical patent/DE10351896A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Indizierung eines strukturierten Dokuments, das eine Vielzahl von Instanzen enthält, wobei mindestens einer Instanz im Dokument ein Pfad und eine textuelle Pfadbeschreibung zugeordnet wird und mindestens ein Pfad eine Positionsnummer oder eine mehrere Positionsnummern umfassende Positionsnummernfolge als Unterscheidungsmerkmal für Instanzen mit unterschiedlichen Pfaden und gleichen textuellen Pfadbeschreibungen umfasst. Die Erfindung zeichnet sich dadurch aus, dass ein Indizierungsbaum oder eine Indizierungsliste, umfassend eine Vielzahl von Einträgen, derart erzeugt wird, dass Instanzen, denen Pfade zugeordnet sind, die sich ausschließlich in ihren Positionsnummern oder Positionsnummernfolgen unterscheiden, dem gleichen Eintrag zugeordnet werden und die Einträge jeweils die Positionsnummern oder Positionsnummernfolgen der den Instanzen zugeordneten Pfade umfassen, wobei der Indizierungsbaum oder die Indizierungsliste mit einem das strukturierte Dokument enthaltenden Datenstrom verknüpft wird, insbesondere in den Datenstrom eingefügt wird oder dem Datenstrom zugewiesen und separat übertragen oder gespeichert wird.

Description

  • Da momentan Multimedia-Anwendungen immer mehr an Bedeutung gewinnen, wird der Zugriff auf digitalisierte Datenquellen in Form von Audio, Video oder Bild immer wichtiger. Die Motion Picture Experts Group (MPEG) hat beispielsweise einen Standard entwickelt, um die unterschiedlichsten Typen des digitalisierten Materials einheitlich beschreiben zu können. Dies wurde mit dem MPEG-7-Standard [1] realisiert, dessen Ziel es ist, Suche und Zugriff auf solche Daten zu vereinfachen.
  • Eine MPEG7-Beschreibung wird mit Hilfe der Extensible Markup Language (XML) erstellt und kann in mehrere Einheiten (Access Units) aufgeteilt werden, welche ihrerseits wiederum aus mehreren Fragmenten (Fragment Update Units) bestehen. Diese Einheiten können mit Hilfe eines Encoders codiert und bei Bedarf an einen oder mehrere Empfänger versandt werden. In den Empfängern können die Einheiten dann mit einem entsprechenden Decoder wieder decodiert werden.
  • Es tritt häufig der Fall auf, dass ein Empfänger mehrere MPEG7-Beschreibungen erhält, aus denen nur bestimmte Inhalte für einen Benutzer interessant sind. Mit Hilfe einer Abfragesprache – wie beispielsweise XPath – kann ein Benutzer bewerten, ob er in einer Beschreibung die benötigten Informationen findet, und er kann gegebenenfalls auf diese zugreifen. Damit eine Beschreibung aber nicht erst decodiert werden muss, um einen Filterprozess zur Ermittlung der benötigten Informationen anwenden zu können, wird häufig ein Indexsystem verwendet, mit dem Pfade in der übertragenen Dokumentenstruktur indiziert werden. Ein solches System sollte aber eine hinreichende Funktionalität aufweisen. Insbesondere genügt es nicht, nur einfache Pfadausdrücke zu unterstützen, sondern es sollten auch komplexere Strukturen realisiert werden. XPath unterstützt beispielsweise Wildcards ("//" und "*"), mit deren Hilfe Abfragen formuliert werden können, bei denen die genaue Dokumentstruktur nicht bekannt ist.
  • Neben Wildcards sollte ein Indexsystem auch sog. Multiple-Key-Queries unterstützen. Darunter versteht man das Vorhandensein von mehreren Bedingungen in einer Abfrage, wie beispielsweise: „Gib mir jeden Autor zurück, der mit Nachnamen Müller heißt und im Jahre 1960 geboren wurde". Eine solche Abfrage setzt sich aus einem sog. Präfixpfad (alles bis zum Autor) und mehreren Bedingungen (Nachname = Müller und Geburtsdatum = 1960) zusammen.
  • Die beschriebenen Probleme treten aber nicht nur im Zusammenhang von MPEG-7-Beschreibungen auf. Die vorliegende Erfindung lässt sich insbesondere in sämtlichen Bereichen anwenden, welche eine Indizierung von strukturierten Dokumenten erfordern.
  • Aus dem Stand der Technik sind bereits zahlreiche Index-Systeme für XML-Dokumente bekannt. Viele davon unterstützen nur einfache Pfadabfragen, einige ermöglichen komplexere Abfragen, bieten aber trotzdem nur eine eingeschränkte Funktionalität. Im folgenden werden bekannte Index-Systeme diskutiert, die sowohl Wildcards als auch Multiple-Key-Queries unterstützen, wobei insbesondere auf die Abarbeitung von Multiple-Key-Queries eingegangen wird.
  • In XISS (XML Indexing and Storage System) werden Elemente und Attribute mit sog. B-Bäumen indiziert. Zusätzlich wird für ein XML-Dokument ein sog. „Numbering-Scheme" aufgebaut. Dabei werden für jeden Knoten des Dokumentenbaumes zwei Zahlen gespeichert: eine Ordnungsnummer und eine Gewichtung. Es kann mit Hilfe dieser Nummern mittels einer „Nachfolger-Funktion" bestimmt werden, ob ein bestimmtes Element ein direkter oder ein erweiterter Nachfolger eines anderen Elementes, d. h. Kind, Enkel, Urenkel usw. ist. Bei einer Abfrage wird für jedes im Abfrage-Pfad angegebene Element eine Suche im B-Baum durchgeführt. Für jeden unterschiedlichen Elementnamen wird eine Teilliste zurückgeliefert. Diese Teilliste enthält eine Reihe von Zahlenpaaren bestehend aus Ordnungsnummer und Gewichtung. Mit Hilfe der „Nachfolger-Funktion" werden aus den Teillisten der Elementnamen wieder vollständige Pfade erstellt. Bei einer Multiple-Key-Query werden zuerst die Teillisten für die Elemente des Präfixpfades und eine erste Ergebnisliste aller Nachfolger erstellt. Bei der oben erläuterten Suchabfrage nach Autoren mit Nachnahmen Müller und Geburtsjahr 1960 werden z. B. folgende Listen erstellt: XX/autor1, XX/autor2, XX/autor3, ..., wobei „XX" für einen beliebigen Teilpfad im XML-Dokument steht. Dann wird eine Liste mit allen Nachnamen erstellt, welche den Wert Müller haben (nachname1, nachname2, ....). Mit Hilfe des Nummernschemas werden dann jene Teilpfade aussortiert, die keinen Nachfolger in der Liste mit den Nachnamen haben. Schließlich wird eine Liste generiert, die alle Geburtsdaten mit dem Wert, 1960' enthalten und die Autorenliste nochmal entsprechend reduziert. In der Ergebnisliste befinden sich dadurch alle Pfade bis zum Autoren-Element, die als Nachfolger sowohl ein Nachname-Element mit dem Wert Müller als auch ein Geburtsdatum-Element mit dem Wert 1960 haben.
  • In einem Technical Report von Bremer und Gertz wird ein Index-System für XML-Daten angegeben, bei dem zunächst ein sog. „Dataguide" von dem XML-Dokument abgeleitet wird. Darunter versteht man eine Schemazusammenfassung, in der jeder unterschiedliche Pfad genau einmal enthalten ist. Jeder Knoten in diesem Dataguide erhält einen eindeutigen Bezeichner (ID), mit dessen Hilfe nicht nur ein Element, sondern auch der Pfad von der Wurzel zum identifizierten Knoten dargestellt wird. Zusätzlich zu den Bezeichnern werden gegebenenfalls auch Po sitionsnummern abgelegt, falls ein Element öfters vorkommt. Die Positionsnummern werden dabei mit so wenig Bits wie möglich gespeichert. Die Positionsnummern werden nach dem Knotenbezeichner in Serie abgelegt, d. h. ID, pos1...posn. Diese Kombination wird als PID (path identifier) bezeichnet. Zusätzlich zum Data-Guide werden zwei B-Bäume aufgebaut: der T-Index und der P-Index. Der T-Index (term index) liefert eine Liste von PIDs zu einem entsprechenden Knotenbezeichner (ID). Der P-Index (path index) übersetzt solche PIDs in die physikalische Adresse des indizierten Elements. Eine Abfrage beginnt im Data-Guide. Bei einer Multiple-Key-Query wird mit Hilfe des Data-Guides zunächst der Knotenbezeichner des Elementes am Ende des Präfixes der Suchabfrage ermittelt. Bei der oben dargestellten Suchabfrage wird somit der Knotenbezeichner für „Autor" ermittelt. Mit der Knotennummer wird dann im T-Index die Liste der dazugehörigen PIDs generiert. Gemäß der oben genannten Abfrage werden somit ausgehend vom vorher im Data-Guide identifizierten Autor-Element die ID des Elementes "Nachname" mit dem Wert Müller gesucht. Für diese ID werden alle PIDs aus dem B-Baum gefiltert. Der gleiche Vorgang wird für den Nachfolger "Geburtsdatum" mit dem Wert 1960 wiederholt. In einem letzten Schritt wird die Liste der Autoren-PIDs reduziert. Dazu werden alle PIDs aus der Autoren-Liste gestrichen, deren Positionsnummern nicht als Präfix einer Positionsnummernfolge in der Nachnamen-Liste vorhanden sind. Durch das Vergleichen der Positionsnummern aus der Geburtsdatum-Liste mit denen der Autoren-Liste wird letztere noch einmal verkleinert und liefert dann die endgültigen PIDs, mit deren Hilfe die physikalische Adresse im P-Index gewonnen wird.
  • Alle oben genannten Verfahren zur Erzeugung einer Indexstruktur haben den Nachteil, dass die Erstellung der Index-Struktur sehr aufwändig ist und der Index ein beträchtliches Datenvolumen benötigt.
  • Aufgabe der Erfindung ist es deshalb, ein Verfahren zur Indizierung eines strukturierten Dokuments zu schaffen, mit dem auf einfache Weise eine Indexstruktur für Suchabfragen in dem Dokument generiert wird.
  • Diese Aufgabe wird durch die unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen definiert.
  • Durch das erfindungsgemäße Verfahren wird ein strukturiertes Dokument indiziert, welches eine Vielzahl von Instanzen enthält, wobei mindestens einer Instanz im Dokument ein Pfad und eine textuelle Pfadbeschreibung zugeordnet wird und mindestens ein Pfad eine Positionsnummer oder eine mehrere Positionsnummern umfassende Positionsnummernfolge als Unterscheidungsmerkmal für Instanzen mit unterschiedlichen Pfaden und gleichen textuellen Pfadbeschreibungen umfasst. Mit dem erfindungsgemäßen Verfahren wird ein Indizierungsbaum oder eine Indizierungsliste, welche eine Vielzahl von Einträgen umfasst, derart erzeugt, dass Instanzen, denen Pfade zugeordnet sind, die sich ausschließlich in ihren Positionsnummern oder Positionsnummernfolgen unterscheiden, dem gleichen Eintrag zugeordnet werden, und die Einträge jeweils die Positionsnummern oder die Positionsnummerfolgen der den Instanzen zugeordneten Pfade umfassen. Der Indizierungsbaum oder die Indizierungsliste wird schließlich mit einem das strukturierte Dokument enthaltenden Datenstrom verknüpft, insbesondere in den Datenstrom eingefügt oder dem Datenstrom zugewiesen und separat übertragen oder gespeichert.
  • Durch die Kopplung von Einträgen im Indizierungsbaum bzw. in der Indizierungsliste mit Positionsnummern bzw. Positionsnummernfolgen können effektiv schnelle Abfragen nach Inhalten des strukturierten Dokuments durchgeführt werden.
  • In einer bevorzugten Ausführungsform werden in dem Indizierungsbaum oder der Indizierungsliste den Instanzen zugewiesene Instanzwerte oder Referenzen auf diese Instanzwerte zugeordnet. Vorzugsweise wird die Existenz von Positionsnummern mit Hilfe einer Schemadefinition ermittelt, wobei es sich hier bevorzugt um eine XML-Schema-Definition handelt, die zur Codierung von strukturierten XML-Dokumenten verwendet wird.
  • In einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens ist der Indizierungsbaum ein B-Baum, mit dem eine logarithmische Suche nach Inhalten im Dokument ermöglicht wird.
  • Das für die Indizierung herangezogene strukturierte Dokument ist in einer besonders bevorzugten Ausführungsform der Erfindung ein XML-Dokument.
  • Die Erfindung betrifft neben einem Indizierungsverfahren auch ein Verfahren zur Codierung eines strukturierten Dokuments, wobei das Dokument mit dem erfindungsgemäßen Indizierungsverfahren indiziert wird und anschließend mit einem Codierverfahren, insbesondere mit einem MPEG7-Verfahren codiert wird, wodurch ein codierter Datenstrom erzeugt wird. Der codierte Datenstrom enthält hierbei vorzugsweise Offsets, mit denen die Positionen von Einträgen des Indizierungsbaums oder der Indizierungsliste im Datenstrom signalisiert werden. Eine spezielle Ausgestaltung solcher Offsets findet sich in der deutschen Patentanmeldung 102 53 275.3, wobei mit diesen Offsets erreicht wird, dass bei einer Suche nach Inhalten nicht alle codierten Informationen aus dem Datenstrom ausgelesen werden müssen.
  • Neben den oben beschriebenen Codierverfahren umfasst die Erfindung ferner ein Decodierverfahren zur Decodierung eines strukturierten Dokuments, wobei das Verfahren derart ausgestaltet ist, dass ein gemäß dem erfindungsgemäßen Codierverfahren codiertes Dokument decodiert wird.
  • Darüber hinaus betrifft die Erfindung ein Verfahren zur Codierung und Decodierung eines strukturierten Dokuments, welches die oben beschriebenen erfindungsgemäßen Codier- und Decodierverfahren umfasst.
  • Die Erfindung betrifft ferner eine Codiervorrichtung bzw. eine Decodiervorrichtung, mit dem das erfindungsgemäße Codierverfahren bzw. Decodierverfahren durchführbar sind. Ferner betrifft die Erfindung eine Kombination aus dieser Codiervorrichtung und dieser Decodiervorrichtung.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.
  • Es zeigt:
  • 1 ein Beispiel des schematischen Aufbaus eines strukturierten XML-Dokuments, das mit dem erfindungsgemäßen Verfahren indiziert werden kann.
  • In der nachfolgend beschriebenen Ausführungsform der Erfindung wird die Indizierung und Codierung eines XML-Dokuments beschrieben. Ein XML-Dokument wird durch einen Dokumentenbaum beschrieben, wie er in 1 dargestellt ist. Ein solcher Baum enthält eine Vielzahl von Knoten, wobei in den Blattknoten, die im folgenden als Instanzen bezeichnet werden, die Inhalte des Dokuments abgelegt sind. Die restlichen Knoten sind die textuellen Beschreibung des Pfades zu den einzelnen Instanzen, wobei unterschiedliche Pfade die gleiche texuelle Beschreibung aufweisen können. Der Dokumentenbaum der 1 betrifft die Informationen in einer Bibliothek. Darin sind zwei Artikel abgelegt, für die u.a. der Titel, die Autoren und das Erscheinungsjahr festgelegt sind. Aus der 1 ist ersichtlich, dass zu jedem Blattknoten ein eindeutiger Pfad führt, der in der hier beschriebenen Ausführungsform mit dem MPEG-7-Codierverfahren codiert wird.
  • Zur Erstellung binärer codierter Pfade werden sog. XML-Schema-Definitionen verwendet, wobei solche Schema-Definitionen dem Fachmann hinlänglich bekannt sind und vom Encoder und vom Decoder zum Codieren bzw. Decodieren des XML-Dokuments verwendet werden. Die dem Baum der 1 zugrunde liegende Schema-Definition lautet wie folgt: In der Bibliothek können mehrere Artikel vorkommen. Jeder Artikel hat genau einen Titel und mindestens einen Autor. Eventuell wird die Konferenz, wo der Artikel eingereicht wurde, eingetragen. Ferner wird noch das Erscheinungsjahr mit angegeben. Ein Autor hat genau einen Nachnamen und er kann maximal drei Vornamen haben. Ein Vorname muss aber nicht notwendiger Weise angegeben werden.
  • Auf eine genaue Ausführung der Erzeugung der codierten Pfade wird hier verzichtet, da diese Codierung nicht wesentlich für das Verständnis der Erfindung ist.
  • Ein mit dem erfindungsgemäßen Verfahren codierter binärer Pfad enthält für jeden Knoten im Pfad ein binäres Codewort, welches von den Schemainformationen abgeleitet wird. Für Knoten, die häufiger auftreten können, wird am Ende eine Positionsnummer bzw. eine Positionsnummernfolge mit codiert, die als Unterscheidungsmerkmal für Instanzen mit unterschiedlichen Pfaden und gleichen textuellen Pfadbeschreibungen dienen. Ähnlich wie bei der Lösung von Bremer und Gertz werden diese Nummern zum Zusammenführen von Teillisten verwendet.
  • Damit die weiteren Ausführungen verständlich sind, wird zunächst das Konzept der binären Pfade erklärt.
  • Zur Erstellung eines binären Pfades werden die Schema-Informationen verwendet und somit für jedes Element ein Codewort bestimmt, welches durch eine möglichst kleine Binärzahl dargestellt wird. Auf genauere Ausführungen bezüglich dieser Bestimmung wird hier verzichtet, da dies nicht Bestandteil der Erfindung ist. Die Codewörter erhalten in der hier beschriebenen Ausführungsform Bezeichner wie Cbibliothek oder Cartikel usw.. Nachdem alle Codewörter eines Pfades bestimmt wurden, werden hinten die Positionen der Knoten der Pfades im Dokumentenbaum an den binären Pfad angefügt. Positionen werden nur für jene Knoten codiert, welche öfters vorkommen können. Die Binärcodierung von Pfaden soll mit folgendem Beispiel veranschaulicht werden.
  • Aus dem Dokumentenbaum der 1 wird eine Teilliste der vollständigen Pfade angeführt, welche sich aus dem Dokument generieren lassen:
    bibliothek [1]/artikel [1]/titel [1]
    bibliothek [1]/artikel [1]/autor [1]/vorname [1]
    bibliothek [1]/artikel [1]/autor [1]/nachname [1]
    bibliothek [1]/artikel [1]/autor [2]/vorname [1]...
    bibliothek [1]/artikel [2]/year [1]
  • Die Zahlen in den eckigen Klammern stellen die Positionen der Knoten dar, d. h. sie bezeichnen Geschwisterknoten mit demselben Namen in der gleichen Hierarchieebene des Dokumentenbaums und dienen somit als Unterscheidungsmerkmal von Instanzen mit gleicher textueller Pfadbeschreibung.
  • Bei der Übersetzung der textuellen Pfade ins Binäre, werden zunächst alle nötigen Codewörter bestimmt und anschließend die Positionen in Form von Positionsnummern codiert. Der Pfad bibliothek[1]/artikel[1]/titel[1] würde binär in etwa so aussehen: Cbibliothek/Cartikel/Ctitel,1. Dabei wird nur für den Knotennamen „artikel" eine Positionsnummer verwendet, da die anderen beiden Knotennamen in diesem Kontext nur einmal auftreten können.
  • Es wird schließlich ein Indizierungsbaum erzeugt, wobei dessen Einträge, d.h. die Schlüsselwerte, nach denen im Baum gesucht werden kann, nicht hinsichtlich der Positionsnummern bzw. beim Auftreten von mehreren Positionsnummern im Pfad hinsichtlich der Positionsnummernfolgen unterscheidbar sind. Dadurch gibt es für Pfade, die sich nur aufgrund ihrer Positionsnummer bzw. Positionsnummernfolge unterscheiden, nur einen Eintrag im Indizierungsbaum. Wird nach diesem Eintrag gesucht, erhält man gegebenenfalls eine Liste von Instanzen bestehend aus Positionsnummern und Wert zurück. Zum Beispiel würde die Suche nach dem Schlüsselwert „Cbibliothek/Cartikel/Cautor/Cvorname" folgende Ergebnisse liefern:
    1,1,1 = Brain W. (1. Artikel, 1. Autor, 1. Vorname)
    1,2,1 = Christopher (1. Artikel, 2. Autor, 1. Vorname)
  • Die Erfindung wird an einem einfachen Beispiel erläutert. Gesucht werden alle Artikel, die im Jahre 1996 erschienen sind und die zumindest von dem Autor mit dem Nachnamen Kaufmann mitverfasst wurden. Da nur vollständige Pfade indiziert werden, wird zunächst für jede Bedingung eine Abfrage in Form eines vollständigen Pfades generiert. Für das konkrete Beispiel werden folgende zwei Abfragen erstellt : Cbibliothek/Cartikel/Cjahr = 1996 und Cbibliothek/Cartikel/Cautor/Cnachname = Kaufmann. Die erste Abfrage sucht nach dem Suchbegriff „Artikel" und die zweite Abfrage sucht nach dem Suchbegriff „Autor". Die Abfragen werden getrennt ausgeführt, wobei von den beiden Abfragen jeweils die Positionsnummern bzw. Positionsnummernfolgen der jeweiligen Suchbegriffe in Form von zwei Teillisten (Listejahr und Listenachname) ausgegeben werden:
    • 1. Abfrage: Listejahr =
      Figure 00100001
      (1. Artikel und 2. Artikel → 2 Einträge)
    • 2. Abfrage Listenachname =
      Figure 00100002
      (3. Autor des 2 Artikels → 1 Eintrag)
  • Hierbei sind die grau hinterlegten Positionsnummern jeweils eine einzelne gefundene Positionsnummer bzw. die erste Positionsnummer einer gefundenen Positionsnummernfolge. Als Suchergebnis soll ein bestimmter Artikel aufgefunden werden. Deshalb müssen die Positionsnummern für die Artikel in den Einträge der Teillisten übereinstimmen. Eine Vergleichsoperation der obigen Teillisten ergibt, dass als übereinstimmende Positionsnummern für die Artikel lediglich die Nummer „2" gefunden wird. Das endgültige Ergebnis besteht also nur aus dem zweiten Artikel.
  • Die beschriebene Lösung hat im Vergleich zu den Systemen nach dem Stand der Technik mehrere Vorteile. Diese Systeme weisen zwar eine hinreichende Funktionalität auf, der Index benötigt aber ein beträchtliches Datenvolumen und kann oft nur durch erheblichen Aufwand erstellt werden. XISS beispielsweise benötigt einen B-Baum für Element- und Attributnamen und einen weiteren B-Baum, mit dem Werte indiziert werden. Zusätzlich muss das Numbering-Scheme generiert und übertragen werden. Die von Bremer und Gertz vorgestellte Lösung erfordert zunächst die Generierung eines Data-Guides. Zusätzlich muss der T-Index und der P-Index erstellt und gegebenenfalls übertragen werden.
  • Bei der erfindungsgemäßen Lösung wird nur der B-Baum, der alle nötigen Informationen enthält, übertragen. Durch die Verwendung von Byte-Offsets werden auch nur jene Knoten, die eine Suche beeinflussen, aus dem Strom ausgelesen.
  • Das PID-Schema benötigt für die Angabe der Positionen zwar unter Umständen weniger Bits als die hier beschriebene Lösung, weil nur tatsächlich im Dokument vorhandene Elemente berücksichtigt werden, während bei der erfindungsgemäßen Lösung die Länge der Positionen von der potentiell möglichen Anzahl an Elementen abhängt. So genügt für die Darstellung der PID für das Element „artikel" ein Bit für die Angabe der Positionsnummer, weil nur zwei Elemente vorhanden sind. In der Erfindung werden dafür mindestens fünf Bits verwendet, weil das Element laut Schemadefinition beliebig oft auftreten kann. Da eine MPEG-7-Beschreibung vor dem Versenden aber in AccessUnits aufgeteilt wird, würde das im Falle des PID-Schemas bedeuten, dass die gesamten Informationen zuerst übertragen und decodiert werden müssen, um die Positionsnummern korrekt auslesen zu können. Dadurch wäre ein Index überflüssig, weil dieser einen wahlfreien Zugriff auf gewünschte Informationen bieten sollte und es ermöglichen sollte, nur diese zu decodieren, während uninteressante Teile ignoriert werden. In MPEG-7 kommt es auch häufig vor, dass nicht ein gesamtes Dokument übertragen wird, sondern nur Teilbäume des Dokumentenbaumes. In diesem Falle ist es unmöglich, die Positionsnummern des PID-Schemas vollständig zu decodieren, weil nicht alle benötigten Informationen übertragen wurden. Bei der erfindungsgemäßen Lösung muss dem Decoder das Schema auf jeden Fall zur Verfügung stehen, da es auch für das Decodieren der Beschreibung benötigt wird. Mit Hilfe des Schemas können alle Positionsnummern eindeutig den jeweiligen Elementen zugeordnet werden.
  • Literaturverzeichnis:
    • [1] ISO/IEC 15938 "Multimedia Content Description Interface", Genf 2001–2003;

Claims (12)

  1. Verfahren zur Indizierung eines strukturierten Dokuments, das eine Vielzahl von Instanzen enthält, wobei mindestens einer Instanz im Dokument ein Pfad und eine textuelle Pfadbeschreibung zugeordnet wird und mindestens ein Pfad eine Positionsnummer oder eine mehrere Positionsnummern umfassende Positionsnummernfolge als Unterscheidungsmerkmal für Instanzen mit unterschiedlichen Pfaden und gleichen textuellen Pfadbeschreibungen umfasst, bei dem – ein Indizierungsbaum oder eine Indizierungsliste umfassend eine Vielzahl von Einträgen derart erzeugt wird, dass Instanzen, denen Pfade zugeordnet sind, die sich ausschließlich in ihren Positionsnummern oder Positionsnummernfolgen unterscheiden, dem gleichen Eintrag zugeordnet werden und die Einträge jeweils die Positionsnummern oder Positionsnummernfolgen der den Instanzen zugeordneten Pfade umfassen; – der Indizierungsbaum oder die Indizierungsliste mit einem das stukturierte Dokument enthaltenden Datenstrom verknüpft wird, insbesondere in den Datenstrom eingefügt wird oder dem Datenstrom zugewiesen und separat übertragen oder gespeichert wird.
  2. Verfahren nach Anspruch 1, bei dem den Einträgen in dem Indizierungsbaum oder der Indizierungsliste den Instanzen zugewiesene Instanzwerte oder Referenzen auf diese Instanzwerte zugeordnet werden.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Existenz von Positionsnummern mit Hilfe einer Schemadefinition bestimmt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Indizierungsbaum ein B-Baum ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das strukturierte Dokument ein XML-Dokument ist.
  6. Verfahren zur Codierung eines strukturierten Dokuments, bei dem das strukturierte Dokument mit einem Verfahren nach einem der vorhergehenden Ansprüche indiziert wird und mit einem Codierverfahren, insbesondere einem MPEG-7 Verfahren codiert wird, wodurch ein codierter Datenstrom erzeugt wird.
  7. Verfahren nach Anspruch 6, bei dem der codierte Datenstrom Offsets enthält, mit denen die Positionen von Einträgen des Indizierungsbaums oder der Indizierungsliste im Datenstrom signalisiert werden.
  8. Verfahren zum Decodieren eines strukturierten Dokuments, wobei das Verfahren derart ausgestaltet ist, dass das nach Anspruch 6 oder Anspruch 7 codierte Dokument decodiert wird.
  9. Verfahren zum Codieren und Decodieren eines strukturierten Dokuments, umfassend ein Verfahren nach Anspruch 6 oder 7 und das Verfahren nach Anspruch 8.
  10. Codiervorrichtung, mit der ein Verfahren nach Anspruch 6 oder 7 durchführbar ist.
  11. Decodiervorrichtung, mit der ein Verfahren nach Anspruch 8 durchführbar ist.
  12. Vorrichtung zum Codieren und Decodieren eines strukturierten Dokuments, mit der ein Verfahren nach Anspruch 9 durchführbar ist.
DE10351896A 2003-07-15 2003-11-06 Verfahren zur Indizierung von strukturierten Dokumenten Withdrawn DE10351896A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10351896A DE10351896A1 (de) 2003-07-15 2003-11-06 Verfahren zur Indizierung von strukturierten Dokumenten
PCT/EP2004/051346 WO2005008521A1 (de) 2003-07-15 2004-07-02 Verfahren zur indizierung von strukturierten dokumenten

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10332055 2003-07-15
DE10332055.5 2003-07-15
DE10351896A DE10351896A1 (de) 2003-07-15 2003-11-06 Verfahren zur Indizierung von strukturierten Dokumenten

Publications (1)

Publication Number Publication Date
DE10351896A1 true DE10351896A1 (de) 2005-03-17

Family

ID=34201362

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10351896A Withdrawn DE10351896A1 (de) 2003-07-15 2003-11-06 Verfahren zur Indizierung von strukturierten Dokumenten

Country Status (1)

Country Link
DE (1) DE10351896A1 (de)

Similar Documents

Publication Publication Date Title
EP1766982B1 (de) Verfahren zum codieren eines xml-dokuments, sowie verfahren zum decodieren, verfahren zum codieren und decodieren, codiervorrichtung, decodiervorrichtung und vorrichtung zum codieren und decodieren
DE69032693T2 (de) Suchverfahren zum Identifizieren des nächstgleichen Datensatzes eines Datenbankverzeichnisses
EP1522028B9 (de) Verfahren und vorrichtungen zum kodieren/dekodieren von strukturierten dokumenten, insbesondere von xml-dokumenten
DE69530595T2 (de) System und verfahren für die x.500-datenbanknorm
EP2197213B1 (de) Verfahren zur Verbesserung der Funktionalität der binären Repräsentation von MPEG-7 und anderen XML basierten Inhaltsbeschreibungen
DE60107964T2 (de) Vorrichtung zur kodierung und dekodierung von strukturierten dokumenten
DE10134229A1 (de) Verfahren und System zum Ermitteln von Abweichungen in Datentabellen
DE60225785T2 (de) Verfahren zur codierung und decodierung eines pfades in der baumstruktur eines strukturierten dokuments
DE2208664A1 (de) Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge
EP1561281B1 (de) Verfahren zur erzeugung eines bitstroms aus einem indizierungsbaum
EP1645133B1 (de) Verfahren zur codierung von strukturierten dokumenten
EP1400124B1 (de) Verfahren zur verbesserung der funktionalität der binären repräsentation von mpeg-7 und anderen xml-basierten inhaltsbeschreibungen
EP1616274B1 (de) Verfahren zur codierung eines strukturierten dokuments
WO2005008521A1 (de) Verfahren zur indizierung von strukturierten dokumenten
DE10351896A1 (de) Verfahren zur Indizierung von strukturierten Dokumenten
WO2017178222A1 (de) Gerät und verfahren zur bearbeitung eines binärkodierten strukturdokuments
EP1399857B1 (de) Verfahren zum schnellen suchen von elementen oder attributen oder zur schnellen filterung von fragmenten in binären repräsentationen von strukturierten dokumenten
EP1787474A1 (de) Verfahren zur codierung eines xml-basierten dokuments
DE112021000573T5 (de) Hierarchische daten
DE10248758B4 (de) Verfahren und Vorrichtungen zum Encodieren/Decodieren von XML-Dokumenten
DE102008014611A1 (de) Verfahren zur Darstellung von Metainformationen sowie Vorrichtung
WO2008095209A1 (de) Verfahren zum steuern eines relationalen datenbanksystems
DE102010061280A1 (de) Verfahren zur Umstrukturierung von Daten sowie Computerprogramm zu seiner Ausführung
EP1567942A2 (de) Verfahren zur codierung eines xml-basierten dokuments
WO2008003310A1 (de) Verfahren zur kompression einer datensequenz eines elektronischen dokuments

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee