resource identifiers
Ray Plante
rplante at poplar.ncsa.uiuc.edu
Wed May 21 07:22:32 PDT 2003
Hi RWGers,
With the concensus reached on the general architecture for registries
at the Interop meeting and the general progress on the RSM metadata,
it's a good time to settle how we will handle identifiers. Several of
us at the meeting reviewed the discussion we had on the list back in
February to try to restate what we came up with in terms of our latest
architecture. Below is a summary. If I managed to get this right,
I can go ahead and write this up as a real IVOA proposal.
First, some relevant items from the architecture:
* everything is a resource (organization, data collection, registry...)
* We have 3 types of registries:
Full -- contains all resource descriptions known to the VO
Data Centre/Publisher -- contains only those descriptions managed by
a data center (for harvesting only)
Local -- contains a specialized subset of descriptions
All three types may have the ability to accept registration of new
resources.
The primary purpose of a VO resource identifier is to serve as a
unique handle that can be given to a registry to get back a
description of that resource. You can also use an identifier to refer
to some fine-grained item, such as an image or catalog record--which
is not explicitly registered itself; for example, identifiers can be
used to refer to records in a catalog.
Here's an example of what the ID for a registered resource (say, an
SIAP service) will look like in an XML context:
<ResourceID>
<AuthorityID>ivo://www.ncsa.uiuc.edu/nvo/registry</AuthorityID>
<ResourceKey>ADIL/SIA/targeted</ResourceKey>
</ResourceID>
As an SIA implementer, I might want to provide an identifier for each
image matching an image query (even though the image is not itself
registered anywhere); such an ID could look like this:
<ResourceID>
<AuthorityID>ivo://www.ncsa.uiuc.edu/nvo/registry</AuthorityID>
<ResourceKey>ADIL</ResourceKey>
<RecordKey>95.DR.01.01.fits</RecordKey>
</ResourceID>
Thus, an ID is composed of up to three components:
* AuthorityID: a globally unique URI that identifies a registry.
- all such IDs begin with "ivo://". The "ivo" scheme signals
that the URI refers to a VO registry.
- It is recommended that the first field after the scheme be a
DNS name in a domain controlled by the registry maintainer.
This reduces the likelihood that two registries would have the
same ID.
- Often the URI will be easily converted to a URL (or base URL)
that can be used for retrieving descriptions from the
registry (e.g. substituting "http" for "ivo"); however, this
is not a requirement.
* ResourceKey: a string identifying the resource that is unique
within the publishing registry.
- This is ultimately the choice of the registry but may be a
combination of a name provided by the registrant and component
determined by the registry.
* RecordKey: a string identifying a component of a registered
resource. It is unique only with respect to the resource's
ResourceKey and within the context that it is being cited.
- This name is completely under the control owner of the
resource.
- The key need not be permanent. It may, for instance, refer to
an image cutout that does not permanently exist.
Alternatively, the item it refers to could be permanent (like
a record in a catalog) but the RecordKey is just a temporary
name used within a VOTable as part of a set of cone search
results.
- There is no guarantee regarding how long a RecordKey is valid.
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&recordKey=95.DR.01.01.fits
Did I get this right?
cheers,
Ray
More information about the registry
mailing list