Abstract
Available XPath evaluators basically follow one of two strategies to evaluate an XPath query on hierarchical XML data: either they evaluate it topdown or they evaluate it bottom-up. In this paper, we present an approach that allows evaluating an XPath query in arbitrary directions, including a mixture of bottom-up and top-down direction. For each location step, it can be decided whether to evaluate it top-down or bottom-up, such that we can start e.g. with a location step of low selectivity and evaluate all child-axis steps top-down at the same time. As our experiments have shown, this approach allows for a very efficient XPath evaluation which is 15 times faster than the JDK1.6 XPath query evaluation (JAXP) and which is several times faster than MonetDB if the file size is ≤ 30 MB or the query to be evaluated contains at least one location step that has a low selectivity. Furthermore, our approach is applicable to most compressed XML formats too, which may prevent swapping when a large XML document does not fit into main memory but its compressed representation does.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gottlob, G., Koch, C., Pichler, R.: Efficient algorithms for processing XPath queries. ACM Trans. Database Syst. 30, 444–491 (2005)
Böttcher, S., Hartel, R., Heinzemann, C.: BSBC: Towards a Succinct Data Format for XML Streams. In: WEBIST 2008, Funchal, Madeira, Portugal, pp.13–21 (2008)
Avila-Campillo, I., Green, T., Gupta, A., Onizuka, M., Raven, D., Suciu, D.: XMLTK: An XML toolkit for scalable XML stream processing. In: Proceedings of PLANX (2002)
Barton, C., Charles, P., Goyal, D., Raghavachari, M., Fontoura, M., Josifovski, V.: Streaming XPath Processing with Forward and Backward Axes. In: ICDE, Bangalore, India, pp. 455–466 (2003)
Candan, K., Hsiung, W.-P., Chen, S., Tatemura, J., Agrawal, D.: AFilter: Adaptable XML Filtering with Prefix-Caching and Suffix-Clustering. In: VLDB, Seoul, Korea (2006)
Diao, Y., Rizvi, S., Franklin, M.: Towards an Internet-Scale XML Dissemination Service. In: VLDB, Toronto, Canada, pp. 612–623 (2004)
Ives, Z., Halevy, A., Weld, D.: An XML query engine for network-bound data. The VLDB Journal 11(1), 380–402 (2002)
Olteanu, D., Kiesling, T., Bry, F.: An Evaluation of Regular Path Expressions with Qualifiers against XML Streams. In: ICDE, Bangalore, India, pp. 702–704 (2003)
Peng, F., Chawathe, S.: XPath Queries on Streaming Data. In: ACM SIGMOD, San Diego, California, USA, pp.431–442 (2003)
Böttcher, S., Steinmetz, R.: Evaluating XPath Queries on XML Data Streams. In: Cooper, R., Kennedy, J. (eds.) BNCOD 2007. LNCS, vol. 4587, pp. 101–113. Springer, Heidelberg (2007)
Boncz, P., Grust, T., Keulen, M., Manegold, S., Rittinger, J., Teubner, J.: MonetDB/XQuery: a fast XQuery processor powered by a relational engine (2006)
Schmidt, A., Waas, F., Kersten, M., Carey, M., Manolescu, I., Busse, R.: XMark: A Benchmark for XML Data Management. In: VLDB, Hong Kong, pp.974–985 (2002)
Green, T., Gupta, A., Miklau, G., Onizuka, M., Suciu, D.: Processing XML streams with deterministic automata and stream indexes. ACM Trans. Database Syst. 29 (2004)
Gupta, A., Suciu, D.: Stream Processing of XPath Queries with Predicates. In: ACM SIGMOD, San Diego, California, USA, pp.419–430 (2003)
Bar-Yossef, Z., Fontoura, M., Josifovski, V.: On the memory requirements of XPath evaluation over XML streams. J. Comput. Syst. Sci. 73(3), 391–441 (2007)
Chan, C., Felber, P., Garofalakis, M., Rastogi, R.: Efficient Filtering of XML Documents with XPath Expressions. In: ICDE, San Jose, CA, USA, pp.235–244 (2002)
Chen, Y., Davidson, S., Zheng, Y.: An Efficient XPath Query Processor for XML Streams. In: ICDE 2006, Atlanta, GA, USA, p.79 (2006)
Onizuka, M.: Processing XPath queries with forward and downward axes over XML streams. In: EDBT 2010, Lausanne, Switzerland, pp.27–38 (2010)
Arroyuelo, D., Claude, F., Maneth, S., Mäkinen, V., Navarro, G., Nguyen, K., Siren, J., Välimäki, N.: Fast in-memory XPath search using compressed indexes. In: ICDE 2010, Long Beach, California, USA, pp. 417–428 (2010)
Maneth, S., Nguyen, K.: XPath Whole Query Optimization. PVLDB 3(1), 882–893 (2010)
Josifovski, V., Fontoura, M., Barta, A.: Querying XML streams. VLDB Journal 14, 197–210 (2005)
Bojanczyk, M., Parys, P.: XPath evaluation in linear time, pp. 241–250 (2008)
Kader, R., Boncz, P., Manegold, S., Keulen, M.: ROX: run-time optimization of XQueries, pp. 615–626 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benter, M., Böttcher, S., Hartel, R. (2011). Mixing Bottom-Up and Top-Down XPath Query Evaluation. In: Eder, J., Bielikova, M., Tjoa, A.M. (eds) Advances in Databases and Information Systems. ADBIS 2011. Lecture Notes in Computer Science, vol 6909. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23737-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-23737-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23736-2
Online ISBN: 978-3-642-23737-9
eBook Packages: Computer ScienceComputer Science (R0)