[xquery-talk] SQL vs. XQuery (aka FOR vs FROM and RETURn vs. SELECT)

Pavel Minaev int19h at gmail.com
Tue Jun 23 15:07:58 PDT 2015


I don't mind at all.

And of course XQuery (well, the parts that are not tied to XDM) is
orthogonal to XML. The way I see it, FLWOR syntax (as well as LINQ etc) is
basically just a very fancy sequence comprehension, and obviously sequences
and trees aren't XML-specific at all.

FWIW, back when I first saw XQuery (which was after LINQ for me), I
remember being somewhat surprised at the choice of "return" especially for
a keyword. It's not that it was unclear what it did, and the mapping to the
more familiar syntax was obvious. It's just that it implies some transfer
of control traditionally, which is obviously not the case here. "yield", as
used in Scala and F#, made a lot more sense.

I don't mind "for" as much, on the other hand, seeing how it's pretty
commonly used for sequence comprehensions elsewhere (Python, Scala, F#
...). I think the main reason why LINQ used "from" instead is to induce a
sense of familiarity for those coming from SQL background, which was 99% of
its target audience.

Side note: I don't think that standalone query languages make much sense
now that integrated syntax for sequence comprehensions has become
mainstream for high-level languages. It's just too much effort to do
explicit interop from, say, Java, C# and JS, to XQuery or JSONiq, and it
introduces a new syntax for concepts which are already represented in the
host language, with said syntax being constrained to one narrow domain
(XML/JSON). I think that the way forward is going to be more like LINQ -
taking (hopefully!) the lessons learned from dedicated query languages and
seamlessly integrating them into the language such that they can work on
its native data model, and mapping XML, JSON etc to that model as
transparently as possible.

On Tue, Jun 23, 2015 at 2:56 PM, daniela florescu <dflorescu at me.com> wrote:

> Pavel, I hope you don’t mind that I forward your personal  email to the
> main list.
>
> Thanks for the links.
>
> Yes, I am of course aware of the history of it, but I don’t think everyone
> else is.
>
> (I even gave feedback to Erik Meijer before he submitted this proposal to
> Bill Gates…. and I lost
> a beer with him because we bet who among the two of us knows XML Schema
> better — and he did :-).
>
> This reinforces the ideas that:
>
> 1. the principles of XQuery are orthogonal to XML itself and
>
> 2. spelling FROM and SELECT seems to matter to people A LOT.
>
> Best regards
> Dana
>
>
> On Jun 23, 2015, at 2:44 PM, Pavel Minaev <int19h at gmail.com> wrote:
>
> FWIW, "this language" is actually LINQ:
>
> https://msdn.microsoft.com/en-us/library/bb397896(v=vs.140).aspx
>
> Which, ironically, came out of an earlier Microsoft project called Cω (and
> specifically, the subset of it called X#), which was basically an attempt
> to graft a subset of XQuery onto C#:
>
> https://msdn.microsoft.com/en-us/library/ms974195.aspx
>
> It became LINQ after it dropped ties to XDM and was generalized to operate
> on arbitrary CLI object graphs instead.
>
> On Tue, Jun 23, 2015 at 2:31 PM, daniela florescu <dflorescu at me.com>
> wrote:
>
>> One thing that did strike me is the link cited in one of the comments
>> about this article:
>>
>> http://queue.acm.org/detail.cfm?id=1961297
>>
>> Just look at the examples.
>>
>> Does everyone see what I see !? :-)
>>
>> Those are just FLWOR expressions, with FOR spelled as FROM and RETURN
>> spelled
>> as SELECT.
>>
>> Can we PLEASE add those as synonyms in the XQuery grammar before you
>> close XQuery 3.1  !?
>>
>> Otherwise we’ll hear for another 100 years that XQuery has nothing to do
>> with SQL while THIS language
>> describe in this paper DOES. (sic!)
>>
>> It’s dumb, but that’s how it is.
>>
>> Pretty please !???
>>
>> Thanks
>> Dana
>>
>>
>>
>> On Jun 23, 2015, at 11:04 AM, daniela florescu <dflorescu at me.com> wrote:
>>
>> Ihe,
>>
>> you asked why XQuery is not more popular.
>>
>> Here is another striking answer to your question: NOBODY KNOWS IT EXISTS.
>>
>> Just look at this example.
>>
>>
>> https://www.linkedin.com/pulse/sql-vs-discrepancy-somil-asthana?trk=hp-feed-article-title-like
>>
>> I quote: "Indisputably, there may be people who are working on Non
>> Relational
>>  Algebra and Non Tuple Relational Calculus, its just that we do not know
>> them.”
>>
>> [[[Can someone just answer this guy, so I don’t have to insult him/her !?
>> Because I feel a really strong urge….I’ll try to breathe and do some
>> meditation….]]]
>>
>> In fact, I know that this is not his/her limitation.
>>
>> It’s our OWN failure to explain to the world what XQuery is, what it
>> does, and what is good at.
>>
>> Best regards
>> Dana
>>
>>
>> P.S. And after that, please DON’T ask me why I am SO pissed off at
>> MarkLogic who pretend they never ate the garlic, not does
>> their mouth smell of garlic…..
>>
>> They MADE all their money out of the power of XQuery  (expressiveness,
>> productivity, etc), yet they pretend they’ve never heard of it….
>>
>> That’s something that REALLY gets me angry.
>>
>> And this will come back to bait them on the business side very badly too.
>>
>> Oracle would have NEVER done the same thing about SQL…..just saying.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> talk at x-query.com
>> http://x-query.com/mailman/listinfo/talk
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20150623/0b753f10/attachment.html>


More information about the talk mailing list