[xquery-talk] [ANN] RumbleDB 1.18 is out

2022-04-28 Thread Ghislain Fourny
Dear all, RumbleDB 1.18 beta is out! https://github.com/RumbleDB/rumble/releases/tag/v1.18.0 With RumbleDB you can query terabytes of messy data in all kinds of formats (CSV, JSON, Parquet, text…) sitting in many places (S3, HDFS, your laptop…) and feed it right into machine learning

[xquery-talk] [ANN] RumbleDB 1.16

2021-11-03 Thread Ghislain Fourny
Dear all, It is my pleasure to announce the release of RumbleDB 1.16 "Shagbark Hickory" beta. RumbleDB takes XQuery's little cousin, JSONiq, to the Petabyte level on large scale clusters -- but also feels right at home on your 8-core laptop where it seamlessly spreads the processing of your

[xquery-talk] [ANN] RumbleDB 1.14.0 "Acacia" beta

2021-07-07 Thread Ghislain Fourny
joy! Kind regards, Ghislain Fourny ___ talk@x-query.com http://x-query.com/mailman/listinfo/talk

[xquery-talk] [ANN] Rumble 1.11.0 "Banyan Tree" beta

2021-03-03 Thread Ghislain Fourny
y bugfixes and W3C compatibility improvements, which is our current focus (many based on the XQuery 3.0/3.1 test suite) Enjoy! Kind regards, Ghislain Fourny ___ talk@x-query.com http://x-query.com/mailman/listinfo/talk

Re: [xquery-talk] Deep equally distinct-values

2020-11-16 Thread Ghislain Fourny
Dear Ihe, The closest I can think of (which is not in the standard library) is http://www.xqueryfunctions.com/xq/functx_distinct-deep.html http://www.xqueryfunctions.com/xq/functx_distinct-nodes.html Kind regards, Ghislain > On 16 Nov 2020, at 12:16, Ihe Onwuka wrote: > > Is there a

Re: [xquery-talk] Default element namespace: multiple declarations

2020-11-11 Thread Ghislain Fourny
Dear Mike, That's a good catch. If we want to "save the spirit of the spec" while stretching its letter reasonably, my interpretation of "The schema import may [...] declare that target namespace to be the default element/type namespace" is that a schema import that declares a default

Re: [xquery-talk] Castable as with maps/arrays

2020-11-10 Thread Ghislain Fourny
e, or > whether it can be reported statically). > > If E is array{1,2} then I think the spec says the result should be false: > evaluation of E does not fail, and it can be atomized, and it cannot be cast > to xs:integer. > > I will add some test cases to QT3. > > Mich

[xquery-talk] Castable as with maps/arrays

2020-11-10 Thread Ghislain Fourny
Dear all, I would like to check something on XQuery 3.1 and in particular the behavior of maps/arrays with "castable as" given the way they can and cannot be atomized. Do you agree that array { 1, 2 } castable as xs:integer and map {} castable as xs:integer should both return false?

[xquery-talk] [ANN] Rumble 1.9.0

2020-10-28 Thread Ghislain Fourny
xes. Kind regards, Ghislain Fourny ___ talk@x-query.com http://x-query.com/mailman/listinfo/talk

[xquery-talk] [ANN] Rumble 1.7.0 "Phoenix Atlantica"

