On Jun 21, 2011, at 11:07 AM, Carlos Buil Aranda wrote:
> Hi all,
>
> I updated the manifest.ttl in the service tests using Greg's proposal for action 482.
I have a question about test :service6. The manifest has this:
:service6 rdf:type mf:QueryEvaluationTest ;
mf:name "SERVICE test 6" ;
dawgt:approval dawgt:NotClassified ;
mf:requires mf:BasicFederation ;
mf:action [
qt:query <service06.rq> ;
qt:data <data06.ttl> ;
qt:serviceData [
qt:endpoint <http://example1.org/sparql> ;
qt:data <data06endpoint1.ttl>
] ;
qt:serviceData [
qt:endpoint <http://invalid.endpoint.org/sparql> ;
qt:data ""
]
] ;
mf:result <service06.srx> .
I'm not sure how I'm meant to interpret the string literal value for qt:data on the "invalid" endpoint. Since this test seems to be testing the SERVICE SILENT operation (for endpoints that don't exist or don't respond), I'd prefer some more explicit way to indicate that <http://invalid.endpoint.org/sparql> is an endpoint mentioned in the query but that it is intended for that endpoint to not actually exist (for the purposes of the test).
As it is now, I'd think the two reasonable interpretations of { :service6 qt:data "" } would be to either throw an error (expecting an IRI for the data but finding a literal), or ignoring the literal and setting up a mock endpoint at that address with no data in it. Neither of these will result in the expected behavior.
I think the best way forward would either be to come up with some new syntax for indicating an endpoint that is used in the query but that is not meant to participate in query evaluation, or two simply remove that serviceData block and let the test harness notice that the query mentions an endpoint that wasn't described in the manifest.
Thoughts?
thanks,
.greg