Page MenuHomePhabricator

Querying prohibited endpoint with SERVICE SILENT still produces an error
Closed, ResolvedPublic

Description

When querying prohibited endpoint, e.g.

SELECT * { SERVICE SILENT <http://bnb.data.bl.uk/sparql> { SELECT * { ?b1 ?n1 ?b2 } LIMIT 1 }    }

The error is still displayed. The standards say:

Queries may explicitly allow failed SERVICE requests with the use of the SILENT keyword. 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.

In the following query the SILENT keyword is present. If the remote SPARQL endpoint is not available because the SPARQL endpoint does not exist, it is down or it is not accessible the query will return a solution sequence of one empty solution mapping. If the SILENT keyword is not present, the query will stop and return the error.

This suggests if non-existing endpoint does not produce error, prohibited one shouldn't either.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Thanks for looking into this.

I found 5 other services that did fail silently with SILENT, but I think the URI for those is allowed.

Smalyshev triaged this task as Medium priority.Jun 21 2018, 10:18 PM

This is a tricky case because permissions are checked when parsing query, not when executing it. Needs some careful handling since parsing stage can not return results, and executing stage should still somehow deal with the endpoint even if it's prohibited.

Vvjjkkii renamed this task from Querying prohibited endpoint with SERVICE SILENT still produces an error to 0abaaaaaaa.Jul 1 2018, 1:04 AM
Vvjjkkii raised the priority of this task from Medium to High.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed a subscriber: Aklapper.
CommunityTechBot renamed this task from 0abaaaaaaa to Querying prohibited endpoint with SERVICE SILENT still produces an error.Jul 2 2018, 2:56 PM
CommunityTechBot lowered the priority of this task from High to Medium.
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot added a subscriber: Aklapper.
Smalyshev claimed this task.