[OAI-implementers] Clarification on deleted records
Fri, 26 Apr 2002 15:36:47 -0400 (EDT)
I can't see a reply to this, apologies if these questions were already
On Wed, 10 Apr 2002, Leigh Dodds wrote:
> I'm not clear on the following wording in the specification, could
> someone clarify this for me?
> "When returning a harvested record or identifier of a record, the
> ListRecords and ListIdentifiers service requests may indicate a status
> of "deleted". This status means that an item has been deleted and
> therefore no record can be disseminated from it. The length of time
> that a given repository keeps track of deleted items is not defined by
> the protocol. Therefore, the only guaranteed method in the protocol
> for determining whether a record can be returned by a repository
> (its corresponding item still exists) is through the GetRecord service
> What I'm not sure about is why the only guaranteed method
> for determing whether a record can be returned is GetRecord.
> The second sentence (reading "This status...") notes that if
> the status is deleted, then no record can be returned. So we
> already have a definitive answer don't we?
GetRecord and ListMetadataFormats are the only ways to request
information about a specific item (they have identifier as an
If a repository does not keep track of 'deleted' items and change
the datestamp accordingly then nothing will show up in ListRecords
or ListIdentifiers when and item is deleted.
> Digging further I see that the GetRecord schema notes that a
> record *can* be returned with a deleted status -- which seems
> contrary to the above?
Yes, a <record> can be returned (if the repository keeps track of deleted
records), but no <metadata> block. The documentation really means
the <metadata> block when it says 'record' here.
> However if an identifer doesn't exist then no record will be returned in
> the GetRecord response.
> So is it the case that records for items with a deleted status will always
> be available (i.e. the metadata is can still be harvested) but
> after a period (determined by the archive) GetRecord may
> subsequently return no metadata.
For as long as a repository keeps a record of 'deleted' items, it can
return a <record> which has a <header> block but no <metadata> block. If,
after some period, it forgets about the item (stops keeping 'deleted'
status) then no <record> block will be returned.
(These concepts will be much better documented in v2.0 but the ideas
are not significantly changed.)
> Thanks in advance,