{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T11:20:41Z","timestamp":1740136841285,"version":"3.37.3"},"reference-count":38,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Computer Languages, Systems &amp; Structures"],"published-print":{"date-parts":[[2017,1]]},"DOI":"10.1016\/j.cl.2016.09.002","type":"journal-article","created":{"date-parts":[[2016,9,21]],"date-time":"2016-09-21T16:19:18Z","timestamp":1474474758000},"page":"131-150","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":1,"special_numbering":"P2","title":["Optimisation of language-integrated queries by query unnesting"],"prefix":"10.1016","volume":"47","author":[{"given":"Tomasz Marek","family":"Kowalski","sequence":"first","affiliation":[]},{"given":"Rados\u0142aw","family":"Adamus","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.cl.2016.09.002_bib1","doi-asserted-by":"crossref","unstructured":"E. Meijer, The world according to LINQ, Commun. ACM, vol. 54, 10, pp. 45\u201351, Oct. 2011. http:\/\/dx.doi.org\/10.1145\/2001269.2001285","DOI":"10.1145\/2001269.2001285"},{"key":"10.1016\/j.cl.2016.09.002_bib2","unstructured":"Oracle, Java API docs, Package java.util.stream, http:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/stream\/package-summary.html, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib3","unstructured":"M. Fowler, Collection Pipeline, 28 July 2014, http:\/\/martinfowler.com\/articles\/collection-pipeline\/, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib4","doi-asserted-by":"crossref","unstructured":"Hudak, Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21 (3), pp. 383\u2013385, 1989. http:\/\/dx.doi.org\/10.1145\/72551.72554.","DOI":"10.1145\/72551.72554"},{"issue":"2","key":"10.1016\/j.cl.2016.09.002_bib6","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1145\/356924.356928","article-title":"Query Optimization in Database Systems","volume":"16","author":"Jarke","year":"1984","journal-title":"ACM Comput Surv"},{"issue":"3","key":"10.1016\/j.cl.2016.09.002_bib7","doi-asserted-by":"crossref","first-page":"443","DOI":"10.1145\/319732.319745","article-title":"On optimizing an SQL-like nested query","volume":"7","author":"Kim","year":"1982","journal-title":"ACM Trans Database Syst"},{"issue":"8","key":"10.1016\/j.cl.2016.09.002_bib8","doi-asserted-by":"crossref","first-page":"467","DOI":"10.1016\/S0306-4379(00)00031-4","article-title":"Object Query Optimization through Detecting Independent Subqueries","volume":"25","author":"Plodzien","year":"2000","journal-title":"Information Systems"},{"key":"10.1016\/j.cl.2016.09.002_bib9","first-page":"226","article-title":"Nested Queries in Object Bases","author":"Cluet","year":"1993","journal-title":"In DBPL\u05f393"},{"key":"10.1016\/j.cl.2016.09.002_bib10","doi-asserted-by":"crossref","first-page":"968","DOI":"10.1145\/1166074.1166081","article-title":"Strategies for Query Unnesting in XML Databases","volume":"31","author":"May","year":"2006","journal-title":"ACM Trans Database Syst (TODS)"},{"key":"10.1016\/j.cl.2016.09.002_bib11","doi-asserted-by":"crossref","unstructured":"E. Zdravevski, P. Lameski, A. Kulakov, S. Filiposka, D. Trajanov and B. Jakimovski, Parallel computation of information gain using Hadoop and MapReduce, Proceedings of the 2015 Federated Conference on Computer Science and Information Systems, Annals of Computer Science and Information Systems, 5, pp. 181-192, 2015. http:\/\/dx.doi.org\/10.15439\/2015F89","DOI":"10.15439\/2015F89"},{"key":"10.1016\/j.cl.2016.09.002_bib12","unstructured":"Y. Yu, M. Isard, D. Fetterly, M. Budiu, U. Erlingsson, P. K. Gunda, and J. Currey, DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language, Symposium on Operating System Design and Implementation (OSDI), San Diego, CA, December 8-10, 2008."},{"key":"10.1016\/j.cl.2016.09.002_bib13","article-title":"Nectar: Automatic Management of Data and Computation in Datacenters","author":"Gunda","year":"2010","journal-title":"In OSDI,"},{"issue":"4","key":"10.1016\/j.cl.2016.09.002_bib14","doi-asserted-by":"crossref","first-page":"457","DOI":"10.1145\/377674.377676","article-title":"Optimizing object queries using an effective calculus","volume":"25","author":"Fegaras","year":"2000","journal-title":"ACM Trans Database Syst (TODS)"},{"key":"10.1016\/j.cl.2016.09.002_bib15","series-title":"Playing by the Rules: Rewriting as a practical optimisation technique in GHC","first-page":"203","author":"Jones","year":"2001"},{"key":"10.1016\/j.cl.2016.09.002_bib16","doi-asserted-by":"crossref","unstructured":"S. P. Jones, W. Partain, A. Santos, Let-Floating: Moving Bindings to Give Faster Programs, Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, 1996. http:\/\/dx.doi.org\/10.1145\/232629.232630","DOI":"10.1145\/232629.232630"},{"key":"10.1016\/j.cl.2016.09.002_bib17","unstructured":"J. Hughes, The Design and Implementation of Programming Languages, Oxford University, D.Phil. Thesis, 1983."},{"key":"10.1016\/j.cl.2016.09.002_bib18","unstructured":"A. Biboudis, N. Palladinos, Y. Smaragdakis, Clash of the Lambdas, 9th ICOOOLPS (Implementation, Compilation, Optimization of OO Languages, Programs and Systems) workshop, Uppsala, Sweden, 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib19","doi-asserted-by":"crossref","unstructured":"T. Grust, J. Rittinger, T.Schreiber, Avalanche-safe LINQ compilation, Proceedings of the VLDB Endowment, 3 Issue 1-2, pp. 162\u2013172, 2010. http:\/\/dx.doi.org\/10.14778\/1920841.1920866.","DOI":"10.14778\/1920841.1920866"},{"key":"10.1016\/j.cl.2016.09.002_bib20","doi-asserted-by":"crossref","unstructured":"J. Chaney, S. Lindley, P Wadler, A practical theory of language-integrated query, ICFP \u05f313 18th ACM SIGPLAN international conference on Functional programming, ACM SIGPLAN Notices - ICFP\u05f313, 48 Issue 9, pp. 403-416, 2013. http:\/\/dx.doi.org\/10.1145\/2500365.2500586.","DOI":"10.1145\/2500365.2500586"},{"key":"10.1016\/j.cl.2016.09.002_bib21","unstructured":"i4o, i4o - Indexed LINQ, http:\/\/i4o.codeplex.com, accessed: September 2014."},{"year":"2011","series-title":"Steno: Automatic Optimization of Declarative Queries","author":"Murray","key":"10.1016\/j.cl.2016.09.002_bib22"},{"key":"10.1016\/j.cl.2016.09.002_bib23","unstructured":"N. Palladinos, and K. Rontogiannis., LinqOptimizer: an automatic query optimizer for LINQ to objects and PLINQ, http:\/\/nessos.github.io\/LinqOptimizer\/, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib24","unstructured":"Sky LINQ. Sky LINQ, https:\/\/skylinq.codeplex.com, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib25","unstructured":"The Reactive Manifesto, The Reactive Manifesto, http:\/\/www.reactivemanifesto.org, 23 September 2013, accessed: December 2014."},{"issue":"5","key":"10.1016\/j.cl.2016.09.002_bib26","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1145\/2160718.2160735","article-title":"Your mouse is a database","volume":"55","author":"Meijer","year":"2012","journal-title":"Commun ACM"},{"key":"10.1016\/j.cl.2016.09.002_bib27","doi-asserted-by":"crossref","first-page":"707","DOI":"10.1007\/978-3-642-39038-8_29","article-title":"Higher-Order Reactive Programming with Incremental Lists, ECOOP 2013 \u2013 Object-Oriented Programming","volume":"7920","author":"Maier","year":"2013","journal-title":"Lecture Notes Comput Sci"},{"key":"10.1016\/j.cl.2016.09.002_bib28","unstructured":"G. Schueller, A. Begrend, Stream fusion using reactive programming, LINQ and magic updates, 16th International Conference on Information Fusion (FUSION), pp. 1265-1272, 2013."},{"key":"10.1016\/j.cl.2016.09.002_bib29","first-page":"53","article-title":"PQL, A purely-declarative java extension for parallel programming","volume":"7313","author":"Reichenbach","year":"2012","journal-title":"ECOOP \u201912, LNCS"},{"key":"10.1016\/j.cl.2016.09.002_bib30","first-page":"413","article-title":"Implementing a Query Language for Java Object Database","author":"Wcislo","year":"2012","journal-title":"ADBIS 2012"},{"key":"10.1016\/j.cl.2016.09.002_bib31","unstructured":"R. Adamus., P. Habela, K. Kaczmarski., M. Lentner, K. Stencel, K. Subieta, Stack-Based Architecture and Stack-Based Query Language, ICOODB Proceedings of the First International Conference on Object Databases. Germany, Berlin, pp. 77-95, 2008."},{"key":"10.1016\/j.cl.2016.09.002_bib32","unstructured":"K. Subieta, Stack-Based Approach (SBA) and Stack-Based Query Language (SBQL), http:\/\/www.sbql.pl, 2011, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib33","doi-asserted-by":"crossref","unstructured":"G. M. Bierman, E. Meijer, and M. Torgersen, Lost In Translation: Formalizing Proposed Extensions to C#, Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, pp. 479-498, 2007. http:\/\/dx.doi.org\/10.1145\/1297105.1297063.","DOI":"10.1145\/1297105.1297063"},{"key":"10.1016\/j.cl.2016.09.002_bib34","doi-asserted-by":"crossref","unstructured":"R. Adamus, T.M. Kowalski and J. Wi\u015blicki, A step towards genuine declarative language-integrated queries. Proceedings of the 2015 Federated Conference on Computer Science and Information Systems, Annals of Computer Science and Information Systems, 5, pp. 935-946, 2015. http:\/\/dx.doi.org\/10.15439\/2015F156.","DOI":"10.15439\/2015F156"},{"issue":"7","key":"10.1016\/j.cl.2016.09.002_bib35","article-title":"The Pain of Implementing LINQ Providers","volume":"9","author":"Eini","year":"2011","journal-title":"ACM Queue - Mobile Devices in the Enterprise"},{"year":"2006","series-title":"Compilers - principles, techniques and tools","author":"Aho","key":"10.1016\/j.cl.2016.09.002_bib36"},{"key":"10.1016\/j.cl.2016.09.002_bib37","unstructured":"T. Petricek, Building LINQ queries at runtime in C#, http:\/\/tomasp.net\/blog\/dynamic-linq-queries.aspx\/, 2007, accessed: December 2014."},{"key":"10.1016\/j.cl.2016.09.002_bib38","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1007\/978-3-642-32741-4_6","article-title":"Optimization of object-oriented queries through pushing selections","volume":"186","author":"Drozd","year":"2013","journal-title":"Advances in databases and information systems, advances in intelligent systems and computing"},{"key":"10.1016\/j.cl.2016.09.002_bib39","unstructured":"M. Bleja, K.Stencel, K. Subieta, Optimization of object-oriented queries addressing large and small collections IMCSIT 2009, pp. 643-650, 2009. http:\/\/dx.doi.org\/10.1007\/978-3-642-32741-4_62\/8\/2016; 9\/11\/2016."}],"container-title":["Computer Languages, Systems &amp; Structures"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1477842416300240?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1477842416300240?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,9,13]],"date-time":"2019-09-13T17:21:37Z","timestamp":1568395297000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1477842416300240"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,1]]},"references-count":38,"alternative-id":["S1477842416300240"],"URL":"https:\/\/doi.org\/10.1016\/j.cl.2016.09.002","relation":{},"ISSN":["1477-8424"],"issn-type":[{"type":"print","value":"1477-8424"}],"subject":[],"published":{"date-parts":[[2017,1]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Optimisation of language-integrated queries by query unnesting","name":"articletitle","label":"Article Title"},{"value":"Computer Languages, Systems & Structures","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.cl.2016.09.002","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2016 Elsevier Ltd. All rights reserved.","name":"copyright","label":"Copyright"}]}}