resource identifiers

Tony Linde ael at star.le.ac.uk
Fri May 23 02:54:18 PDT 2003


Talking to myself, now...

Just one thought: do we really need to include the <scheme>:// (ivo://) in
the <AuthorityID> part of the resource id? The whole context of the id is
within the VO environment and the <authority> ought to uniquely identify the
issuing registry so ivo:// seems redundant.

Cheers,
Tony. 

> -----Original Message-----
> From: Tony Linde [mailto:ael at star.le.ac.uk] 
> Sent: 23 May 2003 09:17
> To: registry at ivoa.net
> Subject: RE: resource identifiers
> 
> 
> The '?', '&' and '=' were chosen to make the URI conform to 
> the IETF standard (http://www.ietf.org/rfc/rfc2396.txt).
> 
> I've just been re-reading the standard and I think we *do* 
> need to change the coding of the single string - but not in a 
> way that Roy will like :( 
> 
> The URI syntax is:
>   <scheme>://<authority><path>?<query>
> where <scheme>://<authority><path> is the unique identifier 
> for a resource and <query> is 'a string of information to be 
> interpreted by the resource'.
> 
> In this case, I'd like to propose the following changes to 
> Ray's document:...
> 
> ==============================================================
> ==============
> ===
> The **unique ID for a resource** is:
> 
> <ResourceID>
>   <AuthorityID>ivo://www.ncsa.uiuc.edu/nvo/registry</AuthorityID>
>   <ResourceKey>ADIL/SIA/targeted</ResourceKey>
> </ResourceID>
> 
> But to make this a single string, we use the 
> <scheme>://<authority><path>, where <authority> is the 
> <AuthorityID> and <path> is the <ResourceKey> (but catenated 
> so that they are only ever separated by a single '/'). The 
> above ID would become:
>   ivo://www.ncsa.uiuc.edu/nvo/registry/ADIL/SIA/targeted
> 
> Note: *within* the authority (ie the registry), <path> can be 
> used on its own as a unique id.
> 
> If the resource has subcomponents, the unique ID becomes:
> 
> <ResourceID>
>   <AuthorityID>ivo://www.ncsa.uiuc.edu/nvo/registry</AuthorityID>
>   <ResourceKey>ADIL/SIA/targeted</ResourceKey>
>   <Query>
>     <p1>95.DR.01.01.fits</p1>
>     <p2>wibble</p2>
>   </Query>
> </ResourceID>
> 
> where everything within the <Query> structure is *resource 
> specific*, so it can have zero, one or more tags. 
> 
> To create a single string from this, we use the standard 
> construct with '?', '&' and '=' characters, so the above 
> structure would become:
> 
>  
> ivo://www.ncsa.uiuc.edu/nvo/registry/ADIL/SIA/targeted?p1=95.D
> R.01.01.fits&p
> 2=wibble
> 
> Or for a resource which only had a single query component, eg:
> 
> <ResourceID>
>   <AuthorityID>ivo://www.ncsa.uiuc.edu/nvo/registry</AuthorityID>
>   <ResourceKey>ADIL/SIA/targeted</ResourceKey>
>   <Query>
>     95.DR.01.01.fits
>   </Query>
> </ResourceID>
> 
> the string would be:
>   
> ivo://www.ncsa.uiuc.edu/nvo/registry/ADIL/SIA/targeted?95.DR.0
> 1.01.fits
> ==============================================================
> ==============
> ===
> 
> This does not solve Roy's problem but the above is according 
> to the standard and to accepted use of that standard and I 
> don't think we should mess with it.
> 
> If the OAI cannot cope with the above (eg by escaping the problematic
> characters) then we need to look elsewhere for a harvesting 
> standard. Personally, I'd prefer an xml document-based and 
> web services oriented means of querying which would avoid the 
> OAI GetRecord problem.
> 
> Cheers,
> Tony. 
> 
> > -----Original Message-----
> > From: Roy Williams [mailto:roy at cacr.caltech.edu]
> > Sent: 23 May 2003 00:05
> > To: Ray Plante; registry at ivoa.net
> > Subject: Re: resource identifiers
> > 
> > 
> > > There will be many cases when one will want to refer to a
> > ResourceID
> > > as a single URI (such as in an OAI record).  In general,
> > this will be
> > > done using the following syntax:
> > >
> > >    <AuthorityID>?resourceKey=<ResourceKey>&recordKey=<RecordKey>
> > >
> > > That is, for the above two examples,
> > >
> > >    
> > ivo://www.ncsa.uiuc.edu/nvo/registry?resourceKey=ADIL/SIA/targeted
> > >
> > ivo://www.ncsa.uiuc.edu/nvo/registry?resourceKey=ADIL&recordKe
> > y=95.DR.01.01.
> > fits
> > -------------------------------------------------------------------
> > Ray
> > 
> > I have been trying to make my OAI registry compliant with
> > this identifier scheme, but it doesn't work because there is 
> > "=" and "&" in the identifier.
> > 
> > Why this is bad:
> > In the OAI protocol, there are times where the identifier is
> > used as an argument. So look at this example, which does 
> > GetRecord in Dublin Core skin for the data collection called "adil".
> > 
> > Example: http://mercury.cacr.caltech.edu/cgi-bin/OAI-XML/nvo/oai.pl?
> > verb=GetRecord&
> > identifier=ivo://mercury.cacr.caltech.edu/OAIprototype?resourc
> > eKey=dc-adil&
> > metadataPrefix=oai_dc
> > 
> > But it doesn't parse right because there is an equals sign
> > "=" in the identifier itself. There is a token that looks 
> > like key=value=value.
> > 
> > Please can we have an identifier syntax which has neither "&"
> > nor "=" in it?
> > 
> > Suggestion:
> > Can we use colons instead?
> > ivo://www.ncsa.uiuc.edu/nvo/registry:ADIL/SIA/targeted
> > ivo://www.ncsa.uiuc.edu/nvo/registry:ADIL:95.DR.01.01.fits
> > ivo://mercury.cacr.caltech.edu/OAIprototype:dc-adil
> > 
> > Roy
> > 
> 




More information about the registry mailing list