46
1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

Embed Size (px)

Citation preview

Page 1: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

1

Quilt:

Eine XML Anfragesprache für heterogene Datenquellen

Matthias Färber

15.01.2002

Page 2: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

2

Ablauf:

1. Einleitung

2. Sprachkonzepte

3.Vergleich: Quilt und SQL für rel. DB

4. Ausblick, Diskussion

Page 3: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

3

Einleitung

Literatur:

- Don Chamberlin(IBM, USA), Jonathan Robie(Software AG -USA),

Daniela Florescu(INRIA - Frankreich) : Quilt an XML Query Language for heterogeneous Data Sources WebDB 2000

- Obige Autoren sind Mitglieder der XML-Query Working Group

- http://www.w3.org/TR/xquery

- http://www.almaden.ibm.com/cs/people/chamberlin/quilt.html

Page 4: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

4

Einleitung

Ursprung von Quilt:- WWW macht alle Arten von Informationen überall verfügbar

- Um diese Information verarbeiten zu können benötigt man:

Eine universelle Auszeichnungssprache (XML)

Eine universelle Anfragesprache (Quilt)

- Namensgebung von Quilt (Amerikanischer Flickenteppich):

Page 5: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

5

Quilt (Flickenteppich)

Page 6: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

6

Einleitung

Ursprung von Quilt:- WWW macht alle Arten von Informationen überall verfügbar

- Um diese Information verarbeiten zu können benötigt man:

Eine universelle Auszeichnungssprache (XML)

Eine universelle Anfragesprache (Quilt)

- Namensgebung von Quilt (Amerikanischer Flickenteppich):

Page 7: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

7

Einleitung

Ursprung von Quilt:- WWW macht alle Arten von Informationen überall verfügbar

- Um diese Information verarbeiten zu können benötigt man:

Eine universelle Auszeichnungssprache (XML)

Eine universelle Anfragesprache (Quilt)

- Namensgebung von Quilt (Amerikanischer Flickenteppich):

1. Quilt „baut“ aus anderen XML Dokumenten ein neues zusammen

Page 8: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

8

Einleitung

Ursprung von Quilt:- WWW macht alle Arten von Informationen überall verfügbar

- Um diese Information verarbeiten zu können benötigt man:

Eine universelle Auszeichnungssprache (XML)

Eine universelle Anfragesprache (Quilt)

- Namensgebung von Quilt (Amerikanischer Flickenteppich):

1. Quilt „baut“ aus anderen XML Dokumenten ein neues zusammen

2. Quilts Sprachkonzepte haben ihren Ursprung in vielen verschiedenen anderen Sprachen: XPath, XQL, XML-QL, SQL, OQL, Lorel, YATL somit ist Quilt selbst eine Art Flickenteppich

Page 9: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

9

Einleitung

Anforderungen an Quilt:- klassische DB Operationen wie Joins und Union

- Anfragen kurz aber lesbar

- Flexibilität (Unterschiedliche Informationsquellen)

- Transformierung der Informationsstrukturen

- Beibehaltung von Ordnung und Hierarchie in Dokumenten

Page 10: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

10

Einleitung

Was ist Quilt ?- Funktionale Anfragesprache

- Anfragen als Ausdrücke

- Ein und Ausgabe für Quilt: XML Dokumente, Sammlungen und Fragmente von XML Dokumenten

- Verschiedene Ausdruckkonzepte Navigation in XML DokumentenErstellen des Ergebnis-DokumentsSelektion, Projektion, Joins Operatoren und FunktionenBedingungen, Quantoren Binden von Variablen

Page 11: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

11

Ablauf:

1. Einleitung

2. Sprachkonzepte

3.Vergleich: Quilt und SQL für rel. DB

4. Ausblick, Diskussion

Page 12: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

12

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren

7. Binden von Variablen

Page 13: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

13

Sprachkonzepte

Beispiel Familien: Bsp.xml:<Familien> <Familie Familienname=Müller> <Mutter>

<Person Alter=35> <Name> Anne <\Name><\Person>

<\Mutter> <Vater>

<Person Alter=38> <Name> Bert <\Name><\Person>

