Re: SPARQL Federation Extensions draft

comments apart from "INSERT DATA" addressed in r1.3

* Andy Seaborne <andy.seaborne@talis.com> [2010-03-29 15:54+0100]
> Eric,
> 
> This is great - I think we ought to include something in SPARQL 1.1
> even if it's just the most basic SERVICE form because of time.  It
> it the semantic *web* ....
> 
> 	Andy
> 
> On 27/03/2010 3:36 AM, Eric Prud'hommeaux wrote:
> >http://www.w3.org/2009/sparql/docs/fed/service
> >
> >take a look, help out, ...
> >--
> >-ericP
> 
> 
> Specific comments:
> ** SERVICE
> 
> "4.1 Definition of SERVICE"
> http://www.w3.org/2009/sparql/docs/fed/service#sparqlDefinition
> 
> [[
> The evaluation of service uses the SPARQL algebra union operator.
> ]]
> 
> Elements of a group are usually join'ed together, not union'ed.

oops, #include-o. removed.

> Algebra example:
> 
>  Service(?s :p2 ?v2)
> ==>
>  Service(<srvc> BGP(?s :p2 ?v2))
> 
> "with a query Q and no default or named graphs."
> 
> I think that means no FROM or FROM NAMED - correct?

ahh, different intention. I updated the text to

"with a query Q and no default-graph-uri or named-graph-uri (see
SPARQL Protocol [SPROT] section 2.1.1.1)"

and am field-testing it on you now. Is it clear?

> ** BINDINGS
> 
> This area is less clear to me - it's very useful to have something
> here but I'm not quite sure this is the right mechanism.

I've found it convenient, as have a few others (Greg, and possibly
Virtuoso, if they got around to it).

> It's another form of assignment.
> 
> Is it the same as (the excessively verbose):
> 
> {
> SELECT ("Alice" AS ?given)
>        ("Anderson" AS ?family)
>        (?mbox AS <mailto:alice@example.com>)
> } UNION {
> SELECT ("Bob" AS ?given)
>        ("Robertson" AS ?family)
>        (?mbox AS <mailto:eve@example.com>)
> } UNION { ... }

Wow, I think it is. Neato.

> Probably better not to allow bNodes to be passed over the network.

what's SELECT (_:Bob AS ?who) do?
I think both would need to say that bnodes in this document (like any
other RDF document) are scoped to the document, and are distinct from
all other bnodes.

> Suggest s/UNBOUND/_/ or something a liitle less heavy. "-"
> The definition of BINDING has UNDEF

any of these work for me. SQL of course uses "NULL", but then SQL uses
"NULL" for lots of things.

> * BINDING and Update:
> This seems to overlap with INSERT DATA etc

I don't know INSERT DATA. pointer?

> It is unrelated to federated query.
> 
> The substutute operator might help in the definition:
> http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#defn_substitute

thanks, that looks useful here; ping me when you flush it out.


> Result are then a union of substitute for each binding row.  This is
> similar to the bind-join proposed by the IBM Garlic project.  It
> allows for the bINDINGs to be streamed in parallel with results
> coming back.
> 
> (this way the results of sending one BINDING at a time and sending
> all BINDINGS at once are the same).

This allows for streaming 'cause the BINDINGS come at the end of the
query.

> ** MIME Type
> 
> Doesn't the query often go in ?query= which isn't MIME typed.

yeah, we had a media type for SPARQL queries, which isn't
super-useful, but at least distinguishes documents on the web.  I
expect there's no reason for a new media type. I've strengthened from
"it may not be worth the cost" to "it's probably not worth the cost"
but left the draft in in case we want it later.

> 	Andy

-- 
-ericP

Received on Monday, 29 March 2010 16:25:34 UTC