Universität Frankfurt am Main

Fachbereich Biologie und Informatik (15)

Institut für Informatik
Lehrstuhl für Datenbanken und Informationssysteme

 

 

 

 

 


Diplomarbeit

                                                 vorgelegt von:     Fabian Wleklinski
                                                                            E-Mail:
fabian@wleklinski.de

                                                         Betreuer:     Herr Karsten Tolle

                                    Bearbeitungszeitraum:     2. Mai bis 3. November 2003

                                                      Erstprüfer:     Herr Prof. Dott.-Ing. R. Zicari

 

 

 

 

 

Suche im Semantic Web

Erweiterung des VRP um eine intuitive und
RQL-basierte Anfrageschnittstelle

 

Kurzfassung / Abstract

Datenflut im World Wide Web – ein Problem jedes Internetbenutzers. Klassische Internetsuchmaschinen sind überfordert und liefern immer seltener brauchbare Resultate. Das Semantic Web verspricht Hoffnung – maßgeblich basierend auf RDF. Das Licht der Öffentlichkeit erblickt das Semantic Web vermutlich zunächst in spezialisierten Informationsportalen, so genannten Infomediaries. Besucher von Informationsportalen benötigen eine Abfragesprache, welche ebenso einfach wie eine gewöhnliche Internetsuchmaschine anzuwenden ist. Eine derartige Abfragesprache existiert für RDF zur Zeit nicht. Diese Arbeit stellt eine neuartige Abfragesprache vor, welche dieser Anforderung genügt: eRQL. Bestandteil dieser Arbeit ist der mittels Java implementierte eRQL-Prozessor eRqlEngine, welcher unter http://www.wleklinski.de/rdf/ und unter http://www.dbis.informatik.uni-frankfurt.de/~tolle/RDF/eRQL/ bezogen werden kann.

Schlagwörter: Semantisches Web, RDF, RQL, eRQL, Informationsportal

 

 

Chaos inside the World Wide Web – a problem of each internet user. Classical internet search engines cannot handle the flood of web pages anymore, and often deliver poor results. The Semantic Web raises hope – significantly based on RDF. The Semantic Web will probably gain popularity inside specialized information portals at first, so called infomediaries. Visitors of information portals need a query language, which can be used as easily as a common internet search-engine. But no such query language does exist for RDF. This thesis presents a novel query language which satisfies this requirement: eRQL. Part of this thesis is eRqlEngine – an eRQL processor for Java which can be obtained at http://www.wleklinski.de/rdf/ and http://www.dbis.informatik.uni-frankfurt.de/~tolle/RDF/eRQL/.

Keywords: Semantic Web, RDF, RQL, eRQL, Infomediary

Ehrenwörtliche Erklärung zur Diplomarbeit

Ich versichere, dass ich diese Diplomarbeit selbstständig verfasst, und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe.

 

Frankfurt am Main, 3. November 2003

 

 

Fabian Wleklinski

Inhaltsübersicht

Kurzfassung / Abstract.. 2

Ehrenwörtliche Erklärung zur Diplomarbeit.. 3

Inhaltsübersicht.. 4

Inhaltsverzeichnis. 5

Abbildungsverzeichnis. 10

Abkürzungsverzeichnis. 11

Vorwort.. 12

1               Einleitung.. 13

2              Grundlagen.. 19

3              Ziele.. 30

4              Stand der Technik.. 32

5              RQL – eine RDF Abfragesprache.. 42

6              eRQL – Ad Hoc-Abfragen für Informationsportale.. 65

7              Umwandlung von eRQL- in RQL-Abfragen.. 82

8              eRqlEngine – ein eRQL-Prozessor.. 91

9              RqlEngine – ein RQL-Prozessor.. 100

10             Ausblick.. 111

Anhang.. 119

Literaturverzeichnis. 125

Stichwortverzeichnis. 128

 

Inhaltsverzeichnis

Kurzfassung / Abstract   2

Ehrenwörtliche Erklärung zur Diplomarbeit   3

Inhaltsübersicht   4

Inhaltsverzeichnis  5

Abbildungsverzeichnis  10

Abkürzungsverzeichnis  11

Vorwort   12

1               Einleitung   13

1.1            Aufgabenstellung   13

1.2            Information Overkill – die Herausforderung   13

1.3            Das Semantic Web – der Hoffnungsträger   16

1.4            Inhalte und Struktur dieser Arbeit   17

2              Grundlagen   19

2.1            Terminologie   19

2.2            Resource Description Framework (RDF) 24

2.2.1         Alles ist eine Ressource   25