<\Vater> <Kinder>

<Person Alter=3> <Name> Paul <\Name> <\Person><Person Alter=6> <Name> Ernie <\Name> <\Person>

<\Kinder> <\Familie><\Familien>

Familien

Familie

Mutter Vater Kinder

Person Person PersonAlterAlter Alter

Name Name Name

Familienname

Page 14: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

14

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person PersonAlterAlter Alter

Name Name Name

Bsp.xml:<Familien> <Familie Familienname=Müller> <Mutter>

<Person Alter=35> <Name> Anne <\Name><\Person>

<\Mutter> <Vater>

<Person Alter=38> <Name> Bert <\Name><\Person>

<\Vater> <Kinder>

<Person Alter=3> <Name> Paul <\Name> <\Person><Person Alter=6> <Name> Ernie <\Name> <\Person>

<\Kinder> <\Familie><\Familien>

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Page 15: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

15

Sprachkonzepte

1. Pfad Ausdrücke:

- Übernommen von XPath

- Zum Navigieren in Dokumenten (entlang der Knoten)

- Ein Pfad-Ausdruck besteht aus einer Reihe von Schritten

- In jedem Schritt bewegt man sich in einer bestimmten Richtung durch das Dokument

- In jedem Schritt kann man mit Hilfe von Prädikaten unerwünschte Knoten elimieren

- Das Ergebnis jeden Schrittes ist eine Menge von Knoten die als Startpunkt für den nächsten Schritt dienen können

Page 16: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

16

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Wähle Dokument: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

Page 17: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

17

/

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Wähle Wurzelknoten: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

Page 18: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

18

//Mutter

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Wähle Mütter: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

Page 19: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

19

//Person[Name=Paul]

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Personenknoten von Paul: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

Page 20: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

20

//Kinder/Person[2]

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Zweites Kind: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

Page 21: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

21

//Person[Name=Ernie]/

@MumId->/Person

Sprachkonzepte

Beispiel Familien:

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

Symbole:

Attribut und Dereferenz Operator: . Aktueller Knoten

.. Vaterknoten

/ Sohn/Söhne

// Nachkommen

@ Attribute

* Beliebiger Knoten

[] Boolescher Ausdruck(für Prädikate)

[n] Integer Prädikat

-> Dereferenz Operator

document(“Bsp.xml“)

MumId

Page 22: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

22

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren

7. Binden von Variablen

Page 23: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

23

Sprachkonzepte

2. Element Konstruktoren:

- Zum Erstellen des Ergebnis-Dokuments

- Tags werden explizit ausgeschrieben und mit gebundenen Variablen gefüllt

- Beispiel: <AlleNamen>

... Füllen der Variable $n

<Name> $n </Name>

</AlleNamen>

Page 24: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

24

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren

7. Binden von Variablen

Page 25: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

25

Sprachkonzepte

3. FLWR (Flower) Ausdrücke:

- steht für: FOR ... LET ... WHERE ... RETURN

- Ursprung: SELECT ... FROM ... WHERE SQL Notation

- Schachtelung ist möglich

FOR / LET

WHERE

RETURN

Geordnete Liste von Tupeln gebundenerVariablen ($x,$y,$z),($x,$y,$z),...

Reduzierte Liste von Tupeln gebundenerVariablen

Ergebnis: XML Dokument bzw. Fragment

Page 26: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

26

Sprachkonzepte

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

3. FLWR (Flower) Ausdrücke:Beispiel:Alle Namen die im Dokument Bsp.xml vorkommen:

<AlleNamen>

FOR $x IN document(Bsp.xml)//NameRETURN <Name> $x </Name>

</AlleNamen>

Page 27: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

27

Sprachkonzepte

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

3. FLWR (Flower) Ausdrücke:Beispiel:Alle Namen von Personen die jünger als 10 sind:

<Grundschulkinder>

FOR $x IN document(Bsp.xml)//PersonLET $y := $x/WHERE $x@Alter < 10RETURN <Name> $y </Name>

</Grundschulkinder>

Page 28: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

28

Sprachkonzepte

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

3. FLWR (Flower) Ausdrücke:Beispiel:Das Alter von den Müttern die mehr als 1 Kind haben:

