ABSTRACT
One key aspect of data-centric applications is the manipu- lation of persistent data repositories, which is moving fast from querying a centralized relational database to the ad- hoc combination of constellations of data sources. Query languages are being typefuly integrated in host, general purpose, languages in order to increase reasoning and optimizing capabilities of interpreters and compilers. However, not much is being done to integrate and orches- trate different and separate sources of data. We present a common data manipulation language, that abstracts the nature and localization of the data-sources. We define its semantics and a type directed compilation, query optimization, and query orchestration mechanism to be used in development tools for heterogeneous environments. We provide type safety and language integration. Our approach is also suitable for an interactive query construction environment by rich user interfaces that pro- vide immediate feedback on data manipulation operations. This approach is currently the base for the data layer of a development platform for mobile and web applications.
- V. Benzaken, G. Castagna, and A. Frisch. CDuce: An XML-centric General-purpose Language. In Proc. Int. Conference on Functional Programming, 2003. Google ScholarDigital Library
- J. A. Blakeley, C. Cunningham, N. Ellis, B. Rathakrishnan, and M.-C. Wu. Distributed/heterogeneous query processing in microsoft sql server. In Proceedings of the 21st International Conference on Data Engineering, ICDE ’05, 2005. Google ScholarDigital Library
- P. Buneman, L. Libkin, D. Suciu, V. Tannen, and L. Wong. Comprehension Syntax. SIGMOD RECORD, 23, 1994. Google ScholarDigital Library
- P. Buneman, S. Naqvi, V. Tannen, and L. Wong. Principles of Programming with Complex Objects and Collection Types. Theor. Comput. Sci., 149(1), Sept. 1995. Google ScholarDigital Library
- J. Cheney, S. Lindley, and P. Wadler. Query Shredding: Efficient Relational Evaluation of Queries over Nested Multisets. In Proc. of Int. Conference on Management of Data, 2014. Google ScholarDigital Library
- A. Chlipala. Ur/Web: A Simple Model for Programming the Web. In Proceedings of the 42nd Annual Symposium on Principles of Programming Languages, 2015. Google ScholarDigital Library
- J. Clark and S. J. DeRose. XML Path Language (XPath) Version 1.0, 1999. URL www.w3.org/TR/XPath.Google Scholar
- L. S. Colby. A Recursive Algebra and Query Optimization for Nested Relations. In Proc. of Int. Conference on Management of Data, 1989. Google ScholarDigital Library
- E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web Programming Without Tiers. In Proc. Int. Conference on Formal Methods for Components and Objects, 2007. Google ScholarDigital Library
- R. Davies and F. Pfenning. A modal analysis of staged computation. J. ACM, 2001. Google ScholarDigital Library
- Y. Fu, K. W. Ong, and Y. Papakonstantinou. Declarative Ajax Web Applications through SQL++ on a Unified Application State. In Proceedings of Intern. Symposium on Database Programming Languages, 2013.Google Scholar
- N. Grade, L. Ferrão, and J. C. Seco. Optimizing Data Queries Over Heterogeneous Sources. In Proceedings of the 5th Simpósio de Informática, Évora, Portugal, 2013.Google Scholar
- A. Halevy, A. Rajaraman, and J. Ordille. Data integration: the teenage years. In Proc. of int. conference on Very large data bases, pages 9–16. VLDB Endowment, 2006. Google ScholarDigital Library
- S. P. Jones and P. Wadler. Comprehensive Comprehensions. In Proc. Haskell Workshop, Haskell ’07, 2007. Google ScholarDigital Library
- João Costa Seco and Hugo Lourenço and Paulo Ferreira. A common data manipulation language. Technical report, Universidade Nova de Lisboa, 2015. URL ctp.di.fct.unl.pt/~jcs/ techreport-dbpl.pdf.Google Scholar
- S. Lindley and J. Cheney. Row-based Effect Types for Database Integration. In Proc. Workshop on Types in Language Design and Implementation, pages 91–102, 2012. Google ScholarDigital Library
- OutSystems. Using Aggregates - Fetching Data from the Database. Tech. Documentation, 2015. URL www.outsystems.com.Google Scholar
- Y. Papakonstantinou, A. Gupta, and L. M. Haas. Capabilitiesbased query rewriting in mediator systems. Distributed and Parallel Databases, 6(1), 1998. Google ScholarDigital Library
- J. Robie et al. XQuery 3.0: An XML Query Language, 2014. URL www.w3.org/TR/xquery-30/.Google Scholar
- M. Serrano, E. Gallesio, and F. Loitsch. Hop: a language for programming the web 2.0. In Companion to the 21th Annual Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2006.Google Scholar
- A. Silberschatz, H. Korth, and S. Sudarshan. Database Systems Concepts. McGraw-Hill, Inc., 5 edition, 2006. Google ScholarDigital Library
- V. Vassalos and Y. Papakonstantinou. Expressive capabilities description languages and query rewriting algorithms. The Journal of Logic Programming, 43(1):75 – 122, 2000.Google Scholar
Index Terms
- A common data manipulation language for nested data in heterogeneous environments
Recommendations
Explicitly heterogeneous metaprogramming with MetaHaskell
ICFP '12: Proceedings of the 17th ACM SIGPLAN international conference on Functional programmingLanguages with support for metaprogramming, like MetaOCaml, offer a principled approach to code generation by guaranteeing that well-typed metaprograms produce well-typed programs. However, many problem domains where metaprogramming can fruitfully be ...
Explicitly heterogeneous metaprogramming with MetaHaskell
ICFP '12Languages with support for metaprogramming, like MetaOCaml, offer a principled approach to code generation by guaranteeing that well-typed metaprograms produce well-typed programs. However, many problem domains where metaprogramming can fruitfully be ...
Revised Report on the Algorithmic Language Scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele, Jr. and Gerald Jay Sussman. It was designed to have ...
Comments