ARQ will serialize the calls and may in fact make many calls for each
SERVICE clause depending on preceding bindings in the queries at that
point e.g.
SELECT *
WHERE
{
?s a <some-type>
SERVICE <some-endpoint> { ?s <some-predicate> ?value }
}
Since part of that query is on your local data and occurs first in the
query (both as written and as algebra because remember SPARQL is bottom up
evaluation and ARQ will evaluate the LHS of the join first) ARQ will first
gather things matching the ?s a <some-type> pattern and then use those
solutions to create multiple queries to the endpoint where ?s is
substituted for each possible value
This is often a better execution strategy than blindly sending the remote
query and hoping the results returned (which may be subject to endpoint
limits) actually match the local results.
Rob
On 4/24/12 10:43 AM, "Diogo FC Patrao" <[email protected]> wrote:
>Hello
>
>I wrote a SPARQL query with two Service clauses, to get information from
>two different endpoints. Will ARQ query both endpoints simultaneously? Or
>will it serialize the calls?
>
>I'm almost certain it won't paralelize, but you never know...
>
>Thanks!
>
>--
>diogo patrĂ£o