About the URLs to access objects, it's really a matter for each
DSpace UI webapp to implement, isn't it?  I think it's important to
include a pathname component to introduce the encoded(*) object-URI,
however, just to protect against namespace collisions -- e.g. what if
the UI design had one of its own URLs starting with "doi"?

How about the word "resource" to introduce the URI, since it is, after
all, a reference to a resource -- the "R" in URI.  It'd be:

 <prefix>/resource/<encoded-URI>  e.g.

 http://dspace.me.ac.uk/resource/hdl/1234/56

This follows the proposal to encode the URI by tearing off the scheme
and putting it in a separate pathname element to avoid issues over
quoting the ":".  Note that I propose using the actual scheme label
in the URL rather than a user-friendly label, e.g. "hdl" rather than "handle".

Re special characters and quoting: I agree with James' original point that
the HTTP URL spec has quoting rules for just this reason, but from a
practical point of view, the client and server implementations have a lot
of bugs in this area.  That's what I discovered implementing WebDAV for
the LNI: it wasn't worth trying to encode a slash (/) in a URL, e.g.
within a Handle, because it would just get stomped on differently by
the different clients.  Better to let it get used literally as a
path element separator and make the servlet clever enough to figure it out.
Also, construct the servlet's URL so the whole path after a certain
point is part of the object URI, e.g. the Handle.

Also note that the transformation from object URI to the actionable
URL is reversible -- we can pull the URI's scheme and path right out
of the URL and put it back together unambiguously.  I think  it's
essential to have one unambiguous transformation for all URIs.

> > 3) Including special characters in the URL string doesn't seem like a
> > good idea.  While they are valid characters, it does take extra
> > processing to encode/decode them from layer to layer.  Why not just
> > leave the URL alone or change /handle to something like /uri, /id, or
> > /pid?  Why encode the PI system into the URI?
>
> As I mention on the wiki, my current idea is to have URLs of the form:
>
> http://dspace.me.ac.uk/uri/hdl:1234/56
>
> which will resolve to the object with Handle 1234/56, etc. If the
> object also has a DOI with value 7890/12 then the following URL would
> point to the object as well:
>
> http://dspace.me.ac.uk/uri/doi:7890/12
>
> It is necessary to include the "hdl:" and "doi:" parts so we can
> distinguish between different persistent identifier mechanisms. The
> values allowed for the persistent identifier are dependent on the
> mechanism we are dealing with, and as far as possible this will be kept
> simple.

    -- Larry


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to