[DAS] [DAS2] [Fwd: Re: Writeback implementation]

Garret Wilson garret at globalmentor.com
Wed Oct 29 22:43:17 UTC 2008


Forgive me if I seem like I'm splitting hairs a bit here, but it may 
help to clear some of this up.

As RFC 3986 clarifies, there is no such thing as a "relative URI". All 
URIs are "absolute"---i.e. they start with a scheme.

There are, however, "URI references" which may be "URIs" (with a scheme) 
or "relative references". Relative references are a way to take 
advantage of the hierarchical nature of many URIs and store a shortened 
form of the URI in relation to some base URI---but they are not URIs.

The only way to tell if a URI reference is a URI or a relative reference 
is to check for ':', which indicates a URI scheme. Therefore, relative 
references may not have the character ':' within their first path 
segment. But that's not a problem---you can simply prefix the relative 
reference with "./"; thus, the ID "21:26029715,26029814" can easily be 
used as a relative reference in the form "./21:26029715,26029814". 
Again, this is not a URI---to create a URI, you have to resolve this 
relative reference against some base URI.

See RFC 3986 Sections 1.2.3. and 4.1.

Garret

Gregg Helt wrote:
> Sorry for being imprecise about URIs, what I meant to say was that every
> feature in DAS/2.0 has a unique _absolute_ URI.  Most IDs can be treated as
> relative URIs but not absolute URIs, and referring to relative URIs is not
> particularly useful outside their context.
>
> Furthermore technically not all arbitrary ID strings can actually be
> relative URIs either.  I thought this was mostly a theoretical issue until
> my Trellis/Ivy DAS1-->DAS2 proxy choked on such a case on only the third
> DAS1 data source I was testing,
> http://www.ebi.ac.uk/das-srv/genomicdas/das/batman_CD4.  It returns features
> that derive their IDs from their genomic location, like
> "21:26029715,26029814".  Which can't be any form of URI, because according
> to the URI syntax spec <http://tools.ietf.org/html/rfc3986> the appearance
> of the colon before any forward slash means the "21" should be treated as
> the URI scheme, but the scheme can't have a digit as the first character.
> This isn't just a rare instance either -- I count at least sixteen data
> sources like this (probably more) on ProServer servers for the latest human
> genome assembly alone.  On a side note, I'm not sure if these IDs are legal
> DAS1.53 feature IDs either, since many of them will not be unique within
> their DAS server, and depeding on how you interpret the 1.53 spec the colon
> may not be a legal ID character.
>
> The Trellis/Ivy proxy now deals with these cases, but checking each ID to
> see if it's a legal URI, and figuring out what to do if it's not, is
> definitely adding some performance overhead to the proxy.
>
> This also points to the need for better validation of server responses,
> preferably as enhancements to the validation that the DAS1 registry already
> does.  I doubt if the current DAS2 validator would catch these kinds of
> things either.
>
> I'll chime in with my opinion on the other issues you raise in another
> email...
>
>      Gregg
>
> On Wed, Oct 29, 2008 at 12:04 PM, Andy Jenkinson
> <andy.jenkinson at ebi.ac.uk>wrote:
>
>   
>> The difference between an ID and a URI is not so great, any ID can be a URI
>> if we refer to the URN definition.
>>     
> _______________________________________________
> DAS2 mailing list
> DAS2 at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/das2
>   



More information about the DAS mailing list