On Apr 3, 2008, at 10:42 AM, Richard Cyganiak wrote:

Mark,

On 3 Apr 2008, at 17:44, Mark Diggory wrote:
My question is, When referring to a thing in DSpace I'd like my URL's to be Cooler. I'd like to be able to use them as my resource id's, I got allot of Pushback for doing this by some in the ORE community because they expect the URI to point at actual RDF instances, not accidentally resolve the "real existing content"...

HTML and RDF/XML are just two different document formats. Claiming that one is the “real existing content” while the other is just “metadata” is silly in my eyes, this is being stuck in a pre-Web mindset. HTML and RDF/XML are just different formats for encoding the same information.

That made my day. Yes, working in a library group, my mind is often trapped between these two extremes... Especially with working with tools where others make such strong assumptions about a "thing" being the same as its representation.

But to take this to the point of describing an actual "file", if I have a file (lets say a pdf) at /path/too/my.pdf and I'm using content negotiation... I suppose I could have a unique rdf representation for that pdf that describes it, then /path/to/my.pdf would return that rdf to rdf browsers. But what if I'm asking the browser to also render the pdf? then the Accept header needs to adjust to negotiate only the pdf.

Serving different document formats from the same URI (content negotiation) has been a feature of the basic Web protocols for many, many years.

And with that and the Semantic Web effort, seems that if OAI-ORE is about being able to encode descriptions of complex composite digital objects, they best account for content negotiation in their spec.


Because I feel this is a description of that resource, not a description of a description of the resource. I'd like to be able to say...

<rdf:RDF ... >
<rdf:Description rdf:about="http://dspace-test.mit.edu/handle/ 1721.1/36383">
       <dc:creator>Abelson, Harold</dc:creator>
       <dc:creator>Zittrain, Jonathan</dc:creator>
<ore:describes rdf:resource="http://dspace-test.mit.edu/handle/ 1721.1/36383#aggregation"/>
   </rdf:Description>
<rdf:Description rdf:about="http://dspace-test.mit.edu/handle/ 1721.1/36383#aggregation">
       <ore:aggregates rdf:resource="...."/>
       <ore:aggregates rdf:resource="...."/>
   </rdf:Description>
</rdf:RDF>

This looks good to me.

But, doing this requires that the tool resolving be crossing 303 redirects or parsing HTML and extracting the location of the RDF from there, otherwise they always resolve to the HTML rather than the RDF whenever attempting to follow the URI. Can anyone recommend what a best practice would be in this case?

Not sure I understand the problem. RDF-aware tools need to send a proper Accept header anyways or they won't get any RDF out of many Semantic Web sites. And practically all Web tools follow redirects transparently unless you explicitly tell them not to.

I would actually propose this slightly different setup:

/handle/1721.1/36383 serves either HTML or RDF/XML, based on the Accept header (content negotiation), directly without a redirect.

Yes that can be done.

/handle/1721.1/36383.html serves only HTML.

/handle/1721.1/36383.rdf serves only RDF/XML.

We currently have a special path for representations because the / handle/ space is rather controlled in our application...but

/metadata/handle/1721.1/36383.html
/metadata/handle/1721.1/36383.rdf
/metadata/handle/1721.1/36383.xxx

should be workable for the moment. Eventually, hoping we do get to reusing the same namespace to serve out the different representations...


This is the approach described here: http://www.w3.org/TR/cooluris/ #hashuri .

Thanks, it looks to be a good resource.

-Mark

~~~~~~~~~~~~~
Mark R. Diggory - DSpace Developer and Systems Manager
MIT Libraries, Systems and Technology Services
Massachusetts Institute of Technology






Reply via email to