This is an old revision of the document!
The following is a summary of the syntax guidelines for the IGSN:
Unlike many other persistent identifiers, an IGSN is used not only used by machines but also needs to be handled by humans. The labeling of sample containers prescribes a limit to the number of characters that fit on a label. Also, IGSNs in lists and tables will often need editing by humans. Long character strings increase the risk of mistypings. To reduce the risk of mistypings, the IGSN is case insensitive and we recommend to limit the length on an IGSN to nine characters1) and to avoid characters that can easily be confused, such as ‘1’ and ‘I’, or ‘0’ and ‘O’.
Using ABNF notation the syntax proposed syntax for an IGSN is:
<IGSN> = <Namespace><Code> <Namespace> = mUPPER (an m character code denoting the namespace) <Code> = nCHAR (a n character code) UPPER = %x41-5A (A-Z) DIGIT = %x30-39 (0-9) CHAR = UPPER / DIGIT / "-" / "." reserved = ":" / "/" / "?" / "#" / "[" / "]" / "@" / "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "_" / "~"
The Allocating Agent ensures that the n-character code is unique within their namespaces. (see also IGSN namespace governance)
Characters a-z and A-Z in the IGSN string are case insensitive (e.g. ABC is identical to AbC). It is recommended to use upper case characters in all cases.
Characters that may be confused with digits should be avoided (I = %x49, O = %x4F, i = %x69, o = %x6F)
The resolvable handle URI of an IGSN is made up of three components: a resolving service (http://dx.doi.org or http://hdl.handle.net), the IGSN Handle prefix 10273, and the IGSN, separated by a forward slash.
IGSN e.V., Allocating Agents and academic publishers ask authors to tag IGSNs in their manuscripts. This will enable publishers to link the IGSN number to the respective samples sample when the paper is published online. To tag an IGSN, please use the syntax
IGSN: <IGSN>
In a journal article or manuscript a sample identified by IGSN SSH000SUA may look like this (tagged IGSN):
IGSN: SSH000SUA
Tagging IGSNs in manuscripts in this way allows publishers to automatically link samples identified by IGSN to their respective descriptive pages on the web. See also http://www.geosamples.org/news/tag for more information about journals using IGSN.
An example of a publication using live IGSNs can be found here:
An International GeoSample Number (IGSN), is a unique string created to identify a sample object in an online environment. The IGSN is organised by namespaces to ensure globally unique allocation of IGSNs to samples. The recommended format of the IGSN is a nine character string consisting of a namespace identifier and a sample number.
Example (IGSN): SSH000SUA (a sample at the Department of Geosciences, Pennsylvania State University, from the Susquehanna Shale Hills Critical Zone Observatory)
The resolvable Handle URI is concatenated by the following rule:
<resolver>/<prefix>/<igsn>
resulting in
Example (Handle): http://hdl.handle.net/10273/SSH000SUA or http://dx.doi.org/10273/SSH000SUA
where <resolver>/<prefix> is http://hdl.handle.net/10273 and <igsn> is the value (IGSN) assigned by an Allocating Agent.
The example given above follows the recommended practice for IGSN names. IGSN user communities may adopt their own IGSN formats, if necessary. These deviations from the recommended format need to be approved by the IGSN technical committee.
Example (IGSN): GeoB3375-1 (a gravity core from the core repository of MARUM, Univ. Bremen, Germany) Example (Handle URI): http://hdl.handle.net/10273/GeoB3375-1
Using ABNF notation the recommended syntax for an IGSN is
<IGSN> = <Namespace><Code> <Namespace> = UPPER ; namespace adminstrated by the allocating agent <Code> = CHAR ; UPPER = %x41-5A (A-Z) DIGIT = %x30-39 (0-9) CHAR = UPPER and DIGIT (A-Z and 0-9)
Since IGSNs are intended to be combined into a URI, in order to retain maximum compatibility with URI production rules it is suggested to limit the characters that can be used in the code to the so-called 'unreserved' + 'reserved' set, but not allow any other or percent-encoded characters which may exist on the keyboard or other character sets (e.g. no accented characters or non-latin alphabets, no space, CR, LF characters) leading to:
<IGSN> = <Namespace><Code> <Namespace> = UPPER ; namespace adminstrated by the allocating agent <Code> = CHAR ; UPPER = %x41-5A (A-Z) DIGIT = %x30-39 (0-9) CHAR = UPPER and DIGIT unreserved = UPPER / DIGIT / "-" / "." reserved = ":" / "/" / "?" / "#" / "[" / "]" / "@" / "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "_" / "~"
The Allocating Agent ensures that element <Code> is unique within their namespace.
Please note:
IGSN members have requested to allow deviations from this recommended practice to fit the requirements of existing large core repositories. Any deviations from the recommended nine character format for IGSN have to be approved by the IGSN technical committee.
Back to IGSN overview