Re: Semantic of the language

Dear All,

The new additions in SPARQL 1.1 change the expressiveness of the
language. Below please find a more detailed answer.

On Sun, Mar 14, 2010 at 9:53 PM, Lee Feigenbaum <> wrote:
> On 3/14/2010 5:19 PM, Juan Sequeda wrote:
>> Lee,
>> Good question! I think Marcelo would be the best to answer that
>> question.I'm not aware of all the new additions to SPARQL 1.1.
> Well, I can help with this part :)
> The main additions to the query language are:
> + subselects

As far as I understand the definition of subselects in SPARQL 1.1,
they should be expressible in FOL (and then in non-recursive Datalog
with safe negation).

> + 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.

> + aggregate queries & solution grouping

Some of the aggregate functions that are included in SPARQL 1.1 cannot
be expressed in FOL: COUNT, SUM and  AVG. If the language includes a
linear order on the elements, then MIN and MAX can be expressed in

> + a negation construct (should be similar semantics to optional/!bound, so
> shouldn't change the expressivity)

I agree, this shouldn't change the expressiveness.

> + property paths - query arbitrary length paths (?me foaf:knows+ ?known)

Property paths cannot be expressed in FOL (one needs recursion to
express them). If we allow recursive Datalog, then we could deal with
property paths, but the problem is that recursive Datalog is quite
expressive; for example, the semantics of RFDS vocabulary {subclass,
subproperty, type, dom, range} can be encoded in recursive Datalog. My
guess is that there are probably going to be properties that are
expressible in recursive Datalog and not in SPARQL 1.1 (of course,
this depends on the final definition of SPARQL 1.1).

All the best,


Received on Monday, 15 March 2010 15:56:17 UTC