Interface FederatedService


  • public interface FederatedService
    FederatedService to allow for customized evaluation of SERVICE expression. By default org.eclipse.rdf4j.query.algebra.evaluation.federation.SPARQLFederatedService is used.
    Author:
    Andreas Schwarte, James Leigh
    See Also:
    org.eclipse.rdf4j.query.algebra.evaluation.federation.SPARQLFederatedService
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean ask​(Service service, BindingSet bindings, String baseUri)
      Evaluate the provided SPARQL ASK query at this federated service.
      org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> evaluate​(Service service, org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> bindings, String baseUri)
      Evaluate the provided SPARQL query at this federated service, possibilities for vectored evaluation.
      void initialize()
      Method to perform any initializations, invoked after construction.
      boolean isInitialized()
      Method to check if initialize() had been called.
      org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> select​(Service service, Set<String> projectionVars, BindingSet bindings, String baseUri)
      Evaluate the provided SPARQL query at this federated service.
      void shutdown()
      Method to perform any shutDown code, invoked at unregistering.
    • Method Detail

      • ask

        boolean ask​(Service service,
                    BindingSet bindings,
                    String baseUri)
             throws QueryEvaluationException

        Evaluate the provided SPARQL ASK query at this federated service.

         Expected behavior: evaluate boolean query using the bindings as constraints
         
        Parameters:
        service - the reference to the service node, contains additional meta information (vars, prefixes)
        bindings - the bindings serving as additional constraints
        baseUri -
        Returns:
        true if at least one result exists
        Throws:
        QueryEvaluationException - If there was an exception generated while evaluating the query.
      • select

        org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> select​(Service service,
                                                                                 Set<String> projectionVars,
                                                                                 BindingSet bindings,
                                                                                 String baseUri)
                                                                          throws QueryEvaluationException

        Evaluate the provided SPARQL query at this federated service.

        Important: The original bindings need to be inserted into the result.

         Expected behavior: evaluate the given SPARQL query using the bindings as constraints
         
        Parameters:
        service - the reference to the service node, contains additional meta information (vars, prefixes)
        projectionVars - The variables with unknown value that should be projected from this evaluation
        bindings - the bindings serving as additional constraints
        baseUri -
        Returns:
        an iteration over the results of the query
        Throws:
        QueryEvaluationException - If there was an exception generated while evaluating the query.
      • evaluate

        org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> evaluate​(Service service,
                                                                                   org.eclipse.rdf4j.common.iteration.CloseableIteration<BindingSet> bindings,
                                                                                   String baseUri)
                                                                            throws QueryEvaluationException
        Evaluate the provided SPARQL query at this federated service, possibilities for vectored evaluation.

        Contracts:

        • The original bindings need to be inserted into the result
        • SILENT service must be dealt with in the method

        Compare org.eclipse.rdf4j.query.algebra.evaluation.federation.SPARQLFederatedService for a reference implementation

        Parameters:
        service - the reference to the service node, contains information to construct the query
        bindings - the bindings serving as additional constraints (for vectored evaluation)
        baseUri - the baseUri
        Returns:
        the result of evaluating the query using bindings as constraints, the original bindings need to be inserted into the results!
        Throws:
        QueryEvaluationException - If there was an exception generated while evaluating the query.
      • isInitialized

        boolean isInitialized()
        Method to check if initialize() had been called.