Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add identifierNAME to NXobject #1486

Merged
merged 16 commits into from
Jan 7, 2025
179 changes: 178 additions & 1 deletion base_classes/NXobject.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,182 @@
This is the base object of NeXus
</doc>
<!--attribute name="name"><doc>name of instance</doc></attribute-->
</definition>
<field name="identifierNAME" type="NX_CHAR" nameType="partial">
phyy-nx marked this conversation as resolved.
Show resolved Hide resolved
<doc>
An identifier for a (persistent) resource.

An identifier, provided by some authority, that has been assigned to the
real-world object described by this ``NXobject``. To be useful, the identifier
PeterC-DLS marked this conversation as resolved.
Show resolved Hide resolved
must not be reassigned to a different real-world object. It is typical for
there to be some mechanism to resolve an identifier, obtaining metadata
about the object. Identifiers for which some guarantees exist regarding
this resolution process are called persistent identifiers.
Persistent identifiers are also known as PIDs.
</doc>
<attribute name="type" type="NX_CHAR">
<doc>
The type of identifier used.

It is recommended to use the most specific type when describing the identifier.

For example, all IGSNs are DOIs and all DOIs are Handles; however, an IGSN should have type IGSN (and not DOI or Hdl).
PeterC-DLS marked this conversation as resolved.
Show resolved Hide resolved
Similarly, an ARK, Purl, ORCID and ROR identifiers should have their corresponding types and should not use the more generic URL identifier.
</doc>
<enumeration>
<item value="ARK">
<doc>
Archival Resource Key.

An ARK is a Uniform Resource Identifier (URI) designed to support long-term access to a variety of information objects.

Syntax: https://NMA/ark:/NAAN/Name[Qualifier]. Brackets indicate optional elements.
Example: https://example.org/ark:/12345/abcde
</doc>
</item>
<item value="DOI">
<doc>
Digital Object Identifier.

A DOI is a unique alphanumeric string used to identify digital content. It consists of a prefix and a suffix, separated by a slash.

Syntax: 10.XXXX/XXXXXX
Example: 10.1107/S1600576714027575
</doc>
</item>
<item value="Hdl">
<doc>
A handle is a unique identifier that consists of a prefix indicating the naming authority and a suffix representing the local name
of a resource, cts.
PeterC-DLS marked this conversation as resolved.
Show resolved Hide resolved

A handle is a unique identifier used to facilitate the identification and management of digital objects. It is composed of a prefix that
indicates the naming authority and a suffix that specifies the resource's local name.

This refers specifically to an ID in the Handle system operated by the Corporation for National Research Initiatives (CNRI).

Syntax: prefix/identifier
Example: 123456789/abc123
</doc>
</item>
<item value="IGSN">
<doc>
International Generic Sample Number.

The IGSN is a unique identifier assigned to a specific sample or specimen in the context of scientific research.

Since 2021, IGSNs are issued by DataCite, meaning that there are now DataCite-issued DOIs for all IGSNs,
including those historical IGSNs issued beforehand. Therefore, the syntax is the same as for DOIs.

Syntax: 10.XXXX/XXXXXX
Example: 10.1107/S1600576714027575
</doc>
</item>
<item value="ISNI">
<doc>
ISNI is an ISO standard to uniquely identify individuals and organizations involved in creative work, including pseudonyms
and other public personas.

An ISNI-ID is made up of 16 digits, the last character being a check character. The check character may be either a decimal digit
or the character “X”.

A URL can be generated from the ISNI ID by combining it with the prefix https://isni.org/isni/, resulting in
https://isni.org/isni/{ISNI-ID}.

Syntax: 16 base-10 digits stored without any spaces.
Example: 0000000121032683
</doc>
</item>
<item value="ISSN">
<doc>
International Standard Serial Number

An ISSN is an 8-digit unique identifier used to distinguish a serial publication, whether in print or electronic form.
The last character (a digit or 'X') serves as a check character, making the ISSN uniquely defined by its first seven digits.

Syntax: NNNN-NNNC, where N a decimal digit character (i.e., in the set {0,1,2,...,9}), and C is in {0,1,2,...,9,X}
Example: 1234-5678 or 1234-567X
</doc>
</item>
<item value="ISSN-L">
<doc>
Linking ISSN

The linking The ISSN, or ISSN-L, is a specific ISSN that groups the different media of the same serial publication.
lukaspie marked this conversation as resolved.
Show resolved Hide resolved

Syntax: NNNN-NNNC, where N a decimal digit character (i.e., in the set {0,1,2,...,9}), and C is in {0,1,2,...,9,X}
Example: 1234-5678 or 1234-567X
</doc>
</item>
<item value="ORCID">
<doc>
Open Researcher and Contributor identifier.

ORCID provides a free and persistent identifier that uniquely distinguishes authors and contributors in scientific research.

