Eric,
http://purl.uniprot.org/uniprot/P12345 does not identify an RDF
resource, it represents our concept of some protein. There just
happens to be an RDF representation at
http://beta.uniprot.org/uniprot/P12345.rdf. But most of the concepts
we use do not (anytime soon...) have such a representation.
But returning a 200 code on "http://purl.uniprot.org/uniprot/P12345"
does not suggest the URI identifies a "concept". It suggests the
resource is an electronic resource and, otherwise, it creates confusion
under certain circumstances. For instance, if I want to make a comment
on your web page, say good job on
"http://purl.uniprot.org/uniprot/P12345"? How do people know if the
"good job" is made on the work of the HTML page or on the "concept" that
you intended to?
What I have done in "http://proteomicsportal.org" is to always 303 to a
resource depending on Conneg. If the request is for RDF, redirect to
the RDF page else an HTML page. IMHO, I think it would be nicer and
less confusing if you make "http://purl.uniprot.org/uniprot/P12345" a
skeleton and 303 redirect to either
"http://purl.uniprot.org/uniprot/P12345.html" or
"http://purl.uniprot.org/uniprot/P12345.rdf" depends on the value of
Accept header.
That's my two cents.
Xiaoshu