From gfourny at inf.ethz.ch Wed Oct 28 09:10:26 2020 From: gfourny at inf.ethz.ch (Ghislain Fourny) Date: Wed, 28 Oct 2020 16:10:26 +0000 Subject: [xquery-talk] [ANN] Rumble 1.9.0 Message-ID: <045FD524-3A2A-4DC2-8FFC-AEFCC128861D@inf.ethz.ch> Dear all, We are happy to announce the release of Rumble 1.9.0 "Ficus Bonsai". It is a free, open source JSONiq engine (JSON-tuned cousin of XQuery), and can be downloaded as a jar from https://rumbledb.org/ or you can directly try out a JSONiq tutorial running on our public backend in your browser (it is a Jupyter notebook running on Google's Colab) from https://bit.ly/3jARuUU (this public backend is just one small machine for small queries -- if you need a larger Spark cluster, you can create one on your favorite cloud provider, e.g., Amazon EMR, in a few minutes, connect to it, download the Rumble jar and start querying) New features (since the previous announcement of version 1.7.0 in this list) include: - Detection of joins in many forms: two for clauses binding large sequences with a predicate in the second one (with support for allowing empty for left outer joins), two for clauses binding large sequences followed by a where clause, or a let clause binding a large sequence with a predicate, for "group joins" (to denormalize data easily). - Efficient evaluation of equi-joins (pushed down to Spark) if the predicate involves equality comparison of (arbitrary) expressions from each side (or conjunctions thereof). - Support for positional variables. - Outputing large quantities of structured data to other formats: avro, parquet, csv, etc. This allows using Rumble to easily clean up a messy dataset with JSONiq, structure it, annotate it, and output it in a structured format, or to easily convert from one format to another, and use it in turn as input to another JSONiq query, or as input to a Python script for visualization with your favorite libraries (pie charts, etc). - Various performance improvements and bugfixes. Kind regards, Ghislain Fourny From maarduin at ethz.ch Thu Oct 29 06:44:06 2020 From: maarduin at ethz.ch (Mario Arduini) Date: Thu, 29 Oct 2020 14:44:06 +0100 Subject: [xquery-talk] arities in variable binding in quantified expressions Message-ID: <750a0eaa-d9a3-0f93-a66f-02b432f476c5@ethz.ch> Dear all, Why variable binding in quantified expressions allows for arities? Since they are elements of a sequence, which by definition is flat, they will necessarly have arity '1' (e.g. why can we write the 'integer+' part in 'some $a as integer+ in (1,2) satisfies $a < 8') Maybe I am missing some corner case. Thank you in advance for any reply, kind regards, Mario From ihe.onwuka at gmail.com Fri Oct 30 09:52:03 2020 From: ihe.onwuka at gmail.com (Ihe Onwuka) Date: Fri, 30 Oct 2020 12:52:03 -0400 Subject: [xquery-talk] It isn't what it is Message-ID: So today I learned that xquery version "3.1"; let $data := doc('/db/apps/fixm/data/v4.1/testbad.xml')/*:message return $data is root($data) is false but xquery version "3.1"; let $data := doc('/db/apps/fixm/data/v4.1/testbad.xml')/*:message return $data/* is root($data)/* is true All by my lonesome. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ihe.onwuka at gmail.com Fri Oct 30 10:03:09 2020 From: ihe.onwuka at gmail.com (Ihe Onwuka) Date: Fri, 30 Oct 2020 13:03:09 -0400 Subject: [xquery-talk] It isn't what it is In-Reply-To: References: Message-ID: ach scratch that I screwed up On Fri, Oct 30, 2020 at 12:52 PM Ihe Onwuka wrote: > So today I learned that > > xquery version "3.1"; > > let > $data := doc('/db/apps/fixm/data/v4.1/testbad.xml')/*:message > return $data is root($data) > > is false but > > xquery version "3.1"; > > let > $data := doc('/db/apps/fixm/data/v4.1/testbad.xml')/*:message > return $data/* is root($data)/* > > is true > > All by my lonesome. > -------------- next part -------------- An HTML attachment was scrubbed... URL: