pathquery support for owner and site subsetting
Need support in the query system for the client to specify a single user or list
of users to restrict query results. This allows a 'data browse' type of
functionality in the metadata system, and allows a user to easily find his or
her data more readily.
Similarly, need to be able to subset based on the 'site' used for the metadata
id (docid) so that a given site can display only their metadata. This is useful
for sites like OBFS or NRS or MARINE to have a site specific catalog listing
even though the metadata could be stored in a multisite catalog.
Updated by Matt Jones about 22 years ago
Modified pathquery.dtd and QuerySpecification to allow some new constraints
on queries submitted to Metacat. Now, queries can contain an optional
set of <owner> tags that identify the users for which documents should be
returned, and a list of <site> tags constraining the site identifiers
(from the accesion number) of returned datasets. For example, for a
pathquery document that contained the XML fragement:
only documents owned by jones and with an accession number whose scope
was the string 'MARINE' (ie, global part of the ID) would be returned from
the query. This allows us to have site specific catalogs for the MARINE
network, the NRS network, the OBFS network, etc.
Modified the various XSL and HTML forms from the MARINE catalog to utilize
this parameter and only display documents with a scope of 'MARINE'.
Changed the accession number separator to '.' (it used to be ':'). This is
more in agrrement with other systems like Genbank. Because of the replication
mechanism that berkley is developing, we will probably need to mandate the use
of a single accession number format. Right now it will likely be:
where "scope" is the name of the site or group responsible for the accession
number domain, "uniqueid" is the unique identifier within that domain, and
"revision" id is the revision number for a particular document. The combined
accession number is, by definition, globally unique (no two documents can be
inserted with the same "scope.uniqueid.revisionid".