Harry Halpin wrote:
On Thu, Nov 4, 2010 at 2:22 PM, Ian Davis <[email protected]> wrote:
Hi all,
The subject of this email is the title of a blog post I wrote last
night questioning whether we actually need to continue with the 303
redirect approach for Linked Data. My suggestion is that replacing it
with a 200 is in practice harmless and that nothing actually breaks on
the web. Please take a moment to read it if you are interested.
http://iand.posterous.com/is-303-really-necessary
In a purely personal capacity, I like the approach of just using 200,
i.e. with RDFa or whatever, rather than 303. If we want to
disambiguate URIs, the IRW ontology [1] offers a nice class called
"nonInformationResource" and "InformationResource" that one can use to
disambiguate. See this paper [2] on "an Ontology of Resources for
Linked Data" for a walk-through example.
My reasoning is not architectural, but simply efficiency. It is rather
inefficient to have a redirection in the form of a 303 if one can get
the same info without using 303.
Note that Microsoft's oData may one day be a serious competitor to
Linked Data, and if you asked many programmers and open data people
who are not already committed to RDF if they would use Atom + HTTP GET
and no redirects over RDF/XML and a weird 303 redirect, I think the
answer would be rather self-evident.
[1]http://ontologydesignpatterns.org/ont/web/irw.owl
[2]http://events.linkeddata.org/ldow2009/papers/ldow2009_paper19.pdf
Harry,
Whilst I agree with all your reasons and have also raised the odata
point myself on this list a few times, I can't agree that any kind of
ontology is going to help with this.
You see it's not about what we say, it's about what other say, and if 10
huge corps analyse the web and spit out billions of triples saying
that anything 200 OK'd is a document, then at the end when we consider
the RDF graph of triples, all we're going to see is one statement saying
something is a "nonInformationResource" and a hundred others saying it's
a document and describing what it's about together with it's format and
so on.
I honestly can't see how anything could reason over a graph that looked
like that.
However, I'm also very aware that this all may be moot any ways, because
many crawlers and HTTP agents just treat HTTP like a big black box, they
don't know there ever was a 303 and don't know what the end URI is (even
major browser vendors like chrome do this, setting the base wrong and
everything) - so even the current 303 pattern doesn't keep different
things with different names for /slash URIs in all cases.
Best,
Nathan