Andy Seaborne wrote:
> SERVICE SILENT may be what you are looking for.  Strictly, this is
> continue (with no results) if any part fails but in ARQ, in normal
> usage, it is applied to each service request.
> 
> See QueryIterService.

Thank you Andy (I forgot about SILENT... never used it before)

Pointers for me (in the future, when I'll search for this):

 "The SILENT keyword indicates that errors encountered while accessing
  a remote SPARQL endpoint should be ignored while processing the query.
  The failed SERVICE clause is treated as if it had a result of a single
  solution with no bindings."
  --http://www.w3.org/TR/sparql11-federated-query/#serviceFailure

QueryIterService.java is here:
https://svn.apache.org/repos/asf/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/engine/main/iterator/QueryIterService.java

QueryIterator qIter ;
try {
    qIter = Service.exec((OpService)op, getExecContext().getContext()) ;
} catch (RuntimeException ex)
{
    if ( silent )
    {
        Log.warn(this, "SERVICE: "+ex.getMessage()) ;
        return QueryIterSingleton.create(BindingFactory.binding(), 
getExecContext()) ;
    }
    throw ex ;
}


Paolo

Reply via email to