On 17/10/12 06:14, Chime Ogbuji wrote:
> There is now a validator for GSP implementations listening here:
>
> http://metacognition.info/gsp_validation/gsp.validator.form
Progress report:
== EARL
Did I miss a way to get an EARL report? c.f. the protocol validator.
== The validator only tried 18 of 22 tests
Fuseki did not receive any multipart tests (which it does not implement)
(test 15 and the check 16)
I may never implement these because it conflicts with treating the graph
store itself RESTfully - i.e. POST of data means append to the store
(quads or triples)
== Rerunning the tests I got:
gsp.validator.run =>
[[
Internal Server Error
Server got itself in trouble
Error 500
]]
so then I lost the report at that point :-(
== Test 5 - "PUT - default graph"
A PUT to /ds/?default
failed
expected status 201, received 204 ()
?? The default graph always exists so it should never return 201 (created)
== Turtle content type:
The content type for Turtle is
Content-type: text/turtle; charset=utf-8
== Coverage
Are there no tests for graph= ?
PUTing via direct and GETting indirect, and vice versa, would good tests
to have.
== Empty graphs
Whether a graph store response 200 or 404 to an empty graph is best left
untested or at least documented in the tests - the same issues arise in
SPARQL Update.
A quad store might respond 404 to an empty graph or even always say 200
to any graph.
The only other option is to acknowledge that GSP forces choice of
implementation technology.
== Practical assumptions
This test was running with an experimental service that was processing
any protocol and any request. This is less secure (normal security
frameworks can't spot updates so easily - e.g. Apache Shiro).
I had to add /ds as the graph store as well. Fuseki does not support
graph store on "/" because it conflicts with serving up HTML pages.
Standard servlet dispatch by name gets confused and having to analysis
each request in the application is unnecessary work and make si thard to
integrate with other protocols (SPARQL protocol, plain old pages).
== What is the graph store?
(discussion point)
I was initially confused by GRAPHSTORE:
[[
$GRAPHSTORE$ is the path of the URL of the graph store
]]
but operations include:
PUT /person/1.ttl
so doesn't that mean GRAPHSTORE is fixed as "/person" or as "/" because
graphs named directly are within the naming tree of the graph store?
This is all a bit of problem because it is presuming how services are named
[[
Graph Store - A mutable repository of RDF graphs managed by one or more
services
]]
so the "graph store" does not a URI? only the services?
For Fuseki, the graph store and the services normally have different
URLs (it helps with security amongst other things).
For the tests, I was running with a all-purpose processor on the graph
store URL
Andy