<Mütter>

FOR $x IN document(Bsp.xml)//MutterLET $y := $x/Kinder/WHERE count($y) > 1 RETURN <Alter>

$x/@Alter </Alter></Mütter>

Page 29: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

29

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren

7. Binden von Variablen

Page 30: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

30

Sprachkonzepte

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

- Von Quilt werden die üblichen arithmetischen und logischen Operatoren sowie Mengenoperatoren wie: UNION, INTERSECT, EXCEPT, ... zur Verfügung gestellt

- Von XQL übernimmt Quilt die infix Operatoren BEFORE und AFTER, die dazu dienen die Positionen von Elementen zu vergleichen, die keinen gemeinsamen Vaterknoten haben

- Es werden zusätzlich einige Funktionen zur Verfügung gestellt z.B.: document(“...“), count(), sum(), distinct()

- Viele dieser Operatoren und Funktionen haben ihren Ursprung in SQL oder XPath

- Es ist ebenfalls möglich eigene Funktionen zu definieren (auch rekursive)

Page 31: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

31

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke6. Quantoren

7. Binden von Variablen

Page 32: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

32

Sprachkonzepte

5. Bedingunsausdrücke

- IF ... THEN ... ELSE Konstrukte

- Können beliebig verschachtelt werden

- Beispiel

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

<Mütter> (Altes Beispiel)

FOR $x IN document(Bsp.xml)//MutterLET $y := $x/Kinder/WHERE count($y) > 1 RETURN <Alter>

$x/@Alter </Alter></Mütter>

Page 33: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

33

Sprachkonzepte

5. Bedingunsausdrücke

- IF ... THEN ... ELSE Konstrukte

- Können beliebig verschachtelt werden

- Beispiel

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

<Mütter>FOR $x IN document(Bsp.xml)//MutterLET $y := $x./Kinder/RETURN IF count($y)>1 THEN <Alter>

$x/@Alter </Alter> ELSE</Mütter>

Page 34: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

34

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren7. Binden von Variablen

Page 35: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

35

Sprachkonzepte

6. Quantoren:

- und Quantoren : : EVERY und : SOME

- Beispiel : Junge Familien

Familien

Familie

Mutter Vater Kinder

Person Person Person

AlterAlter Alter

Name Name Name

FamiliennameMüller

Paul

3

Bert

38

Anne

35

Person

Name

Alter

Ernie

6

<Junge Familien>

FOR $x IN document(Bsp.xml)//FamilieWHERE EVERY $p IN $x/Person SATISFIES ($p@Alter<35) RETURN <Familienname>

$x@Familienname </Familienname>

</Junge Familien>

Page 36: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

36

Sprachkonzepte

Ausdruck Konzepte:

1. Pfad Ausdrücke

2. Element Konstruktoren

3. FLWR (Flower) Ausdrücke

4. Ausdrücke zur Verwendung von Operatoren und Funktionen

5. Bedingunsausdrücke

6. Quantoren

7. Binden von Variablen

Page 37: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

37

Sprachkonzepte

7. Binden von Variablen:

- Binden den Wert eines Ausdrucks an eine Variable

- Ermöglichen die Wiederverwendung von Zwischenergebnissen

- Beispiel: Sortiere alle Personen des Dokuments in älter und jünger als das Durchschnittsalter

