Searching Other Identifiers

[ moved to https://arctosdb.wordpress.com/documentation/catalog/#srch2 ]
Each specimen in Arctos receives a single catalog number, along with any number of identifying numbers, often referred to as "Other IDs." There are several ways, each with their own limitations, to search these numbers. The data available for searching vary wildly based on what collectors have recorded and what collections have entered. Some exploration is often involved in finding a particular set of specimens.

Catalog Numbers

Every specimen has exactly one catalog number. This number is used to form the URL to the specimen, and is the primary number (in conjunction with the collection identifier) which should be used by external resources (such as GenBank) to identify a specimen. See for example http://arctos.database.museum/guid/UAM:Mamm:19268, which has catalog number "19268." (See recataloging to change catalog numbers.) Catalog numbers are recorded as integers, although Arctos has the (unused) capability to include strings as prefix and suffix. Catalog numbers may be searched as integers ("1"), ranges ("1-4"), or lists ("1,3,4").

Other IDs

Along with catalog numbers, Arctos provides the capacity to attach any number of identifiers of various types to specimens.

Other Identifiers, like catalog numbers, have three components: A prefix, an integer, and a suffix. Individual collections define how these components should be used, acceptable values, and how data are to be entered, and these decisions affect what sorts of queries are possible. It is often not possible to deduce these rules and practices - contact us if you need help.

To get Other ID search, click More Options on the Identifiers pane of SpecimenSearch.


This will provide options to select Other ID Type and to provide an Other ID Number. (We generally use "number" in the sense of a license plate rather than an integer.) Additionally, you can choose whether the number is an exact match or a "contains" match. Exact match searches are case-sensitive.

It's often unclear what type of ID might have been assigned to a number, and the descriptions currently do little to clarify that problem. It is therefore possible (and often most practical) to search by the number component, entirely ignoring ID Type.


The above example finds all specimens with any type of identifier (except catalog number)
containing the string "123." As of this writing, that search returns 9330 specimens. Additional criteria, coupled with Arctos' sorting capability, is hopefully enough to find the specimen data of interest.

To get all search options, click Customize (near "Show More Options"), select a "My Other Identifier" (which will also then appear in results and on various forms), and choose "Show 3-part ID Search."


Click Close and the form will reload with total of eight search options. For this example, we'll use Collector Number. The simplest use case is to search for a string, here "1234":


This sends the query upper(customIdentifier.Display_Value) LIKE '%1234%' (display_value is a concatenation of prefix, number, and suffix). This returns specimens with Collector Numbers of:
  • ABC-1234-X
  • 1234
  • 1234567
regardless of how the data were entered and are stored. ("ABC-1234-X" could be entered as prefix="ABC-1234-X" or as prefix="ABC-", number="1234", suffix="-X"; "1234" could have been entered as a number or as a prefix.)

Changing the dropdown from "contains" to "is" will, of the above examples, return only "1234."

The "in list" option accepts a comma-separated list of values.


The above example sends SQL upper(customIdentifier.DISPLAY_VALUE) IN ('A','B','C'), and as of this writing returns three specimens:


The in range option works only for enforced-integer types of identifiers (currently only AF and NK). Attempting to use it for collector number will result in a datatype mismatch and return an error.

Three-part search to the rescue! (At least in the cases where data are entered correctly.) All of the above deal with the concatenation of prefix, number, and suffix. It is also possible to search these independently. Search for integer component=1234:


to send SQL customIdentifier.other_id_number = 1234.

This is a numeric match of the numeric part of other IDs. It will not find specimens which have the numeric information entered into prefix. This information is not available to public users, but is evident from the edit form. This specimen will NOT be found with the previous search!


Prefix and suffix work similarly. This search:


sends SQL AND upper(customIdentifier.other_id_prefix) LIKE '%A%' AND customIdentifier.other_id_number = 123 (note prefix is a CONTAINS match and is not case-sensitive) and returns these specimens: