Re: Review of Fed-query for LC readiness (ACTION-502)

regarding section 4, a paragraph with something like the one at the end of
the email, would make things clearer?

Carlos

According to the suggested algebra, the example above should be executed as
follows: first, evaluate the pattern:

“ ?p dc:subject ?projectSubject ;

 void:sparqlEndpoint ?service

 FILTER regex(?projectSubject, "remote")”

to obtain the variable bindings for ?service. Obtaining first these variable
bindings it is possible to execute the query pattern: “SERVICE ?service {

 ?project doap:name ?projectName . } “

Notice that it is necessary to execute always first the pattern that
evaluates the ?service variable that obtains the URIs for SERVICE. If this
variable has o results the evaluation can't continue unless the SILENT
keyword is present.

2011/8/1 Axel Polleres <axel.polleres@deri.org>

> I checked the changes in Fed-Query...
>
>
> On 27 Jul 2011, at 22:04, Carlos Buil Aranda wrote:
> > sorry Axel, I overlooked the email. I uploaded a new version with your
> example. It is much clearer. I added BINDINGS ?s { (:b) (:c) }
> >
>
> Hmmm, I don't see a  BINDINGS query in the current draft...
> here are my detailed comments on Section 2.4 and Section 4:
>
>
> Section 2.4
> -----------
>
> *
>  "This query, on the data above using BINDINGS, has three solutions:
>
>  Query Result:"
>
> --(That query doesn't use BINDINGS...)-->
>
>  "
>  This query, on the data above, has three solutions:
>  "
>
> *
>
> "
>  Next, dispatch a constrained query with the solutions for ?s.
>
>  Query:
>
>  PREFIX foaf:   <http://xmlns.com/foaf/0.1/>
>  SELECT ?s ?o
>  {
>   ?s a foaf:Person
>   SERVICE <http://example.org/sparql> {?s foaf:knows ?o }
>  }
>
>  This query, on the data above using BINDINGS, has two solutions:
>
>  [...]
> "
>
> --(this is where the BINDINGS query is missing)-->
>
> "
>  Next, the query planner, dispatches a constrained query with the these
> solutions for ?s to the external service endpoint <tt>
> http://example.org/sparql</tt>, using a BINDINGS clause.
>
>  Query:
>
>  PREFIX : <http://example.org/>
>  PREFIX foaf:   <http://xmlns.com/foaf/0.1/>
>  SELECT * {?s foaf:knows ?o } BINDINGS ?s {  (:a) (:b) (:c) }
>
>  This query, has the expected two solutions to the overall query:
>
>  [...]
> "
>
>
> Section 4:
> ----------
>
> *
> "We assume the following data on SPARQL endpoints (or graphs) about various
> projects in certain subject categories in the local default graph: "
>
> - better like this? ->
>
> "We assume the following data on various projects that contains information
> about SPARQL endpoints where data about these projects (using the DOAP
> vocabulary) can be queried from:"
>
> *
> "A SERVICE or GRAPH clause involving a variable is executed as a series of
> separate invocations of SPARQL query services. The results of each
> invocation are combined using union:"
> -->
> A SERVICE or GRAPH clause involving a variable can be executed as a series
> of separate invocations of SPARQL query services. The results of each
> invocation are combined using union:"
>
> "is executed sounds like we are prescribing a particular implementation?"
>
> *
> I think this section should - after the algebra is introduced -  get back
> to the example and show how it is mapped to the algebra.
> It seems that this is not trivial to define, particularly, if a query has
> more than one service request with variables. I would expect some informal
> text at least explaining something along the lines of "if the patterns can
> be reordered in a way such that respective bindings can be propagated" or
> alike. As it stands, I am afraid this section is too vague, even if it is
> marked as informative.
>
>
> Axel
>

Received on Monday, 1 August 2011 15:58:31 UTC