From SPARQL Working Group
> Most triple stores in some way or another have to deal with complex queries that cannot be resolved or just partially resolved. > > I just had a look at > http://www.w3.org/TR/2012/WD-sparql11-http-rdf-update-20120501/#status-codes > > I think that section 5.1 can be extended with the following status codes: > > Partial Content 206 > (partial content is returned by query, but this is not a complete result) > > Request Time out 408 > (no able to generate any results in the given time or to process the query) > > Request Entity Too large 413 > (when the query is too expensive to be processed)
After discussing your comment, the Working Group doesn't think the suggested codes are appropriate for the situations you describe. For example, Partial Content 206 is meant for response to a byte range operation that specifies a single range of bytes to address within the entity which does not readily translate to the situation in this protocol where the entity is a sequence of bytes in an RDF document.
However, we have attempted to clarify that *any* HTTP status code can be used as long as it makes sense to do so per [RFC 2616]. The current specification says (in 5.1 Status Codes):
implementations MUST include a status code [RFC2616] appropriate for the operation indicated and the result from invoking the operation
We will update that section with text from the SPARQL protocol, so it reads:
Implementations MUST use the response status codes defined in HTTP [RFC2616] to indicate the success or failure of an operation. Developers should consult the HTTP specification [RFC2616] for detailed definitions of each status code.
We would be grateful if you would acknowledge that your comments have been answered by sending a reply to this mailing list.
Regards, Chimezie Ogbuji, on behalf of the SPARQL WG.