Abstract
This document proposes an algebra for XML Query. The algebra has been submitted to the W3C XML Query Working Group. A novel feature of the algebra is the use of regular-expression types, similar in power to DTDs or XML Schemas, and closely related to Hasoya and Pierce’s work on Xduce. The iteration construct is based on the notion of a monad, and involves novel typing rules not encountered elsewhere.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S. Abiteboul, R. Hull, V. Vianu. Foundations of Databases. Addison Wesley, 1995.
Richard Bird. Introduction to Functional Programming using Haskell. Prentice Hall, 1998.
P. Buneman, M. Fernandez, D. Suciu. UnQL: A query language and algebra for semistructured data based on structural recursion. VLDB Journal, to appear.
Catriel Beeri and Yoram Kornatzky. Algebraic Optimization of Object-Oriented Query Languages. Theoretical Computer Science 116(1&2):59–94, August 1993.
Francois Bancilhon, Paris Kanellakis, Claude Delobel. Building an Object-Oriented Database System. Morgan Kaufmann, 1990.
Peter Buneman, Leonid Libkin, Dan Suciu, Van Tannen, and Limsoon Wong. Comprehension Syntax. SIGMOD Record, 23:87–96, 1994.
David Beech, Ashok Malhotra, Michael Rys. A Formal Data Model and Algebra for XML. W3C XML Query working group note, September 1999.
Peter Buneman, Shamim Naqvi, Val Tannen, Limsoon Wong. Principles of programming with complex object and collection types. Theoretical Computer Science 149(1):3–48, 1995.
Catriel Beeri and Yariv Tzaban, SAL: An Algebra for Semistructured Data and XML, International Workshop on the Web and Databases (WebDB’99), Philadelphia, Pennsylvania, June 1999.
R. G. Cattell. The Object Database Standard: ODMG 2.0. Morgan Kaufmann, 1997.
Don Chamberlin, Jonathan Robie, and Daniela Florescu. Quilt: An XML Query Language for Heterogeneous Data Sources. International Workshop on the Web and Databases (WebDB’2000), Dallas, Texas, May 2000.
Vassilis Christophides and Sophie Cluet and Jér ome Siméon. On Wrapping Query Languages and Efficient XML Integration. Proceedings of ACM SIGMOD Conference on Management of Data, Dallas, Texas, May 2000.
S. Cluet and G. Moerkotte. Nested queries in object bases. Workshop on Database Programming Languages, pages 226–242, New York, August 1993.
S. Cluet, S. Jacqmin and J. Siméon The New YATL: Design and Specifications. Technical Report, INRIA, 1999.
L. S. Colby. A recursive algebra for nested relations. Information Systems 15(5):567–582, 1990.
Hugh Darwen (Contributor) and Chris Date. Guide to the SQL Standard: A User’s Guide to the Standard Database Language SQL Addison-Wesley, 1997.
A. Deutsch, M. Fernandez, D. Florescu, A. Levy, and D. Suciu. A query language for XML. In International World Wide Web Conference, 1999. http://www.research.att.com/~mff/files/final.html
Mary Fernandez, Jerome Simeon, Philip Wadler. An Algebra for XML Query, Draft manuscript, June 2000.
Mary Fernandez, Jerome Simeon, Philip Wadler. An Algebra for XML Query, Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2000), New Delhi, December 2000.
J. A. Goguen, J. W. Thatcher, E. G. Wagner. An initial algebra approach to the specification, correctness, and implementation of abstract data types. In Current Trends in Programming Methodology, pages 80–149, Prentice Hall, 1978.
Haruo Hosoya, Benjamin Pierce, XDuce: A Typed XML Processing Language (Preliminary Report). In WebDB Workshop 2000.
Haruo Hosoya, Benjamin Pierce, Jerome Vouillon, Regular Expression Types for XML. In International Conference on Functional Programming (ICFP), September 2000.
M. Kifer, W. Kim, and Y. Sagiv. Querying object-oriented databases. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 393–402, San Diego, California, June 1992.
Leonid Libkin and Limsoon Wong. Query languages for bags and aggregate functions. Journal of Computer and Systems Sciences, 55(2):241–272, October 1997.
Leonid Libkin, Rona Machlin, and Limsoon Wong. A query language for multidimensional arrays: Design, implementation, and optimization techniques. SIGMOD 1996.
John C. Mitchell Foundations for Programming Languages. MIT Press, 1998.
E. Moggi, Computational lambda-calculus and monads. In Symposium on Logic in Computer Science, Asilomar, California, IEEE, June 1989.
E. Moggi, Notions of computation and monads. Information and Computation, 93(1), 1991.
J. Robie, editor. XQL’ 99 Proposal, 1999. http://metalab.unc.edu/xql/xql-proposal.html
H.-J. Schek and M. H. Scholl. The relational model with relational-valued attributes. Information Systems 11(2):137–147, 1986.
S. J. Thomas and P. C. Fischer. Nested Relational Structures. In Advances in Computing Research: The Theory of Databases, JAI Press, London, 1986.
Philip Wadler. Comprehending monads. Mathematical Structures in Computer Science, 2:461–493, 1992.
P. Wadler, Monads for functional programming. In M. Broy, editor, Program Design Calculi, NATO ASI Series, Springer Verlag, 1993. Also in J. Jeuring and E. Meijer, editors, Advanced Functional Programming, LNCS 925, Springer Verlag, 1995.
P. Wadler, How to declare an imperative. ACM Computing Surveys, 29(3):240–263, September 1997.
Philip Wadler. A formal semantics of patterns in XSLT. Markup Technologies, Philadelphia, December 1999.
Limsoon Wong. An introduction to the Kleisli query system and a commentary on the influence of functional programming on its implementation. Journal of Functional Programming, to appear.
World-Wide Web Consortium, XML Query Data Model, Working Draft, May 2000. http://www.w3.org/TR/query-datamodel.
World-Wide Web Consortium, XML Path Language (XPath): Version 1.0. November, 1999. http://www.w3.org/TR/xpath.html
World-Wide Web Consortium, XML Query: Requirements, Working Draft. August 2000. http://www.w3.org/TR/xmlquery-req
World-Wide Web Consortium, XML Query: Data Model, Working Draft. May 2000. http://www.w3.org/TR/query-datamodel/
World-Wide Web Consortium, XML Schema Part 1: Structures, Working Draft. April 2000. http://www.w3.org/TR/xmlschema-1
World-Wide Web Consortium, XML Schema Part 2: Datatypes, Working Draft, April 2000. http://www.w3.org/TR/xmlschema-2.
World-Wide Web Consortium, XSL Transformations (XSLT), Version 1.0. W3C Recommendation, November 1999. http://www.w3.org/TR/xslt.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fernandez, M., Simeon, J., Wadler, P. (2001). A Semi-monad for Semi-structured Data (ICDT Version). In: Van den Bussche, J., Vianu, V. (eds) Database Theory — ICDT 2001. ICDT 2001. Lecture Notes in Computer Science, vol 1973. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44503-X_18
Download citation
DOI: https://doi.org/10.1007/3-540-44503-X_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41456-8
Online ISBN: 978-3-540-44503-6
eBook Packages: Springer Book Archive