2.2.2         Speicherung und Austausch von RDF  25

2.3            RDF Schema (RDFS) 26

2.3.1         RDF ist nicht RDF Schema   26

2.3.2         Vordefinierte RDF Schemaklassen   26

2.3.3         Vergleich zu XML Schema   26

2.3.4         Vergleich zu Typsystemen der OOP  27

3              Ziele   30

4              Stand der Technik   32

4.1            Eignung existierender Abfragesprachen für Ad Hoc-Abfragen   32

4.1.1         XML Abfragesprachen   32

4.1.2         RQL  35

4.1.3         rdfDB  36

4.1.4         RDQL  36

4.1.5         SquishQL  37

4.1.6         SeRQL  38

4.1.7         METALOG   38

4.1.8         RDF API Draft  39

4.1.9         Resümee: existierende Abfragesprachen   39

4.2            Bedarf für eine neuartige RDF-Abfragesprache   39

4.2.1         Verwendung von RQL als Zwischensprache   40

4.2.2         Verwendung von RQL für Schemaabfragen   40

5              RQL – eine RDF Abfragesprache   42

5.1            Szenario: Ein Kultur-Informationsportal   43

5.2            Einführung in RQL   44

5.2.1         Selektion und Projektion   45

5.2.2         RQL Vergleichsoperatoren   46

5.3            RQL Datenmodell und Schemaoperationen   47

5.3.1         Daten-, Schema- und Metaschemaebene   47

5.3.2         RQL-Datentypen   48

5.3.3         Schema-Operationen   48

5.3.3.1          subClassOf() und superClassOf() 49

5.3.3.2          subPropertyOf() und superPropertyOf() 50

5.3.3.3          typeof() 51

5.3.3.4          domain() 51

5.3.3.5          range() 51

5.3.3.6          namespace() 52

5.3.3.7          topclass und leafclass 52

5.3.3.8          topproperty und leafproperty  53

5.4            RQL Pfadausdrücke   54

5.4.1         Instanzen einer Klasse   54

5.4.2         Ableitungen einer bestimmten Klasse   57

5.4.3         Verwendungen eines bestimmten Prädikates  57

5.4.4         Definitions- und Wertebereich eines Prädikates  59

5.4.5         Vollständige Aussagen   59

5.4.6         Schemaklassen und abgeleitete Schemaklassen   61

5.4.7         Zusammengesetzte Pfadausdrücke   61

5.5            Kurz und bündig – die RQL Kurzschreibweise   62

5.5.1         Instanzen einer Klasse finden   62

5.5.2         Verwendungen eines Prädikates finden   63

5.6            Rückgabe   64

6              eRQL – Ad Hoc-Abfragen für Informationsportale   65

6.1            Eigenschaften von eRQL   65

6.1.1         Kurz und knapp: Ein-Wort-Abfragen   66

6.1.2         Umgebung und Abfragemodus  66

6.1.2.1          Aussagemodus 67

6.1.2.2          Point Of Interest-Modus (POI-Modus) 67

6.1.2.3          Dokumentmodus 69

6.1.3         Boolesche Verknüpfungen und Klammerung   70

6.1.4         Erkennung von URIs  71

6.1.5         Suche nach Texten   71

6.1.6         Operatorvorrang   72

6.2            Use Cases  72

6.2.1         Alle Informationen zu „Picasso“  72

6.2.2         Titel von „http://www.louvre.fr“  72

6.2.3         „Ort und Öffnungszeiten des Louvre“  73

6.2.4         Informationen über das „Reina Sofia Museum“  73

6.2.5         Suche nach „http://www.louvre.fr“  73

6.2.6         „Vorname von Rodin“ finden   73

6.2.7         „Kunstwerke des Louvre“ ermitteln (nur URIs) 74

6.2.8         Kunstwerke des Louvre samt Metainformationen ermitteln   74

6.3            Formale Semantik   74

6.3.1         Das Typsystem von eRQL  75

6.3.1.1          Datenmodell 75

6.3.1.2          Dokument 76

6.3.1.3          Aussagengruppen  76

6.3.1.4          Aussage  76

6.3.1.5          Ressourcen und Literale  77

6.3.2         Semantikregeln   77

6.3.2.1          URIs und Literale  78

6.3.2.2          Boolesche Verknüpfungen und Klammerung  78

6.3.2.3          Umschaltung des Modus’ mittels Klammerung  79

6.4            Vorverarbeitung einer Anfrage   79

6.4.1         POI-Modus-Operatoren einfügen   79

6.4.2         Tilde-Operatoren ersetzen   80

6.4.3         AND-Operatoren einfügen