That's by design (invalid input == error message, partially-invalid input == invalid input). The only thing the SADI spec has to say about errors is that you have to return an HTTP error code, but that's enough so that it's difficult to return a partial response (the closest thing is maybe HTTP 207, but that's not strictly part of HTTP, but rather the WebDav extension…)
When we get around to implementing multi-part requests and responses (there are some earlier messages in this group about that), the correct approach will possibly be clearer, though we can still only have one HTTP response code. I am open to suggestions as to how to deal with that and still remain true to the published SADI spec.
Cheers,
Luke
> <sample_input_ednft2.rdf>
Also, more information is probably never bad. Jim's solution is behaviour-ly equivalent to just ignoring the error and not sending any output (from the client API, unexpected data is the same as no data at all unless the vocabularies overlap, which will probably not happen by accident), but has more information if anyone happens to be looking for it. If there's some standard vocabulary for describing errors in RDF, so much the better.
Right, but no more or less useful than anything proposed here (beyond the current pass-or-fail dictated by the spec, I guess). I don't think that means it's useless to be having the discussion, though. If consensus emerges here, we can build support into the clients/API/spec.
Also, more information is probably never bad. Jim's solution is behaviour-ly equivalent to just ignoring the error and not sending any output (from the client API, unexpected data is the same as no data at all
unless the vocabularies overlap, which will probably not happen by accident), but has more information if anyone happens to be looking for it. If there's some standard vocabulary for describing errors in RDF, so much the better.
Yes, unless you postulate in the spec that error message data is always expected as if the corresponding error description class is attached with a disjunction to the input class definition. Then some client programs can process the error messages properly.
We probably don't need to go any further than state that a node with an error has a class that is disjoint from the output class (On Tue, Mar 27, 2012 at 11:21 PM, Alexandre Riazanov <alexandre...@gmail.com> wrote:
Yes, unless you postulate in the spec that error message data is always expected as if the corresponding error description class is attached with a disjunction to the input class definition. Then some client programs can process the error messages properly.
not input, the node is already supposed to belong to the input class), and that the output instance has an rdfs:label with a specific short error message, a dc:description with a longer error message, and an rdfs:comment with technical details.
The service description can then be extended to include potential error classes. Any instances that belong to that error class have not been processed successfully. This won't introduce any new semantics, the service can use whatever error hierarchy it likes, and the client can figure out what went wrong pretty easily
and know what to show the user, if that's needed. If the service wants to provide additional details, it can do so as part of the exception class definition.
Jim--
Jim McCusker
Programmer Analyst
Krauthammer Lab, Pathology Informatics
Yale School of Medicine
james.m...@yale.edu | (203) 785-6330
http://krauthammerlab.med.yale.edu
PhD Student
Tetherless World Constellation
Rensselaer Polytechnic Institute
mcc...@cs.rpi.edu
http://tw.rpi.edu
How is this better than just having a fixed class for error descriptions?
Where do you state the disjointness of the classes? Are clients required, in general, to infer
the disjointness?
--
You received this message because you are subscribed to the Google Groups "sadi-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sadi-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.