[DAS2] [Bug 1806] New: When should DAS/2 URLs end with a '/'?

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Fri May 27 06:05:19 UTC 2005


           Summary: When should DAS/2 URLs end with a '/'?
           Product: BioDAS
           Version: 2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Spec - GET Requests
        AssignedTo: das2 at portal.open-bio.org
        ReportedBy: dalke at dalkescientific.com

Consider the following


Which is to be preferred?  Should one be required
to redirect to the other and if so, which way?

I waver between the two.  One the one hand, the 
first grouping makes it easier to understand it
when parameters are passed to the URL.


By comparison, the following looks strange, though


I did some research on this.  One site says

The one standout thing about "/" when compared with the other separators, is that has a special 
meaning in the context of relative and base URI processing.

Relative URI are only relative because they are hierarchical. That is, "/wow/gee" is a relative URI, but 
when grounded to a base URI of;

yields an absolute URI of;

This suggests that URI publishers should be concerned about whether their URI end in "/" or not. If the 
URI might ever be used as a container, it should end with "/". This also suggests that the relationship 
between a URI with a terminating slash, and the same URI without the terminating slash, is also nothing 
more than that same non-specific hierarchical relationship.


In that case we should be using '/' for most of the URLs.

A problem comes in with subregions to a region.  When does a
subregion name end with a '/'?  Eg, if the following exists
(assuming there are no children under 128)


then what about


On a system with writeback support will someone ever be able
to create a sub-part?  I assume not.

Similarly, the following would not be appropriate

because there's always the chance of selecting a range from it

This is an ambiguity in the PUT spec as well.  Consider
one lock request section which specifies


and another which specifies

 POST http://dev.wormbase.org/das/genome/volvox/1/feature/?lock=xyzzy

My current belief is:
  - all of the namespaces ("sequence/", "region/", "feature/", ...)
     must end with a "/".  This means we will have URLs like

  - the assembly will not change for a given version so we
     specify that anything with a subregion must be referenced
     with a '/' and the server must redirect names that are
     missing the '/'.  Terminal regions must not end with a '/'.

  - Terminals (the actual feature, lock, etc.) must not end
      with a '/'.

The odd one out is the .../sequence/ namespace.  Is


ever allowed, given that clients may use


Note, btw, that sequence/ ranges are one of the few parts of the DAS spec
which is not REST-ful, because it violates the idea that URLs
are opaque to the client, excepting for '?' query parameters.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

More information about the DAS2 mailing list