Example: https://orcid.org/XXXX-XXXX-XXXX-XXXX
Syntax: https://orcid.org/0000-0002-1825-0097
phyy-nx marked this conversation as resolved.
Show resolved Hide resolved
</doc>
</item>
<item value="PURL">
<doc>
Persistent Uniform Resource Locator.

A Persistent Uniform Resource Locator (PURL) is a type of URL designed to provide a stable, long-term reference to a web
resource by using a resolver to redirect users to the resource's current location, even if it moves over time.

A PURL has three parts: (1) a protocol, (2) a resolver address, and (3) a name.

Syntax: https://purl.org/foo/bar
Example: https://purl.org/dc/elements/1.1/title
</doc>
</item>
<item value="ROR">
<doc>
Research Organization Registry

A ROR ID is a globally unique identifier for research organizations, enabling unambiguous linking of institutions across systems.

Syntax: https://ror.org/{ROR-ID}
Example: https://ror.org/052gg0110
</doc>
</item>
<item value="URL">
<doc>
Uniform Resource Locator

Also known as web address, a URL is the address used to access a resource on the internet,
specifying its location and the protocol to retrieve it.

Syntax: scheme://domain:port/path?query_string#fragment_id
Example: https://www.example.com/about
</doc>
</item>
<item value="URN">
<doc>
Uniform Resource Name
phyy-nx marked this conversation as resolved.
Show resolved Hide resolved

A URN is a unique, persistent identifier for a resource regardless of where it is stored.

It is recommended that identifiers with more specific type attribute (such as DOI or ISSN) values should not be stored as a URN,
even when this is valid. As an example, the URN doi:10.1107/S1600576714027575 is a valid URN-based representation for the DOI
10.1107/S1600576714027575, but it is strongly recommended to use type="DOI" in this case.

phyy-nx marked this conversation as resolved.
Show resolved Hide resolved
Syntax: urn:&lt;namespace&gt;:&lt;namespace-specific-string&gt;. The leading urn: sequence is case-insensitive.
Example: urn:isbn:0000000000000
</doc>
</item>
<item value="Other">
<doc>
If the identifier comes from a service that is not listed in the enumeration, ``type`` shall be set to "Other""
and specified in ``type_other``.
</doc>
</item>
</enumeration>
</attribute>
<attribute name="type_other">
<doc>
If the identifier comes from a different service, set type="Other" and specify
here.
</doc>
</attribute>
</field>
</definition>
30 changes: 16 additions & 14 deletions manual/source/datarules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -198,20 +198,22 @@ the prefixes reserved by NeXus.
reserved prefixes; PDBX_
reserved prefixes; SAS_
reserved prefixes; SILX_

============ ================== ============================================ =============================================================
prefix use meaning URL
============ ================== ============================================ =============================================================
``BLUESKY_`` attributes reserved for use by Bluesky project https://blueskyproject.io
``DECTRIS_`` attributes, fields reserved for use by Dectris https://www.dectris.com
``IDF_`` attributes reserved for use by pulsedTD Muon definition https://www.isis.stfc.ac.uk/Pages/nexus-definition-v27924.pdf
``NDAttr`` attributes reserved for use by EPICS area detector https://github.com/areaDetector
``NX`` NXDL class for the class names used with NeXus groups https://www.nexusformat.org
``NX_`` attributes reserved for use by NeXus https://www.nexusformat.org
``PDBX_`` attributes reserved for the US protein data bank https://www.rcsb.org
``SAS_`` attributes reserved for use by canSAS https://www.cansas.org
``SILX_`` attributes reserved for use by silx https://www.silx.org
============ ================== ============================================ =============================================================
reserved prefixes; identifier
phyy-nx marked this conversation as resolved.
Show resolved Hide resolved

============== ================== ============================================ =============================================================
prefix use meaning URL
============== ================== ============================================ =============================================================
``BLUESKY_`` attributes reserved for use by Bluesky project https://blueskyproject.io
``DECTRIS_`` attributes, fields reserved for use by Dectris https://www.dectris.com
``IDF_`` attributes reserved for use by pulsedTD Muon definition https://www.isis.stfc.ac.uk/Pages/nexus-definition-v27924.pdf
``NDAttr`` attributes reserved for use by EPICS area detector https://github.com/areaDetector
``NX`` NXDL class for the class names used with NeXus groups https://www.nexusformat.org
``NX_`` attributes reserved for use by NeXus https://www.nexusformat.org
``PDBX_`` attributes reserved for the US protein data bank https://www.rcsb.org
``SAS_`` attributes reserved for use by canSAS https://www.cansas.org
``SILX_`` attributes reserved for use by silx https://www.silx.org
``identifier`` fields reserved for unique identfier in groups -
============== ================== ============================================ =============================================================

.. index:: ! reserved suffixes

Expand Down
Loading