XQuery är inte bara användbart för att fråga XML i databaser, men också för program som måste behandla XML-dokument som filer eller strömmar. Dessa applikationer lider av begränsningarna för nuvarande huvudminne XQuery processorer som bryter för ganska små dokument. I detta dokument föreslår vi tekniker, baserade på ett begrepp av projektion för XML, som kan användas för att drastiskt minska minneskrav i XQuery processorer. Det viktigaste bidraget från papperet är en statisk analysteknik som kan identifiera vid kompileringstidpunkten vilka delar av inmatningsdokumentet som behövs för att svara på en godtycklig XQuery. Vi presenterar en laddningsalgoritm som tar den resulterande informationen för att bygga ett projicerat dokument, som är mindre än det ursprungliga dokumentet, och där frågan ger samma resultat. Vi implementerade projektion i Galax XQuery-processorn. Våra experiment visar att projektionen minskar minnesbehovet med en faktor på i genomsnitt 20 och är effektiv för en mängd olika frågor. Dessutom resulterar projektionen i viss snabbhet under frågeutvärderingen.
Med tanke på att XQuery används för att fråga inte bara XML-data i databaser, men också i applikationer som behandlar XML-filer, REF identifierar vilka delar av ett inmatningsdokument som behövs för att svara på en XQuery för att övervinna minnesbegränsningen.
Projecting XML Documents
{'venue': 'VLDB', 'journal': None, 'mag_field_of_study': ['Computer Science']}