Deprecated and replaced records

Deprecated records

A deprecated record i.e. a record with status Deprecated is a previously published record that is no longer recommended for use by the dataset administrator and is no longer actively managed. It may be an outdated term that should no longer be used or that an actor or object is a duplicate record to a better and more established record. Deprecated records are still fully accessible via API and user interface but should no longer be used or referred to within KulturNav.

  • The record is deprecated by a dataset administrator
  • An deprecated record can be "activated" again by changing its status to Published
  • KulturNav's API always returns both published and deprecated records in an unauthenticated request

Replaced records

A replaced record is an deprecated record that links to a better or more used or better established record as a replacement. The replaced record has a reference to another record in the property Replaced by (superconcept.replacedBy).

  • When you view a replaced record you are redirected to the replacement record (if you do not have write permission to the record)

Recommended Usage - Users

  • When linking to records within KulturNav - only link to published - not deprecated records
  • When cataloging, only use published authorities. Previously used records that have been deprecated since then should be invalidated so that they are not used in new cataloging.
  • Deprecated authorities should be replaced by a better replacement record in the collection management system

Replaced records via API

  • A redirect to the replacement record also occurs for all unauthenticated API calls.
  • A replaced record does not redirect to the replacement record when retrieving the record from a search result (api/search, api/core, and api/summary) or during a listing (api/list).

There are three methods to see if a record is replaced:

  1. Ensure that you retrieve records without allowing redirects ("allow_redirects=False"). If the superconcept.replacedBy element exists in the returned data, the record is replaced and the UUID of the replacement record is then in superconcept.replacedBy.value.
  2. View the response history of the replaced record: It indicates with http 303 that a redirect has been performed to the replacement record (which in other words is returned via the request).
  3. Look at the record being replaced. There are references to the records it replaces in the property Replaces (superconcept.replaces).

Recommended Usage - API

  • Retrieve only published records in real-time calls to, for example, search and retrieve values for listing. This is done by adding the status filter to the request: superconcept.status:853a2d84-5b2b-11e2-bcfd-0800200c9a66
  • When your KulturNav data is synchronized and you retrieve updated information, make sure to read all records and handle deprecated and replaced records with your own logic:
  • Deprecated records should be made invalid.
  • Replaced records should retrieve the replacement record to the lists and make the deprecated record deprecated.