I've been working on getting a DSpace instance up with RDF exposed.
Its been fairly successful at this point and I can navigate the
contents with tools like Tabulator.
I want to bring to question my URIs and get advice on the way I'm
identifying things...
For any one Community, Collection or Item in DSpace; I.E.
http://dspace-test.mit.edu/handle/1721.1/36383
I have a resolvable RDFXML instance...
http://dspace-test.mit.edu/metadata/handle/1721.1/36383/rdf.xml
I set the rdf instance in the header of the html version and allow
for 303 redirects to it when Accept headers dictate it possible.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="meta" href="/metadata/handle/1721.1/36383/rdf.xml" />
<link type="application/rdf+xml" rel="alternate" href="/metadata/
handle/1721.1/36383/rdf.xml" />
At the moment all my resources in rdf are identified by the "rdf.xml"
url.
<rdf:RDF ... >
<rdf:Description rdf:about="http://dspace-test.mit.edu/metadata/
handle/1721.1/36383/rdf.xml">
<dc:creator>Abelson, Harold</dc:creator>
<dc:creator>Zittrain, Jonathan</dc:creator>
...
</rdf:Description>
</rdf:RDF>
But when it comes to encoding ORE aggregations (named graphs), they
are very restrictive that the aggregation have a URI like...
<rdf:RDF ... >
<rdf:Description rdf:about="http://dspace-test.mit.edu/metadata/
handle/1721.1/36383/rdf.xml">
<dc:creator>Abelson, Harold</dc:creator>
<dc:creator>Zittrain, Jonathan</dc:creator>
<ore:describes rdf:resource="http://dspace-test.mit.edu/metadata/
handle/1721.1/36383/rdf.xml#aggregation"/>
</rdf:Description>
<rdf:Description rdf:about="http://dspace-test.mit.edu/metadata/
handle/1721.1/36383/rdf.xml#aggregation">
<ore:aggregates rdf:resource="...."/>
<ore:aggregates rdf:resource="...."/>
</rdf:Description>
</rdf:RDF>
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"...
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>
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?
-Mark
~~~~~~~~~~~~~
Mark R. Diggory - DSpace Developer and Systems Manager
MIT Libraries, Systems and Technology Services
Massachusetts Institute of Technology