Semistructured data, XML en querytalen > XML Querytalen > Verschillende Querytalen
Er zijn al een aantal querytalen voor XML. Hieronder worden een aantal kort besproken en vervolgens wordt gekeken in hoeverre deze querytalen zich houden aan de hierboven genoemde eisen.
author voorbeelden uit een document, op welk niveau ze ook voorkomen:16
<xsl:template>
<xsl:apply-templates/>
</xsl:template>
<xsl :template match=author">
<result>
<xsl:value-of/>
</result>
</xsl:template>
Hieronder staat een tabel met daarin het resultaat van elke query taal op de eerder genoemde punten. De tabel is overgenomen uit het artikel 'Querying XML Data'.17 De nummers in de tabel kolommen verwijzen naar de nummers van de eisen in paragraaf 3.1.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
| XML-QL | j | j | j | j | j | j | n | j | j | n | j | j | j | n |
| Lorel | j | j | j | n | n | j | n | j | j | n | j | j | j | n |
| XQL | j | n | n | j | j | j | n | j | j | n | j | j | j | n |
| XSL | j | n | n | j | j | j | n | j | j | n | j | j | j | j |
| XML-GL | j | n | j | j | j | j | j | j | n | n | j | j | n | n |
| WEBL | n | n | j | j | j | j | n | j | j | j | j | n | j | n |
In een later stadium zullen aan de hand van deze tabel conclusies getrokken gaan worden. Eerst zal nader gekeken worden naar een aantal van deze querytalen. Enkele zijn voortgekomen uit de database community en er is er ook een die is voortgekomen uit de documentgemeenschap. De querytalen die uit de databasegemeenschap komen zijn XML-QL en Lorel. Lorel is geëvolueerd uit query talen van relationele databases via objectgeoriënteerde databases naar semistructured databases. XML-QL is ontworpen voor XML. Ook uit de documentgemeenschap komt een querytaal voor XML, namelijk XQL.
Beide gemeenschappen richten zich op verschillende toepassingsgebieden. De database gemeenschap richt zich voornamelijk op grote hoeveelheden data. Het integreren van verschillende bronnen, het exporteren van nieuwe manieren om data te bekijken en het transformeren van data in standaard formaten voor data uitwisseling.18 De documentgemeenschap daarentegen legt de nadruk op full-text zoekmethoden, queries op gestructureerde documenten, het samenvoegen van full-text en gestructureerde queries en het creëren van meerdere presentatie formaten van een document.19 De reden dat voor deze drie querytalen is gekozen, is dat ze op verschillende manieren ontstaan zijn en zo een breed beeld geven van de mogelijkheden van querytalen.
Met de drie genoemde quertyalen wordt nu bekeken in hoeverre deze aan de eerder genoemde eisen voldoen. Uit deze vergelijking komt XML-QL als de betere tevoorschijn. De enige punten waar deze querytaal slecht op scoort zijn meteen ook funest voor alle drie de talen. Alledrie zijn ze niet in staat om een eventueel meegeleverde DTD te gebruiken voor een efficiëntere query verwerking. Ook hebben alledrie niet de mogelijkheid om nieuwe datatypes te ondersteunen en ook de query syntax voor alle drie is niet direct om te zetten naar XML. Lorel is daarnaast ook niet in staat om XML output te genereren en voldoet ook niet aan de eisen op het gebied van compositional semantics. XQL heeft twee andere zwakke plekken. Op de eerste plaats kan XQL niet geoptimaliseerd worden of herschreven worden tot andere querytalen en laat de ondersteuning van de basis query operaties te wensen over.
15) De specificaties zijn te vinden op http://www.w3.org/TR/NOTE-xml-ql/
16) 'Queruing XML Data', Alin Deutsch, e.a., blz. 8.
17) 'Querying XML Data', Alin Deutsch, e.a., blz. 8.
18) 'XML Query Languages: Experiences and Exemplars', Mary Fernandez, e.a., blz. 2.
19) 'XML Query Languages: Experiences and Exemplars', Mary Fernandez, e.a., blz. 2.
| << vorige | volgende >> | Robert Bouma, 19-04-2002 |