W3C home > Mailing lists > Public > public-rww@w3.org > April 2012

Re: PUT and extensions

From: Toby Inkster <tai@g5n.co.uk>
Date: Wed, 25 Apr 2012 10:38:11 +0100
To: Henry Story <henry.story@bblfish.net>
Cc: Read-Write-Web <public-rww@w3.org>
Message-ID: <20120425103811.12d94a66@miranda.g5n.co.uk>
On Wed, 4 Apr 2012 19:04:25 +0200
Henry Story <henry.story@bblfish.net> wrote:

> If I PUT foaf.ttl
> should a GET foaf.rdf then succeed?

If you PUT foaf.ttl, there's no guarantee that GET foaf.ttl (sic!) will

Even if the server accepts and actions your PUT request, it may decide
to choose a different name for the resource than the one you wanted; or
it may be accepted and then promptly deleted before you GET it; or it
may be accepted, but require a higher authorization level than yours to

WWW::DataWiki has a list of supported extensions that it will recognise
in a URL - but these are essentially just shortcuts for assigning an
Accept header. (If you deviate from the supported list, you'll just get
a 404.)

You could:

	PUT /foo.ttl HTTP/1.1
	Content-Type: application/rdf+xml

	<rdf:RDF><rdf:Description rdf:about="" rdf:value="" /></rdf:RDF>

And you'd get a response like this:

	HTTP/1.1 202 Accepted
	Content-Type: text/turtle

	<> rdf:value "" .

(I'm ignoring namespace/prefix definitions here.) Why? Well, it makes
more sense if you "expand" the shortcut for the Accept header:

	PUT /foo HTTP/1.1
	Content-Type: application/rdf+xml
	Accept: text/turtle

	<rdf:RDF><rdf:Description rdf:about="" rdf:value="" /></rdf:RDF>

So it parses the RDF/XML in the body based on the Content-Type header;
creates or updates the resource "/foo"; and then serves a
representation of "/foo" as Turtle.

Toby A Inkster
Received on Wednesday, 25 April 2012 09:36:31 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:39:56 UTC