spdxId
Summary
Identifies an Element to be referenced by other Elements.
Description
An spdxId uniquely identifies an Element which may thereby be referenced by other Elements. These references may be internal or external.
While there may be several versions of the same Element, each one needs to be able to be referred to uniquely so that relationships between Elements can be clearly articulated.
Best practices for creating spdxIds for SPDX documents (and their Elements) on the public internet are as follows:
SPDX document:
https://[CreatorWebsite]/[pathToSpdx]/[DocumentName]-[UUID]
Element inside an SPDX document:
https://[CreatorWebsite]/[pathToSpdx]/[DocumentName]-[UUID]#[ElementName]
where:
CreatorWebsiteis a website hosted by the creator of the document. (e.g. an SPDX document provided by the SPDX project would bespdx.org)PathToSpdxis a path to where SPDX documents are stored on the website.DocumentNameis a name given to the SPDX document, typically the primary package name followed by its version.UUIDis a universally unique identifier. The UUID could be a random UUID or a name-based version-5 UUID generated from an SHA-1 hash known to be unique for the specific SPDX document version.ElementNameis a name given to the Element, typically the Element type followed by a sequence number.- If the creator does not own their own website, a default
CreatorWebsiteandPathToSpdxcan be used:spdx.org/spdxdocs. Note that the SPDX documents are not currently stored or accessible on this website. The URI is only used to create a unique ID following the above conventions.
The SPDX document spdxId shall not contain a URI "part"
(e.g. the # character), since it may be used in SPDX Element spdxIds
to separate the document namespace from the element’s SPDX identifier.
Example
https://spdx.org/spdxdocs/spdx-tools-v2.0.4-a0b427e6-9427-414c-9acc-d6e7c3a0d205
The spdxId shall be unique for the SPDX document including the specific version of the SPDX document. If the SPDX document is updated, thereby creating a new version, a new spdxId for the updated document shall be used. There can only be one spdxId for an SPDX document and only one SPDX document for a given spdxId.
NOTE: While an spdxId is a URI, it does not need to be accessible. It is only intended to provide a unique ID. Although an spdxId can point to an actual document on the web, this is not always guaranteed.
Metadata
https://spdx.org/rdf/3.1/terms/Core/spdxId
| Name | spdxId |
| Nature | DataProperty |
| Range | xsd:anyURI |