- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Tue, 16 Mar 2010 07:57:38 -0600
- To: Lee Feigenbaum <lee@thefigtrees.net>
- Cc: Marcelo Arenas <marcelo.arenas1@gmail.com>, public-rdb2rdf-wg@w3.org
- Message-ID: <f914914c1003160657t46f60285g69ea695f51d3ab3@mail.gmail.com>
I'm looking at the SPARQL spec, so take for example ORDER BY, which cannot
be represented in datalog (right?).
It states that "The ORDER BY clause establishes the order of a solution
sequence." [1] So once you get a solution sequence, the order is established
in post-processing. Therefore there are some things that don't have to be
explicitly in FOL.
[1] http://www.w3.org/TR/rdf-sparql-query/#modOrderBy
Juan Sequeda
+1-575-SEQ-UEDA
www.juansequeda.com
On Tue, Mar 16, 2010 at 7:25 AM, Lee Feigenbaum <lee@thefigtrees.net> wrote:
> On 3/16/2010 7:40 AM, Marcelo Arenas wrote:
>
>> On Tue, Mar 16, 2010 at 2:03 AM, Lee Feigenbaum<lee@thefigtrees.net>
>> wrote:
>>
>>> On 3/15/2010 11:55 AM, Marcelo Arenas wrote:
>>>
>>> + the ability to project expressions from queries rather than variables
>>>>> only
>>>>>
>>>>
>>>> I don't understand this functionality. Maybe Lee could gives us an
>>>> example of such a query.
>>>>
>>>
>>> In SPARQL 1.0, the only thing that can be projected from a query are
>>> variables:
>>>
>>> SELECT ?var1 ?var2 ?var3
>>> WHERE {
>>> ... ?var1 ... ?var2 ... ?var3 ...
>>> }
>>>
>>> In SPARQL 1.1, any expression can be projected into a result set:
>>>
>>> SELECT ?var1 (?var2 + 2 AS ?sum) (fn:myCrazyFunction(?var3) AS ?crazy)
>>> WHERE {
>>> ... ?var1 ... ?var2 ... ?var3 ...
>>> }
>>>
>>> Lee
>>>
>>
>> Thanks for the example, now the functionality is clear. Whether this
>> is expressible in FOL depends on the functions that are used. For
>> example, ?var1 + ?var2 AS ?sum is not expressible in FOL if + is not
>> part of the language; if + is not included as a built-in predicate (or
>> function) in non-recursive Datalog with safe negation, then the above
>> functionality of SPARQL 1.1 will not be expressible in the mapping
>> language.
>>
>
> I still haven't read the papers that Juan cited, but I'm guessing then that
> a similar caveat was already true about the expressivity of SPARQL 1.0,
> given that FILTERs can make use of an extensible set of functions?
>
> I suppose just about any route we go for the mapping language will involve
> having to pick out a core set of functions/operators that can be used in
> transforming vales...
>
> Lee
>
>
>> All the best,
>>
>> Marcelo
>>
>>
Received on Tuesday, 16 March 2010 13:58:12 UTC