2020-07-07 Thread Ghislain Fourny
Dear all, Rumble 1.7.0 was released today. Rumble runs JSONiq (XQuery's cousin) on top of Spark. We have a lot of new features, prioritized based on our users, that bring us closer to whole coverage, including (since the previous announcement of 1.5.1 to this list): - Running in parallel now

[xquery-talk] [ANN] Rumble 1.5.1 "Southern Live Oak"

2020-04-07 Thread Ghislain Fourny
Dear all, I am happy to announce the newest release of Rumble, the engine running JSONiq on Spark. JSONiq is XQuery's little brother that natively supports JSON-like data. The 1.5.1 release contains many bugfixes, stability improvements, as well as: - A growing list of input formats: now JSON

[xquery-talk] Rumble 1.4.2 Willow Oak

2019-12-20 Thread Ghislain Fourny
Dear all, Right on time for Christmas, I am happy to share news with you on the latest release of the free and open source Rumble, 1.4.2 Willow Oak. Rumble is a JSONiq engine with which you can query nested, heterogeneous data (e.g., JSON) on Spark, but it carefully hides Spark's RDDs and

[xquery-talk] [ANN] Rumble 1.1 -- switched to DataFrames, and 2x faster

2019-08-08 Thread Ghislain Fourny
Dear all, I am happy to announce the release of Rumble 1.1 beta, the JSONiq engine that queries heterogeneous and nested JSON data on top of Apache Spark. Until version 1.0, FLWOR expressions were mapped to Spark RDDs. But in a student project last semester, Can managed to remap FLWOR

[xquery-talk] Rumble (formerly Sparksoniq) 1.0.0 "Linden Oak" beta

2019-06-03 Thread Ghislain Fourny
Dear all, We are happy to announce that Rumble, formerly known as Sparksoniq, has made it to beta, as we found it stable and usable enough. Rumble is for large, heterogeneous and nested JSON datasets that do not fit in DataFrames, nevertheless with JSONiq (XQuery's little brother) providing

[xquery-talk] [ANN] Sparksoniq 0.9.5 "Larch"

2019-03-04 Thread Ghislain Fourny
Dear all, We are happy to announce the latest alpha release of Sparksoniq. Sparksoniq runs JSONiq queries on top of Spark, taking as input JSON data sets stored on distributed file systems such as (but not only) HDFS. Its goal is to increase productivity when querying heterogeneous, nested

[xquery-talk] Sparksoniq 0.9.1 Spruce: first alpha release

2018-01-24 Thread Ghislain Fourny
Dear all, I am happy to announce the first alpha release of Sparksoniq: 0.9.1 Spruce, under an Apache 2.0 license. You can try it out with its shell and its documentation on http://sparksoniq.org In a nutshell, this is a JSONiq engine [see below what it has to do with XQuery and XML] that

Re: [xquery-talk] SQL to XML with XQuery?

2017-08-10 Thread Ghislain Fourny
Hi Michael, I agree with Mike, but would add that with XQuery's FLWOR expressions, window clauses, builtin functions (tokenize, replace, match, etc) as well as EXPath modules, you can achieve a lot on text input that is "not too unstructured". I did it quite a few times. Some engines also have

Re: [xquery-talk] arrow operator

2017-08-02 Thread Ghislain Fourny
ment yourself, while the arity would read more clearly: $position => array:remove($array, .) This difference with the simple mapping operator is what confuses and surprises me, but it seems I'm the only one, so let's just leave it at that. Thanks a lot for your time. Wouter 2017-08-02 16:08

Re: [xquery-talk] arrow operator

2017-08-02 Thread Ghislain Fourny
MO. > > 2017-08-02 12:07 GMT+02:00 W.S. Hager <wsha...@gmail.com>: > Hi Ghislain, > > Alright, I forgot about fn:replace#4, but the implicit binding is sometimes > hard to detect. > > Thanks. > > > 2017-08-02 12:04 GMT+02:00 Ghislain Fourny <gfou...@in

Re: [xquery-talk] arrow operator

2017-08-02 Thread Ghislain Fourny
t binding is sometimes > hard to detect. > > Thanks. > > 2017-08-02 12:04 GMT+02:00 Ghislain Fourny <gfou...@inf.ethz.ch>: > ... I didn't get it quite right actually. In @address => string(), there is > no context item involved, I wrote too fast. :-) > > New attemp

Re: [xquery-talk] arrow operator

2017-08-02 Thread Ghislain Fourny
Dear Wouter, There is one more important difference on the syntactic level. With the arrow operator, the left-hand-side is implicitly bound to the first parameter of the function. @address => replace(@postcode, "", "q") is the same as replace(@address, @postcode, "", "q") With the simple

Re: [xquery-talk] From map entry pairs to a pair of arrays

2017-07-17 Thread Ghislain Fourny
Hi, My first (naive) thought reading this thread is that, from a theoretical complexity perspective -- unless I missed something -- the first version in the original message was already asymptotically optimal (linear). The time it takes to compute an output always has, as a lower bound, the

Re: [xquery-talk] :=

2016-11-21 Thread Ghislain Fourny
Hi Benito, Yes, that's true. The semantics for scripting is different even though the same symbol is used. This is mostly the reason why I distinguish between binding and assignment for pedagogical purposes, although I do agree with Mike's point that in the end understanding the semantics of a

Re: [xquery-talk] :=

2016-11-20 Thread Ghislain Fourny
Hi Joe, Syntactically, ":=" is not an operator because it does not produce an output sequence of items like "+" or "and" or "/". It is part of let and group-by clauses (which produce tuples) as well as variable and context item declarations (which contribute to the dynamic context). >From a

Re: [xquery-talk] Unusual XPath syntax question

2016-11-02 Thread Ghislain Fourny
Hi Christine, For your defence: this was technically an XPath question, and as such that is also relevant to XQuery :-) Kind regards, Ghislain > On 1 Nov 2016, at 18:52, Schwartz, Christine > wrote: > > Thank you to everyone who answered my question yesterday.

Re: [xquery-talk] How do I insert a node as first element within a for loop?

2016-07-06 Thread Ghislain Fourny
this time! Kind regards, Ghislain On Wed, Jul 6, 2016 at 11:19 AM, Ghislain Fourny <g...@28.io> wrote: > > Hi Alex, > > You can either use a query, or updates. Your query mixes both, which is why you are getting an error, as updates can't be nested in expressions that produce

Re: [xquery-talk] How do I insert a node as first element within a for loop?

2016-07-06 Thread Ghislain Fourny
Hi Alex, You can either use a query, or updates. Your query mixes both, which is why you are getting an error, as updates can't be nested in expressions that produce items. In your case though, since you need to modify the top-level, a query makes most sense, and the good news is it's really

Re: [xquery-talk] Can XQuery Update corrupt documents?

2016-06-10 Thread Ghislain Fourny
Hi Joe, I agree with Mike. Also, I noticed that you are declaring your program as XQuery 3.0. As far as I know, the XQuery Update 3.0 specification is still a Working Draft ( https://www.w3.org/TR/xquery-update-30/ ). I would advise proceeding with care if you combine new XQuery 3.0 constructs

Re: [xquery-talk] Can XQuery Update corrupt documents?

2016-06-10 Thread Ghislain Fourny
Hi Joe, I'm not sure what's happening with the write-back, but looking at your code, it seems that the reconstruct function is not needed. Indeed, when you write, say: replace node $ref with $new-ref A copy of $new-ref is always made (this the semantics of XQuery Update), which is what is

Re: [xquery-talk] xpath default namespace

2016-06-01 Thread Ghislain Fourny
Leo > > On 01 Jun 2016, at 11:06, Ghislain Fourny <g...@28.io> wrote: > > Hi Leo, > > If the input has no namespace, then I think you can declare the default > namespace according to your output (if it is important to you that your > output uses it as a default n

Re: [xquery-talk] xpath default namespace

2016-06-01 Thread Ghislain Fourny
Hi Leo, If the input has no namespace, then I think you can declare the default namespace according to your output (if it is important to you that your output uses it as a default namespace). Then there is a workaround to navigate the input with /*:foo/*:bar expressions, where the joker prefix

Re: [xquery-talk] xpath default namespace

2016-05-31 Thread Ghislain Fourny
Hi Leo, In XQuery, you can do this in the prolog like so (this is from the spec): declare default element namespace "http://example.org/names;; You can also do so using xmlns attribute in node constructors, and the default namespace will be in scope in all nested expressions. Kind regards,

Re: [xquery-talk] Function for determining one XPath as subset of another

2016-01-28 Thread Ghislain Fourny
Hi Adam, This may sound stupid, but: have you considered that (and would it be relevant to you that) the second expression may raise errors that the first one wouldn't have raised, rather than returning a subset? Consider the case where b has a numeric type, and the attribute a cannot be cast to

Re: [xquery-talk] specification for Microsoft's U-SQL ?

2015-11-03 Thread Ghislain Fourny
Hi Michael, Apologies in advance, as I anticipate it may be a stupid question -- but I couldn't find it by just goog..., pardon my French, binging :-p around: Why the choice of the letter U? :-) Unify? Kind regards, Ghislain On Tue, Nov 3, 2015 at 1:56 AM, Michael Rys

Re: [xquery-talk] Xquery : Sort and get only the first record

2015-11-03 Thread Ghislain Fourny
Hi Ronald, You can also use a count clause if you have XQuery 3.0! It makes it easier to read. Like so: for $job in doc('x.xml')//job order by xs:date(replace($job/StartDate, "(\d{2})-(\d{2})-(\d{4})", "$3-$1-$2")) descending count $position where $position eq 1 return $job I hope it helps.

Re: [xquery-talk] asterixdb

2015-10-12 Thread Ghislain Fourny
Hi, I agree with Dana that XQuery has crucial features that address use cases that emerged over the last decade. Both the SQL experience of the last 45 years and the XQuery experience from the last 15 years should be leveraged by whichever language establishes itself on the document store

Re: [xquery-talk] Update bug?

2015-10-07 Thread Ghislain Fourny
Hi Leo, Joseph, Actually, the semantics of the XQuery Update Facility is based on snapshots, which means that the order of the expressions is irrelevant in terms of updates. Each expression is evaluated against the original document, gathering a set of updates known as a PUL, and the updates are

Re: [xquery-talk] annotations in function-declarations

2015-07-23 Thread Ghislain Fourny
Hi Rob, Just off the top of my mind, I would expect some challenges with respect to dynamically vs. statically known information. With a literal, all annotations are known statically. With a variable, this is no longer the case. This may have unexpected implications for function type checking,

Re: [xquery-talk] How to Reverse an Array

2015-07-20 Thread Ghislain Fourny
...@saxonica.com wrote: On 17 Jul 2015, at 14:31, Ghislain Fourny g...@28.io wrote: Hi Eliot, I'd just go to the sequence space and back: array { reverse(array:flatten($array)) } That doesn’t work if the array contains sequences (of length 1) - flattening loses the sequence boundaries

Re: [xquery-talk] How to Reverse an Array

2015-07-17 Thread Ghislain Fourny
Hi Eliot, I'd just go to the sequence space and back: array { reverse(array:flatten($array)) } Kind regards, Ghislain On Fri, Jul 17, 2015 at 3:26 PM, Eliot Kimber ekim...@contrext.com wrote: I'm still getting my head around dynamic functions and arrays in XQuery 3.1. My question for

Re: [xquery-talk] How to Reverse an Array

2015-07-17 Thread Ghislain Fourny
Hi Eliot, Forget what I said: there is actually a function for this :-) array:reverse($array). http://www.w3.org/TR/xpath-functions-31/#func-array-reverse But the approach in the other query works for any other function. Kind regards, Ghislain On Fri, Jul 17, 2015 at 3:31 PM, Ghislain Fourny

Re: [xquery-talk] O'Reilly eXist book is out

2015-01-08 Thread Ghislain Fourny
Hi Adam, Congratulations from me as well! :-) Kind regards, Ghislain On Thu, Jan 8, 2015 at 7:14 AM, William Candillon wcandil...@gmail.com wrote: Congratulation Adam! On Wed, Jan 7, 2015 at 12:03 PM, Christian Grün christian.gr...@gmail.com wrote: Hi Adam, congratulations for the

Re: [xquery-talk] xquary update 3.0

2014-10-07 Thread Ghislain Fourny
Hi Leo, The XQUF 3.0 specification needs to address a few issues to be adapted for new XQuery 3.0 constructs (e.g., expression categories w.r.t. the introduction of dynamic function invocations). If I am correct, a newer version addressing at least the issue mentioned above may be on its way (but

Re: [xquery-talk] [xsl] Re: Random number generation : requirements

2014-05-08 Thread Ghislain Fourny
Hi Benito, We had a discussion on monads not so long ago in the context of update and scripting. I like the elegance of monads. It is my understanding. though, that monads only defer side effects to until they are applied -- and then you are back to the need for side effects semantics. Somehow,

Re: [xquery-talk] Random number generation : requirements

2014-05-07 Thread Ghislain Fourny
Hi, I think that Leo' s proposal, on a first read, is the most elegant way I have seen so far that (pseudo-)randomness can be brought to XQuery in a deterministic way: by exposing that it is actually pseudo-randomness (seed) to the user. In Zorba (not 3.0, but the latest, trunk revision, used by

Re: [xquery-talk] What does [.] do.

2014-01-27 Thread Ghislain Fourny
, 2, 4, 3, 5, , foo, a/, true, false)[.] returns 1 (position matches) 2 (position matches) 5 (position matches) foo (EBV = true) a/ (EBV = true) true (EBV = true) I hope it helps. Kind regards, Ghislain -- Dr. Ghislain Fourny Software Architect 28msec Inc. http://www.28.io/ http

Re: [xquery-talk] Element list to comma seperated list

2013-09-25 Thread Ghislain Fourny
Hi, fn:string-join is a W3C-standardized function, not a FunctX function. Are you sure your XQuery processor does not support it? http://www.w3.org/TR/xpath-functions/#func-string-join http://www.w3.org/TR/xpath-functions-30/#func-string-join Kind regards, Ghislain On Sep 24, 2013, at 7:36

Re: [xquery-talk] Element list to comma seperated list

2013-09-25 Thread Ghislain Fourny
Hi Josh, Apologies about the redundant answer, my e-mail client somehow did not show me you had already answered. :-) Kind regards, Ghislain On Sep 24, 2013, at 7:58 PM, Josh Spiegel josh.spie...@oracle.com wrote: fn:string-join is a standard function:

Re: [xquery-talk] incorrect syntax?

2012-10-01 Thread Ghislain Fourny
Hi Gleb, Could the prefix in front of the return call be missing? (e.g., local:return, depending on how you defined this function) By default (if you have not changed it), the default function namespace is the builtin one (also available through fn:), so just typing return will look up among

Re: [xquery-talk] fn:doc not returning data

2012-07-09 Thread Ghislain Fourny
Hi Daniel, XQIB does not support the doc function - the XQIB way of accessing an XML document is to send a GET request over the Web with the EXPath http-client module (possibly to the same server). An example is given here: http://www.xqib.org/js/RESTCallCourses_source.html I hope this is