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