Class ExecOpMultiRequest

All Implemented Interfaces:
StatsProvider, ExecutableOperator, NullaryExecutableOp

public class ExecOpMultiRequest extends NullaryExecutableOpBase
Issues the same request (same query pattern) at multiple federation members and processes their respective responses, all in parallel. Every solution mapping obtained via each such response is extended with a binding for the given service variable and, then, passed on to the output. Specifically, the service variable is assigned to the service URI of the corresponding federation member.

In cases in which the query pattern of this request mentions the service variable, the implementation checks that the solution mappings obtained via a response bind this variable to the service URI of the federation member from which the response was received. As an additional optimization, to avoid even receiving the solution mappings that will be filtered out by this check, the implementation tries to add the following member-specific FILTER condition into the requests (which is possible only for federation members that support requests with FILTER conditions; e.g., SPARQL endpoints):

(! BOUND(?s)) || (?s = _uri_)

where ?s is the service variable and _uri_ is the service URI of the federation member.