LET $a := avg(document(Bsp.xml)//Person@Alter)EVAL <Alte> FOR $x IN document(Bsp.xml)//Person WHERE $x@Alter > $a RETURN <Name> $x/Name </Name> </Alte> <Junge>

FOR $x IN document(Bsp.xml)//Person WHERE $x@Alter <= $a RETURN <Name> $x/Name </Name>

</Junge>

Page 38: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

38

Ablauf:

1. Einleitung

2. Sprachkonzepte

3.Vergleich: Quilt und SQL für rel. DB

4. Ausblick, Diskussion

Page 39: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

39

Vergleich: Quilt und SQL für rel. DB

1. Teile / Lieferanten Beispiel

2. Einfache Anfragen

3. Gruppieren

4. Joins

Page 40: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

40

Vergleich: Quilt und SQL für rel. DB

1. Teile / Lieferanten Beispiel

Relationale Daten: XML Daten:

T T_Nr T_BeschrTabelle Teile:

LT L_Nr P_Nr PreisTabelle Preise:

L L_Nr L_NameTabelle Lieferanten:

L.xml:<L_tupel>

<L_Nr><L_Name>

T.xml<T_tupel>

<T_Nr><T_Beschr>

LT.xml<LT_tupel>

<L_Nr><T_Nr><Preis>

Page 41: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

41

Vergleich: Quilt und SQL für rel. DB

2. Einfache Anfragen:

SQL: Quilt:

T T_Nr T_Beschr LT L_Nr P_Nr PreisL L_Nr L_Name

SELECT T_NrFROM TWHERE T_Beschr LIKE ´GEAR´ORDER BY T_Nr

FOR $t IN document(“T.xml“)//T_tupel

WHERE contains( $t/T_Beschr,“GEAR“)RETURN $t/T_Nr SORTBY(.)

Page 42: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

42

Vergleich: Quilt und SQL für rel. DB

3. Gruppierung (Grouping):

SQL: Quilt:

T T_Nr T_Beschr LT L_Nr P_Nr PreisL L_Nr L_Name

SELECT T_Nr, avg(Preis)FROM LTGROUP BY T_NrHAVING count(*) >=3

FOR $tn IN distinct(document(“LT.xml“)//T_Nr)LET $lt := document(“LT.xml“)//T_tupel[T_Nr = $tn]WHERE count( $lt) >= 3RETURN

<oft_vorhanden>$tn<avgPr> avg($lt/Preis) </avgPr>

</oft_vorhanden>

Gebe Teilenummer und Durschnittspreis der Teile aus, die von mehr als 3 Lieferanten geliefert werden:

Page 43: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

43

Vergleich: Quilt und SQL für rel. DB

4. Joins:

SQL: Quilt:

T T_Nr T_Beschr LT L_Nr P_Nr PreisL L_Nr L_Name

SELECT L_Name, T_BeschrFROM LT, L ,TWHERE T.T_Nr=LT.T_Nr AND L.L_Nr=LT.L_Nr

FOR $lt IN document(“LT.xml“)//LT_tupel)$l IN document(“L.xml“)//L_tupel[L_Nr=$lt/L_Nr]) $t IN document(“T.xml“)//T_tupel[T_Nr=$lt/T_Nr])RETURN

<lt_paar>$l/L_Name,$t/T_Beschr

</lt_paar>

Inner Join : Lieferantennamen mit den dazugehörigen Teilebeschreibungen:

Page 44: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

44

Ablauf:

1. Einleitung

2. Sprachkonzepte

3.Vergleich: Quilt und SQL für rel. DB

4. Ausblick, Diskussion

Page 45: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

45

Ausblick, Diskussion

Derzeitiger Stand von Quilt:

- Quilt hat zu der Entwicklung von XQuery maßgeblich beigetragen (Die Autoren von Quilt sind Mitglieder der Working Group)

- Von der Navigationssprache XPath, die als Quelle für Quilt diente, ist am 20.12.2001 die Version 2.0 veröffentlicht worden. Hier wird als Quilt als `Background Reference´ genannt.

- Quilt wurde an einigen Universitäten (UCLA, Washington, Pennsylvania) und bei INRIA(Frankreich) implementiert. Es wurden Parser, und Übersetzer (nach SQL) geschrieben und getestet.

Page 46: 1 Quilt: Eine XML Anfragesprache für heterogene Datenquellen Matthias Färber 15.01.2002

46

Ausblick, Diskussion

Zukunft von Quilt:

- lebt in leicht abgeänderter Syntax in XQuery weiter

- XQuery: - Zur Zeit noch Working Draft (Letzte Version 20.12.2001)

- Wird von der W3C XML Query Working Group entwickelt

- Beteiligte Firmen: IBM, Software AG, AT&T Labs, Bell Labs, Concentric Visions

- Anwendungsgebiete:- Suche im Intranet (z.B. UNIVIS)

- WWW ? Sinnvoll ?