Network Working Group A. Chamayou
Internet-Draft Microsoft
Intended status: Standards Track H. Birkholz
Expires: 12 June 2026 Fraunhofer SIT
9 December 2025
A Deterministic Compact (CBOR) Encoding for SPDX
draft-chamayou-cospdx-latest
Abstract
This document proposes a canonical serialization of SPDX 3.0.1 to
CBOR, to enable the reproducible and efficient creation of System
Package Data Exchange information. This representation is consistent
with, and lends itself to being used with transparency services
proposed by the Supply Chain Integrity, Transparency and Trust
initiative.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-chamayou-cospdx/.
Source for this draft and an issue tracker can be found at
https://github.com/achamayou/draft-chamayou-cospdx.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 12 June 2026.
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction
2. CDDL Schema
3. Conventions and Definitions
4. Security Considerations
5. IANA Considerations
6. References
6.1. Normative References
6.2. Informative References
Acknowledgments
Authors' Addresses
1. Introduction
The System Package Data Exchange ([SPDX]) specification defines an
open standard for communicating bill of materials information for
different topic areas, and multiple serialization formats to encode
that data model.
Serialization formats defined for SPDX 3.0.1 (see [SER-SPDX]) are
text-based and so tend to produce large payloads even for documents
that describe a relatively small number of artifacts. A JSON
canonical serialisation ([CAN-SPDX]), based on [RFC8259] with
additional encoding rules, is defined in SPDX 3.0.1, but is not
widely implemented by SBOM generation tools currently.
This document follows an approach similar to that proposed by
[CBOR-LD], but aims to contribute CDDL schemas ([RFC8610]) rather
than registries for the various SPDX profiles that describe how to
emit CBOR-encoded SPDX 3.0.1 directly.
2. CDDL Schema
=============== NOTE: '\' line wrapping per RFC 8792 ================
; https://raw.githubusercontent.com/achamayou/draft-chamayou-cospdx/\
refs/heads/main/cospdx.cddl
; Entry Point
SPDX_Document = { label.@graph: any, label.@graph: [ * AnyClass ] } \
/ { ~AnyClass }
; Software Profile
software_ContentIdentifier = { label.type: const.\
software_ContentIdentifier, ?label.@id: BlankNodeOrIRI, ?label.type\
: tstr, ~software_ContentIdentifier_props }
software_ContentIdentifier_derived = software_ContentIdentifier / \
BlankNodeOrIRI
software_ContentIdentifier_props = { ~IntegrityMethod_props, label.\
software_contentIdentifierType: \
prop_software_ContentIdentifier_software_contentIdentifierType, \
label.software_contentIdentifierValue: \
prop_software_ContentIdentifier_software_contentIdentifierValue }
prop_software_ContentIdentifier_software_contentIdentifierType = \
enum.gitoid / enum.swhid
prop_software_ContentIdentifier_software_contentIdentifierValue = \
anyURI
software_ContentIdentifierType = { label.type: const.\
software_ContentIdentifierType, ?label.@id: BlankNodeOrIRI, ?label.\
type: tstr, ~software_ContentIdentifierType_props }
software_ContentIdentifierType_derived = \
software_ContentIdentifierType / const.\
spdx_Software_ContentIdentifierType_gitoid / const.\
spdx_Software_ContentIdentifierType_swhid / BlankNodeOrIRI
software_ContentIdentifierType_props = { ~SHACLClass, ~AnyObject }
software_FileKindType = { label.type: const.software_FileKindType, ?\
label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
software_FileKindType_props }
software_FileKindType_derived = software_FileKindType / const.\
spdx_Software_FileKindType_directory / const.\
spdx_Software_FileKindType_file / BlankNodeOrIRI
software_FileKindType_props = { ~SHACLClass, ~AnyObject }
software_SbomType = { label.type: const.software_SbomType, ?label.@\
id: BlankNodeOrIRI, ?label.type: tstr, ~software_SbomType_props }
software_SbomType_derived = software_SbomType / const.\
spdx_Software_SbomType_analyzed / const.\
spdx_Software_SbomType_build / const.\
spdx_Software_SbomType_deployed / const.\
spdx_Software_SbomType_design / const.\
spdx_Software_SbomType_runtime / const.\
spdx_Software_SbomType_source / BlankNodeOrIRI
software_SbomType_props = { ~SHACLClass, ~AnyObject }
software_SoftwarePurpose = { label.type: const.\
software_SoftwarePurpose, ?label.@id: BlankNodeOrIRI, ?label.type: \
tstr, ~software_SoftwarePurpose_props }
software_SoftwarePurpose_derived = software_SoftwarePurpose / const.\
spdx_Software_SoftwarePurpose_application / const.\
spdx_Software_SoftwarePurpose_archive / const.\
spdx_Software_SoftwarePurpose_bom / const.\
spdx_Software_SoftwarePurpose_configuration / const.\
spdx_Software_SoftwarePurpose_container / const.\
spdx_Software_SoftwarePurpose_data / const.\
spdx_Software_SoftwarePurpose_device / const.\
spdx_Software_SoftwarePurpose_deviceDriver / const.\
spdx_Software_SoftwarePurpose_diskImage / const.\
spdx_Software_SoftwarePurpose_documentation / const.\
spdx_Software_SoftwarePurpose_evidence / const.\
spdx_Software_SoftwarePurpose_executable / const.\
spdx_Software_SoftwarePurpose_file / const.\
spdx_Software_SoftwarePurpose_filesystemImage / const.\
spdx_Software_SoftwarePurpose_firmware / const.\
spdx_Software_SoftwarePurpose_framework / const.\
spdx_Software_SoftwarePurpose_install / const.\
spdx_Software_SoftwarePurpose_library / const.\
spdx_Software_SoftwarePurpose_manifest / const.\
spdx_Software_SoftwarePurpose_model / const.\
spdx_Software_SoftwarePurpose_module / const.\
spdx_Software_SoftwarePurpose_operatingSystem / const.\
spdx_Software_SoftwarePurpose_other / const.\
spdx_Software_SoftwarePurpose_patch / const.\
spdx_Software_SoftwarePurpose_platform / const.\
spdx_Software_SoftwarePurpose_requirement / const.\
spdx_Software_SoftwarePurpose_source / const.\
spdx_Software_SoftwarePurpose_specification / const.\
spdx_Software_SoftwarePurpose_test / BlankNodeOrIRI
software_SoftwarePurpose_props = { ~SHACLClass, ~AnyObject }
software_SoftwareArtifact_derived = ai_AIPackage / \
dataset_DatasetPackage / software_File / software_Package / \
software_Snippet / BlankNodeOrIRI
software_SoftwareArtifact_props = { ~Artifact_props, ?label.\
software_additionalPurpose: [ * \
prop_software_SoftwareArtifact_software_additionalPurpose ], ?label.\
software_attributionText: [ * \
prop_software_SoftwareArtifact_software_attributionText ], ?label.\
software_contentIdentifier: [ * \
prop_software_SoftwareArtifact_software_contentIdentifier ], ?label.\
software_copyrightText: \
prop_software_SoftwareArtifact_software_copyrightText, ?label.\
software_primaryPurpose: \
prop_software_SoftwareArtifact_software_primaryPurpose }
prop_software_SoftwareArtifact_software_additionalPurpose = enum.\
application / enum.archive / enum.bom / enum.configuration / enum.\
container / enum.data / enum.device / enum.deviceDriver / enum.\
diskImage / enum.documentation / enum.evidence / enum.executable / \
enum.file / enum.filesystemImage / enum.firmware / enum.framework / \
enum.install / enum.library / enum.manifest / enum.model / enum.\
module / enum.operatingSystem / enum.other / enum.patch / enum.\
platform / enum.requirement / enum.source / enum.specification / \
enum.test
prop_software_SoftwareArtifact_software_attributionText = tstr
prop_software_SoftwareArtifact_software_contentIdentifier = \
software_ContentIdentifier_derived
prop_software_SoftwareArtifact_software_copyrightText = tstr
prop_software_SoftwareArtifact_software_primaryPurpose = enum.\
application / enum.archive / enum.bom / enum.configuration / enum.\
container / enum.data / enum.device / enum.deviceDriver / enum.\
diskImage / enum.documentation / enum.evidence / enum.executable / \
enum.file / enum.filesystemImage / enum.firmware / enum.framework / \
enum.install / enum.library / enum.manifest / enum.model / enum.\
module / enum.operatingSystem / enum.other / enum.patch / enum.\
platform / enum.requirement / enum.source / enum.specification / \
enum.test
software_File = { label.type: const.software_File, label.spdxId: IRI\
, ?label.type: tstr, ~software_File_props }
software_File_derived = software_File / BlankNodeOrIRI
software_File_props = { ~software_SoftwareArtifact_props, ?label.\
contentType: prop_software_File_contentType, ?label.\
software_fileKind: prop_software_File_software_fileKind }
prop_software_File_contentType = tstr .regexp "^[^\\/]+\\/[^\\/]+$"
prop_software_File_software_fileKind = enum.directory / enum.file
software_Package = { label.type: const.software_Package, label.\
spdxId: IRI, ?label.type: tstr, ~software_Package_props }
software_Package_derived = ai_AIPackage / dataset_DatasetPackage / \
software_Package / BlankNodeOrIRI
software_Package_props = { ~software_SoftwareArtifact_props, ?label.\
software_downloadLocation: \
prop_software_Package_software_downloadLocation, ?label.\
software_homePage: prop_software_Package_software_homePage, ?label.\
software_packageUrl: prop_software_Package_software_packageUrl, ?\
label.software_packageVersion: \
prop_software_Package_software_packageVersion, ?label.\
software_sourceInfo: prop_software_Package_software_sourceInfo }
prop_software_Package_software_downloadLocation = anyURI
prop_software_Package_software_homePage = anyURI
prop_software_Package_software_packageUrl = anyURI
prop_software_Package_software_packageVersion = tstr
prop_software_Package_software_sourceInfo = tstr
software_Sbom = { label.type: const.software_Sbom, label.spdxId: IRI\
, ?label.type: tstr, ~software_Sbom_props }
software_Sbom_derived = software_Sbom / BlankNodeOrIRI
software_Sbom_props = { ~Bom_props, ?label.software_sbomType: [ * \
prop_software_Sbom_software_sbomType ] }
prop_software_Sbom_software_sbomType = enum.analyzed / enum.build / \
enum.deployed / enum.design / enum.runtime / enum.source
software_Snippet = { label.type: const.software_Snippet, label.\
spdxId: IRI, ?label.type: tstr, ~software_Snippet_props }
software_Snippet_derived = software_Snippet / BlankNodeOrIRI
software_Snippet_props = { ~software_SoftwareArtifact_props, ?label.\
software_byteRange: prop_software_Snippet_software_byteRange, ?label\
.software_lineRange: prop_software_Snippet_software_lineRange, label\
.software_snippetFromFile: \
prop_software_Snippet_software_snippetFromFile }
prop_software_Snippet_software_byteRange = \
PositiveIntegerRange_derived
prop_software_Snippet_software_lineRange = \
PositiveIntegerRange_derived
prop_software_Snippet_software_snippetFromFile = \
software_File_derived
; Security Profile
security_CvssSeverityType = { label.type: const.\
security_CvssSeverityType, ?label.@id: BlankNodeOrIRI, ?label.type: \
tstr, ~security_CvssSeverityType_props }
security_CvssSeverityType_derived = security_CvssSeverityType / \
const.spdx_Security_CvssSeverityType_critical / const.\
spdx_Security_CvssSeverityType_high / const.\
spdx_Security_CvssSeverityType_low / const.\
spdx_Security_CvssSeverityType_medium / const.\
spdx_Security_CvssSeverityType_none / BlankNodeOrIRI
security_CvssSeverityType_props = { ~SHACLClass, ~AnyObject }
security_ExploitCatalogType = { label.type: const.\
security_ExploitCatalogType, ?label.@id: BlankNodeOrIRI, ?label.type\
: tstr, ~security_ExploitCatalogType_props }
security_ExploitCatalogType_derived = security_ExploitCatalogType / \
const.spdx_Security_ExploitCatalogType_kev / const.\
spdx_Security_ExploitCatalogType_other / BlankNodeOrIRI
security_ExploitCatalogType_props = { ~SHACLClass, ~AnyObject }
security_SsvcDecisionType = { label.type: const.\
security_SsvcDecisionType, ?label.@id: BlankNodeOrIRI, ?label.type: \
tstr, ~security_SsvcDecisionType_props }
security_SsvcDecisionType_derived = security_SsvcDecisionType / \
const.spdx_Security_SsvcDecisionType_act / const.\
spdx_Security_SsvcDecisionType_attend / const.\
spdx_Security_SsvcDecisionType_track / const.\
spdx_Security_SsvcDecisionType_trackStar / BlankNodeOrIRI
security_SsvcDecisionType_props = { ~SHACLClass, ~AnyObject }
security_VexJustificationType = { label.type: const.\
security_VexJustificationType, ?label.@id: BlankNodeOrIRI, ?label.\
type: tstr, ~security_VexJustificationType_props }
security_VexJustificationType_derived = \
security_VexJustificationType / const.\
spdx_Security_VexJustificationType_componentNotPresent / const.\
spdx_Security_VexJustificationType_inlineMitigationsAlreadyExist / \
const.\
spdx_Security_VexJustificationType_vulnerableCodeCannotBeControlledB\
yAdversary / const.\
spdx_Security_VexJustificationType_vulnerableCodeNotInExecutePath / \
const.spdx_Security_VexJustificationType_vulnerableCodeNotPresent / \
BlankNodeOrIRI
security_VexJustificationType_props = { ~SHACLClass, ~AnyObject }
security_VulnAssessmentRelationship_derived = \
security_CvssV2VulnAssessmentRelationship / \
security_CvssV3VulnAssessmentRelationship / \
security_CvssV4VulnAssessmentRelationship / \
security_EpssVulnAssessmentRelationship / \
security_ExploitCatalogVulnAssessmentRelationship / \
security_SsvcVulnAssessmentRelationship / \
security_VexAffectedVulnAssessmentRelationship / \
security_VexFixedVulnAssessmentRelationship / \
security_VexNotAffectedVulnAssessmentRelationship / \
security_VexUnderInvestigationVulnAssessmentRelationship / \
BlankNodeOrIRI
security_VulnAssessmentRelationship_props = { ~Relationship_props, ?\
label.suppliedBy: \
prop_security_VulnAssessmentRelationship_suppliedBy, ?label.\
security_assessedElement: \
prop_security_VulnAssessmentRelationship_security_assessedElement, ?\
label.security_modifiedTime: \
prop_security_VulnAssessmentRelationship_security_modifiedTime, ?\
label.security_publishedTime: \
prop_security_VulnAssessmentRelationship_security_publishedTime, ?\
label.security_withdrawnTime: \
prop_security_VulnAssessmentRelationship_security_withdrawnTime }
prop_security_VulnAssessmentRelationship_suppliedBy = Agent_derived
prop_security_VulnAssessmentRelationship_security_assessedElement = \
software_SoftwareArtifact_derived
prop_security_VulnAssessmentRelationship_security_modifiedTime = \
tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:\
[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\
\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_security_VulnAssessmentRelationship_security_publishedTime = \
tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:\
[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\
\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_security_VulnAssessmentRelationship_security_withdrawnTime = \
tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:\
[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\
\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
security_CvssV2VulnAssessmentRelationship = { label.type: const.\
security_CvssV2VulnAssessmentRelationship, label.spdxId: IRI, ?label\
.type: tstr, ~security_CvssV2VulnAssessmentRelationship_props }
security_CvssV2VulnAssessmentRelationship_derived = \
security_CvssV2VulnAssessmentRelationship / BlankNodeOrIRI
security_CvssV2VulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.security_score: \
prop_security_CvssV2VulnAssessmentRelationship_security_score, label\
.security_vectorString: \
prop_security_CvssV2VulnAssessmentRelationship_security_vectorStrin\
g }
prop_security_CvssV2VulnAssessmentRelationship_security_score = int \
/ float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
prop_security_CvssV2VulnAssessmentRelationship_security_vectorStrin\
g = tstr
security_CvssV3VulnAssessmentRelationship = { label.type: const.\
security_CvssV3VulnAssessmentRelationship, label.spdxId: IRI, ?label\
.type: tstr, ~security_CvssV3VulnAssessmentRelationship_props }
security_CvssV3VulnAssessmentRelationship_derived = \
security_CvssV3VulnAssessmentRelationship / BlankNodeOrIRI
security_CvssV3VulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.security_score: \
prop_security_CvssV3VulnAssessmentRelationship_security_score, label\
.security_severity: \
prop_security_CvssV3VulnAssessmentRelationship_security_severity, \
label.security_vectorString: \
prop_security_CvssV3VulnAssessmentRelationship_security_vectorStrin\
g }
prop_security_CvssV3VulnAssessmentRelationship_security_score = int \
/ float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
prop_security_CvssV3VulnAssessmentRelationship_security_severity = \
enum.critical / enum.high / enum.low / enum.medium / enum.none
prop_security_CvssV3VulnAssessmentRelationship_security_vectorStrin\
g = tstr
security_CvssV4VulnAssessmentRelationship = { label.type: const.\
security_CvssV4VulnAssessmentRelationship, label.spdxId: IRI, ?label\
.type: tstr, ~security_CvssV4VulnAssessmentRelationship_props }
security_CvssV4VulnAssessmentRelationship_derived = \
security_CvssV4VulnAssessmentRelationship / BlankNodeOrIRI
security_CvssV4VulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.security_score: \
prop_security_CvssV4VulnAssessmentRelationship_security_score, label\
.security_severity: \
prop_security_CvssV4VulnAssessmentRelationship_security_severity, \
label.security_vectorString: \
prop_security_CvssV4VulnAssessmentRelationship_security_vectorStrin\
g }
prop_security_CvssV4VulnAssessmentRelationship_security_score = int \
/ float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
prop_security_CvssV4VulnAssessmentRelationship_security_severity = \
enum.critical / enum.high / enum.low / enum.medium / enum.none
prop_security_CvssV4VulnAssessmentRelationship_security_vectorStrin\
g = tstr
security_EpssVulnAssessmentRelationship = { label.type: const.\
security_EpssVulnAssessmentRelationship, label.spdxId: IRI, ?label.\
type: tstr, ~security_EpssVulnAssessmentRelationship_props }
security_EpssVulnAssessmentRelationship_derived = \
security_EpssVulnAssessmentRelationship / BlankNodeOrIRI
security_EpssVulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.security_percentile\
: prop_security_EpssVulnAssessmentRelationship_security_percentile, \
label.security_probability: \
prop_security_EpssVulnAssessmentRelationship_security_probability }
prop_security_EpssVulnAssessmentRelationship_security_percentile = \
int / float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
prop_security_EpssVulnAssessmentRelationship_security_probability = \
int / float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
security_ExploitCatalogVulnAssessmentRelationship = { label.type: \
const.security_ExploitCatalogVulnAssessmentRelationship, label.\
spdxId: IRI, ?label.type: tstr, ~\
security_ExploitCatalogVulnAssessmentRelationship_props }
security_ExploitCatalogVulnAssessmentRelationship_derived = \
security_ExploitCatalogVulnAssessmentRelationship / BlankNodeOrIRI
security_ExploitCatalogVulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.\
security_catalogType: \
prop_security_ExploitCatalogVulnAssessmentRelationship_security_cata\
logType, label.security_exploited: \
prop_security_ExploitCatalogVulnAssessmentRelationship_security_expl\
oited, label.security_locator: \
prop_security_ExploitCatalogVulnAssessmentRelationship_security_loca\
tor }
prop_security_ExploitCatalogVulnAssessmentRelationship_security_cata\
logType = enum.kev / enum.other
prop_security_ExploitCatalogVulnAssessmentRelationship_security_expl\
oited = bool
prop_security_ExploitCatalogVulnAssessmentRelationship_security_loca\
tor = anyURI
security_SsvcVulnAssessmentRelationship = { label.type: const.\
security_SsvcVulnAssessmentRelationship, label.spdxId: IRI, ?label.\
type: tstr, ~security_SsvcVulnAssessmentRelationship_props }
security_SsvcVulnAssessmentRelationship_derived = \
security_SsvcVulnAssessmentRelationship / BlankNodeOrIRI
security_SsvcVulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, label.\
security_decisionType: \
prop_security_SsvcVulnAssessmentRelationship_security_decisionType }
prop_security_SsvcVulnAssessmentRelationship_security_decisionType \
= enum.act / enum.attend / enum.track / enum.trackStar
security_VexVulnAssessmentRelationship_derived = \
security_VexAffectedVulnAssessmentRelationship / \
security_VexFixedVulnAssessmentRelationship / \
security_VexNotAffectedVulnAssessmentRelationship / \
security_VexUnderInvestigationVulnAssessmentRelationship / \
BlankNodeOrIRI
security_VexVulnAssessmentRelationship_props = { ~\
security_VulnAssessmentRelationship_props, ?label.\
security_statusNotes: \
prop_security_VexVulnAssessmentRelationship_security_statusNotes, ?\
label.security_vexVersion: \
prop_security_VexVulnAssessmentRelationship_security_vexVersion }
prop_security_VexVulnAssessmentRelationship_security_statusNotes = \
tstr
prop_security_VexVulnAssessmentRelationship_security_vexVersion = \
tstr
security_Vulnerability = { label.type: const.security_Vulnerability\
, label.spdxId: IRI, ?label.type: tstr, ~\
security_Vulnerability_props }
security_Vulnerability_derived = security_Vulnerability / \
BlankNodeOrIRI
security_Vulnerability_props = { ~Artifact_props, ?label.\
security_modifiedTime: \
prop_security_Vulnerability_security_modifiedTime, ?label.\
security_publishedTime: \
prop_security_Vulnerability_security_publishedTime, ?label.\
security_withdrawnTime: \
prop_security_Vulnerability_security_withdrawnTime }
prop_security_Vulnerability_security_modifiedTime = tstr .regexp "^[\
0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-\
][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\\
d\\d:\\d\\d:\\d\\dZ$"
prop_security_Vulnerability_security_publishedTime = tstr .regexp "^\
[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+\
-][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\
\d\\d:\\d\\d:\\d\\dZ$"
prop_security_Vulnerability_security_withdrawnTime = tstr .regexp "^\
[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+\
-][0-9]{2}:[0-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\
\d\\d:\\d\\d:\\d\\dZ$"
security_VexAffectedVulnAssessmentRelationship = { label.type: const\
.security_VexAffectedVulnAssessmentRelationship, label.spdxId: IRI, \
?label.type: tstr, ~\
security_VexAffectedVulnAssessmentRelationship_props }
security_VexAffectedVulnAssessmentRelationship_derived = \
security_VexAffectedVulnAssessmentRelationship / BlankNodeOrIRI
security_VexAffectedVulnAssessmentRelationship_props = { ~\
security_VexVulnAssessmentRelationship_props, label.\
security_actionStatement: \
prop_security_VexAffectedVulnAssessmentRelationship_security_actionS\
tatement, ?label.security_actionStatementTime: \
prop_security_VexAffectedVulnAssessmentRelationship_security_actionS\
tatementTime }
prop_security_VexAffectedVulnAssessmentRelationship_security_actionS\
tatement = tstr
prop_security_VexAffectedVulnAssessmentRelationship_security_actionS\
tatementTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0\
-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / tstr .regexp \
"^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
security_VexFixedVulnAssessmentRelationship = { label.type: const.\
security_VexFixedVulnAssessmentRelationship, label.spdxId: IRI, ?\
label.type: tstr, ~\
security_VexFixedVulnAssessmentRelationship_props }
security_VexFixedVulnAssessmentRelationship_derived = \
security_VexFixedVulnAssessmentRelationship / BlankNodeOrIRI
security_VexFixedVulnAssessmentRelationship_props = { ~\
security_VexVulnAssessmentRelationship_props, ~AnyObject }
security_VexNotAffectedVulnAssessmentRelationship = { label.type: \
const.security_VexNotAffectedVulnAssessmentRelationship, label.\
spdxId: IRI, ?label.type: tstr, ~\
security_VexNotAffectedVulnAssessmentRelationship_props }
security_VexNotAffectedVulnAssessmentRelationship_derived = \
security_VexNotAffectedVulnAssessmentRelationship / BlankNodeOrIRI
security_VexNotAffectedVulnAssessmentRelationship_props = { ~\
security_VexVulnAssessmentRelationship_props, ?label.\
security_impactStatement: \
prop_security_VexNotAffectedVulnAssessmentRelationship_security_impa\
ctStatement, ?label.security_impactStatementTime: \
prop_security_VexNotAffectedVulnAssessmentRelationship_security_impa\
ctStatementTime, ?label.security_justificationType: \
prop_security_VexNotAffectedVulnAssessmentRelationship_security_just\
ificationType }
prop_security_VexNotAffectedVulnAssessmentRelationship_security_impa\
ctStatement = tstr
prop_security_VexNotAffectedVulnAssessmentRelationship_security_impa\
ctStatementTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2\
][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / tstr .\
regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_security_VexNotAffectedVulnAssessmentRelationship_security_just\
ificationType = enum.componentNotPresent / enum.\
inlineMitigationsAlreadyExist / enum.\
vulnerableCodeCannotBeControlledByAdversary / enum.\
vulnerableCodeNotInExecutePath / enum.vulnerableCodeNotPresent
security_VexUnderInvestigationVulnAssessmentRelationship = { label.\
type: const.security_VexUnderInvestigationVulnAssessmentRelationship\
, label.spdxId: IRI, ?label.type: tstr, ~\
security_VexUnderInvestigationVulnAssessmentRelationship_props }
security_VexUnderInvestigationVulnAssessmentRelationship_derived = \
security_VexUnderInvestigationVulnAssessmentRelationship / \
BlankNodeOrIRI
security_VexUnderInvestigationVulnAssessmentRelationship_props = { ~\
security_VexVulnAssessmentRelationship_props, ~AnyObject }
; SimpleLicensing Profile
simplelicensing_AnyLicenseInfo_derived = \
expandedlicensing_ConjunctiveLicenseSet / \
expandedlicensing_CustomLicense / \
expandedlicensing_DisjunctiveLicenseSet / \
expandedlicensing_IndividualLicensingInfo / \
expandedlicensing_ListedLicense / expandedlicensing_OrLaterOperator \
/ expandedlicensing_WithAdditionOperator / \
simplelicensing_LicenseExpression / const.\
expandedlicensing_NoAssertionLicense / const.\
expandedlicensing_NoneLicense / BlankNodeOrIRI
simplelicensing_AnyLicenseInfo_props = { ~Element_props, ~AnyObject }
simplelicensing_LicenseExpression = { label.type: const.\
simplelicensing_LicenseExpression, label.spdxId: IRI, ?label.type: \
tstr, ~simplelicensing_LicenseExpression_props }
simplelicensing_LicenseExpression_derived = \
simplelicensing_LicenseExpression / BlankNodeOrIRI
simplelicensing_LicenseExpression_props = { ~\
simplelicensing_AnyLicenseInfo_props, ?label.\
simplelicensing_customIdToUri: [ * \
prop_simplelicensing_LicenseExpression_simplelicensing_customIdToUr\
i ], label.simplelicensing_licenseExpression: \
prop_simplelicensing_LicenseExpression_simplelicensing_licenseExpres\
sion, ?label.simplelicensing_licenseListVersion: \
prop_simplelicensing_LicenseExpression_simplelicensing_licenseListVe\
rsion }
prop_simplelicensing_LicenseExpression_simplelicensing_customIdToUr\
i = DictionaryEntry_derived
prop_simplelicensing_LicenseExpression_simplelicensing_licenseExpres\
sion = tstr
prop_simplelicensing_LicenseExpression_simplelicensing_licenseListVe\
rsion = tstr .regexp "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\
(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\
\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z\
-]+)*))?$"
simplelicensing_SimpleLicensingText = { label.type: const.\
simplelicensing_SimpleLicensingText, label.spdxId: IRI, ?label.type\
: tstr, ~simplelicensing_SimpleLicensingText_props }
simplelicensing_SimpleLicensingText_derived = \
simplelicensing_SimpleLicensingText / BlankNodeOrIRI
simplelicensing_SimpleLicensingText_props = { ~Element_props, label.\
simplelicensing_licenseText: \
prop_simplelicensing_SimpleLicensingText_simplelicensing_licenseTex\
t }
prop_simplelicensing_SimpleLicensingText_simplelicensing_licenseTex\
t = tstr
; ExpandedLicensing Profile
expandedlicensing_LicenseAddition_derived = \
expandedlicensing_CustomLicenseAddition / \
expandedlicensing_ListedLicenseException / BlankNodeOrIRI
expandedlicensing_LicenseAddition_props = { ~Element_props, label.\
expandedlicensing_additionText: \
prop_expandedlicensing_LicenseAddition_expandedlicensing_additionTex\
t, ?label.expandedlicensing_isDeprecatedAdditionId: \
prop_expandedlicensing_LicenseAddition_expandedlicensing_isDeprecate\
dAdditionId, ?label.expandedlicensing_licenseXml: \
prop_expandedlicensing_LicenseAddition_expandedlicensing_licenseXml\
, ?label.expandedlicensing_obsoletedBy: \
prop_expandedlicensing_LicenseAddition_expandedlicensing_obsoletedBy\
, ?label.expandedlicensing_seeAlso: [ * \
prop_expandedlicensing_LicenseAddition_expandedlicensing_seeAlso ], \
?label.expandedlicensing_standardAdditionTemplate: \
prop_expandedlicensing_LicenseAddition_expandedlicensing_standardAdd\
itionTemplate }
prop_expandedlicensing_LicenseAddition_expandedlicensing_additionTex\
t = tstr
prop_expandedlicensing_LicenseAddition_expandedlicensing_isDeprecate\
dAdditionId = bool
prop_expandedlicensing_LicenseAddition_expandedlicensing_licenseXml \
= tstr
prop_expandedlicensing_LicenseAddition_expandedlicensing_obsoletedB\
y = tstr
prop_expandedlicensing_LicenseAddition_expandedlicensing_seeAlso = \
anyURI
prop_expandedlicensing_LicenseAddition_expandedlicensing_standardAdd\
itionTemplate = tstr
expandedlicensing_ListedLicenseException = { label.type: const.\
expandedlicensing_ListedLicenseException, label.spdxId: IRI, ?label.\
type: tstr, ~expandedlicensing_ListedLicenseException_props }
expandedlicensing_ListedLicenseException_derived = \
expandedlicensing_ListedLicenseException / BlankNodeOrIRI
expandedlicensing_ListedLicenseException_props = { ~\
expandedlicensing_LicenseAddition_props, ?label.\
expandedlicensing_deprecatedVersion: \
prop_expandedlicensing_ListedLicenseException_expandedlicensing_depr\
ecatedVersion, ?label.expandedlicensing_listVersionAdded: \
prop_expandedlicensing_ListedLicenseException_expandedlicensing_list\
VersionAdded }
prop_expandedlicensing_ListedLicenseException_expandedlicensing_depr\
ecatedVersion = tstr
prop_expandedlicensing_ListedLicenseException_expandedlicensing_list\
VersionAdded = tstr
expandedlicensing_ConjunctiveLicenseSet = { label.type: const.\
expandedlicensing_ConjunctiveLicenseSet, label.spdxId: IRI, ?label.\
type: tstr, ~expandedlicensing_ConjunctiveLicenseSet_props }
expandedlicensing_ConjunctiveLicenseSet_derived = \
expandedlicensing_ConjunctiveLicenseSet / BlankNodeOrIRI
expandedlicensing_ConjunctiveLicenseSet_props = { ~\
simplelicensing_AnyLicenseInfo_props, label.expandedlicensing_member\
: [ + \
prop_expandedlicensing_ConjunctiveLicenseSet_expandedlicensing_membe\
r ] }
prop_expandedlicensing_ConjunctiveLicenseSet_expandedlicensing_membe\
r = simplelicensing_AnyLicenseInfo_derived
expandedlicensing_CustomLicenseAddition = { label.type: const.\
expandedlicensing_CustomLicenseAddition, label.spdxId: IRI, ?label.\
type: tstr, ~expandedlicensing_CustomLicenseAddition_props }
expandedlicensing_CustomLicenseAddition_derived = \
expandedlicensing_CustomLicenseAddition / BlankNodeOrIRI
expandedlicensing_CustomLicenseAddition_props = { ~\
expandedlicensing_LicenseAddition_props, ~AnyObject }
expandedlicensing_DisjunctiveLicenseSet = { label.type: const.\
expandedlicensing_DisjunctiveLicenseSet, label.spdxId: IRI, ?label.\
type: tstr, ~expandedlicensing_DisjunctiveLicenseSet_props }
expandedlicensing_DisjunctiveLicenseSet_derived = \
expandedlicensing_DisjunctiveLicenseSet / BlankNodeOrIRI
expandedlicensing_DisjunctiveLicenseSet_props = { ~\
simplelicensing_AnyLicenseInfo_props, label.expandedlicensing_member\
: [ + \
prop_expandedlicensing_DisjunctiveLicenseSet_expandedlicensing_membe\
r ] }
prop_expandedlicensing_DisjunctiveLicenseSet_expandedlicensing_membe\
r = simplelicensing_AnyLicenseInfo_derived
expandedlicensing_ExtendableLicense_derived = \
expandedlicensing_CustomLicense / expandedlicensing_ListedLicense / \
expandedlicensing_OrLaterOperator / BlankNodeOrIRI
expandedlicensing_ExtendableLicense_props = { ~\
simplelicensing_AnyLicenseInfo_props, ~AnyObject }
expandedlicensing_IndividualLicensingInfo = { label.type: const.\
expandedlicensing_IndividualLicensingInfo, label.spdxId: IRI, ?label\
.type: tstr, ~expandedlicensing_IndividualLicensingInfo_props }
expandedlicensing_IndividualLicensingInfo_derived = \
expandedlicensing_IndividualLicensingInfo / const.\
expandedlicensing_NoAssertionLicense / const.\
expandedlicensing_NoneLicense / BlankNodeOrIRI
expandedlicensing_IndividualLicensingInfo_props = { ~\
simplelicensing_AnyLicenseInfo_props, ~AnyObject }
expandedlicensing_License_derived = expandedlicensing_CustomLicense \
/ expandedlicensing_ListedLicense / BlankNodeOrIRI
expandedlicensing_License_props = { ~\
expandedlicensing_ExtendableLicense_props, ?label.\
expandedlicensing_isDeprecatedLicenseId: \
prop_expandedlicensing_License_expandedlicensing_isDeprecatedLicense\
Id, ?label.expandedlicensing_isFsfLibre: \
prop_expandedlicensing_License_expandedlicensing_isFsfLibre, ?label.\
expandedlicensing_isOsiApproved: \
prop_expandedlicensing_License_expandedlicensing_isOsiApproved, ?\
label.expandedlicensing_licenseXml: \
prop_expandedlicensing_License_expandedlicensing_licenseXml, ?label.\
expandedlicensing_obsoletedBy: \
prop_expandedlicensing_License_expandedlicensing_obsoletedBy, ?label\
.expandedlicensing_seeAlso: [ * \
prop_expandedlicensing_License_expandedlicensing_seeAlso ], ?label.\
expandedlicensing_standardLicenseHeader: \
prop_expandedlicensing_License_expandedlicensing_standardLicenseHead\
er, ?label.expandedlicensing_standardLicenseTemplate: \
prop_expandedlicensing_License_expandedlicensing_standardLicenseTemp\
late, label.simplelicensing_licenseText: \
prop_expandedlicensing_License_simplelicensing_licenseText }
prop_expandedlicensing_License_expandedlicensing_isDeprecatedLicense\
Id = bool
prop_expandedlicensing_License_expandedlicensing_isFsfLibre = bool
prop_expandedlicensing_License_expandedlicensing_isOsiApproved = bool
prop_expandedlicensing_License_expandedlicensing_licenseXml = tstr
prop_expandedlicensing_License_expandedlicensing_obsoletedBy = tstr
prop_expandedlicensing_License_expandedlicensing_seeAlso = anyURI
prop_expandedlicensing_License_expandedlicensing_standardLicenseHead\
er = tstr
prop_expandedlicensing_License_expandedlicensing_standardLicenseTemp\
late = tstr
prop_expandedlicensing_License_simplelicensing_licenseText = tstr
expandedlicensing_ListedLicense = { label.type: const.\
expandedlicensing_ListedLicense, label.spdxId: IRI, ?label.type: \
tstr, ~expandedlicensing_ListedLicense_props }
expandedlicensing_ListedLicense_derived = \
expandedlicensing_ListedLicense / BlankNodeOrIRI
expandedlicensing_ListedLicense_props = { ~\
expandedlicensing_License_props, ?label.\
expandedlicensing_deprecatedVersion: \
prop_expandedlicensing_ListedLicense_expandedlicensing_deprecatedVer\
sion, ?label.expandedlicensing_listVersionAdded: \
prop_expandedlicensing_ListedLicense_expandedlicensing_listVersionAd\
ded }
prop_expandedlicensing_ListedLicense_expandedlicensing_deprecatedVer\
sion = tstr
prop_expandedlicensing_ListedLicense_expandedlicensing_listVersionAd\
ded = tstr
expandedlicensing_OrLaterOperator = { label.type: const.\
expandedlicensing_OrLaterOperator, label.spdxId: IRI, ?label.type: \
tstr, ~expandedlicensing_OrLaterOperator_props }
expandedlicensing_OrLaterOperator_derived = \
expandedlicensing_OrLaterOperator / BlankNodeOrIRI
expandedlicensing_OrLaterOperator_props = { ~\
expandedlicensing_ExtendableLicense_props, label.\
expandedlicensing_subjectLicense: \
prop_expandedlicensing_OrLaterOperator_expandedlicensing_subjectLice\
nse }
prop_expandedlicensing_OrLaterOperator_expandedlicensing_subjectLice\
nse = expandedlicensing_License_derived
expandedlicensing_WithAdditionOperator = { label.type: const.\
expandedlicensing_WithAdditionOperator, label.spdxId: IRI, ?label.\
type: tstr, ~expandedlicensing_WithAdditionOperator_props }
expandedlicensing_WithAdditionOperator_derived = \
expandedlicensing_WithAdditionOperator / BlankNodeOrIRI
expandedlicensing_WithAdditionOperator_props = { ~\
simplelicensing_AnyLicenseInfo_props, label.\
expandedlicensing_subjectAddition: \
prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjec\
tAddition, label.expandedlicensing_subjectExtendableLicense: \
prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjec\
tExtendableLicense }
prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjec\
tAddition = expandedlicensing_LicenseAddition_derived
prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjec\
tExtendableLicense = expandedlicensing_ExtendableLicense_derived
expandedlicensing_CustomLicense = { label.type: const.\
expandedlicensing_CustomLicense, label.spdxId: IRI, ?label.type: \
tstr, ~expandedlicensing_CustomLicense_props }
expandedlicensing_CustomLicense_derived = \
expandedlicensing_CustomLicense / BlankNodeOrIRI
expandedlicensing_CustomLicense_props = { ~\
expandedlicensing_License_props, ~AnyObject }
; Dataset Profile
dataset_ConfidentialityLevelType = { label.type: const.\
dataset_ConfidentialityLevelType, ?label.@id: BlankNodeOrIRI, ?label\
.type: tstr, ~dataset_ConfidentialityLevelType_props }
dataset_ConfidentialityLevelType_derived = \
dataset_ConfidentialityLevelType / const.\
spdx_Dataset_ConfidentialityLevelType_amber / const.\
spdx_Dataset_ConfidentialityLevelType_clear / const.\
spdx_Dataset_ConfidentialityLevelType_green / const.\
spdx_Dataset_ConfidentialityLevelType_red / BlankNodeOrIRI
dataset_ConfidentialityLevelType_props = { ~SHACLClass, ~AnyObject }
dataset_DatasetAvailabilityType = { label.type: const.\
dataset_DatasetAvailabilityType, ?label.@id: BlankNodeOrIRI, ?label.\
type: tstr, ~dataset_DatasetAvailabilityType_props }
dataset_DatasetAvailabilityType_derived = \
dataset_DatasetAvailabilityType / const.\
spdx_Dataset_DatasetAvailabilityType_clickthrough / const.\
spdx_Dataset_DatasetAvailabilityType_directDownload / const.\
spdx_Dataset_DatasetAvailabilityType_query / const.\
spdx_Dataset_DatasetAvailabilityType_registration / const.\
spdx_Dataset_DatasetAvailabilityType_scrapingScript / BlankNodeOrIRI
dataset_DatasetAvailabilityType_props = { ~SHACLClass, ~AnyObject }
dataset_DatasetType = { label.type: const.dataset_DatasetType, ?\
label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
dataset_DatasetType_props }
dataset_DatasetType_derived = dataset_DatasetType / const.\
spdx_Dataset_DatasetType_audio / const.\
spdx_Dataset_DatasetType_categorical / const.\
spdx_Dataset_DatasetType_graph / const.\
spdx_Dataset_DatasetType_image / const.\
spdx_Dataset_DatasetType_noAssertion / const.\
spdx_Dataset_DatasetType_numeric / const.\
spdx_Dataset_DatasetType_other / const.\
spdx_Dataset_DatasetType_sensor / const.\
spdx_Dataset_DatasetType_structured / const.\
spdx_Dataset_DatasetType_syntactic / const.\
spdx_Dataset_DatasetType_text / const.\
spdx_Dataset_DatasetType_timeseries / const.\
spdx_Dataset_DatasetType_timestamp / const.\
spdx_Dataset_DatasetType_video / BlankNodeOrIRI
dataset_DatasetType_props = { ~SHACLClass, ~AnyObject }
dataset_DatasetPackage = { label.type: const.dataset_DatasetPackage\
, label.spdxId: IRI, ?label.type: tstr, ~\
dataset_DatasetPackage_props }
dataset_DatasetPackage_derived = dataset_DatasetPackage / \
BlankNodeOrIRI
dataset_DatasetPackage_props = { ~software_Package_props, ?label.\
dataset_anonymizationMethodUsed: [ * \
prop_dataset_DatasetPackage_dataset_anonymizationMethodUsed ], ?\
label.dataset_confidentialityLevel: \
prop_dataset_DatasetPackage_dataset_confidentialityLevel, ?label.\
dataset_dataCollectionProcess: \
prop_dataset_DatasetPackage_dataset_dataCollectionProcess, ?label.\
dataset_dataPreprocessing: [ * \
prop_dataset_DatasetPackage_dataset_dataPreprocessing ], ?label.\
dataset_datasetAvailability: \
prop_dataset_DatasetPackage_dataset_datasetAvailability, ?label.\
dataset_datasetNoise: \
prop_dataset_DatasetPackage_dataset_datasetNoise, ?label.\
dataset_datasetSize: prop_dataset_DatasetPackage_dataset_datasetSize\
, label.dataset_datasetType: [ + \
prop_dataset_DatasetPackage_dataset_datasetType ], ?label.\
dataset_datasetUpdateMechanism: \
prop_dataset_DatasetPackage_dataset_datasetUpdateMechanism, ?label.\
dataset_hasSensitivePersonalInformation: \
prop_dataset_DatasetPackage_dataset_hasSensitivePersonalInformation\
, ?label.dataset_intendedUse: \
prop_dataset_DatasetPackage_dataset_intendedUse, ?label.\
dataset_knownBias: [ * \
prop_dataset_DatasetPackage_dataset_knownBias ], ?label.\
dataset_sensor: [ * prop_dataset_DatasetPackage_dataset_sensor ] }
prop_dataset_DatasetPackage_dataset_anonymizationMethodUsed = tstr
prop_dataset_DatasetPackage_dataset_confidentialityLevel = enum.\
amber / enum.clear / enum.green / enum.red
prop_dataset_DatasetPackage_dataset_dataCollectionProcess = tstr
prop_dataset_DatasetPackage_dataset_dataPreprocessing = tstr
prop_dataset_DatasetPackage_dataset_datasetAvailability = enum.\
clickthrough / enum.directDownload / enum.query / enum.registration \
/ enum.scrapingScript
prop_dataset_DatasetPackage_dataset_datasetNoise = tstr
prop_dataset_DatasetPackage_dataset_datasetSize = uint
prop_dataset_DatasetPackage_dataset_datasetType = enum.audio / enum.\
categorical / enum.graph / enum.image / enum.noAssertion / enum.\
numeric / enum.other / enum.sensor / enum.structured / enum.\
syntactic / enum.text / enum.timeseries / enum.timestamp / enum.video
prop_dataset_DatasetPackage_dataset_datasetUpdateMechanism = tstr
prop_dataset_DatasetPackage_dataset_hasSensitivePersonalInformation \
= enum.no / enum.noAssertion / enum.yes
prop_dataset_DatasetPackage_dataset_intendedUse = tstr
prop_dataset_DatasetPackage_dataset_knownBias = tstr
prop_dataset_DatasetPackage_dataset_sensor = DictionaryEntry_derived
; AI Profile
ai_EnergyConsumption = { label.type: const.ai_EnergyConsumption, ?\
label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
ai_EnergyConsumption_props }
ai_EnergyConsumption_derived = ai_EnergyConsumption / BlankNodeOrIRI
ai_EnergyConsumption_props = { ~SHACLClass, ?label.\
ai_finetuningEnergyConsumption: [ * \
prop_ai_EnergyConsumption_ai_finetuningEnergyConsumption ], ?label.\
ai_inferenceEnergyConsumption: [ * \
prop_ai_EnergyConsumption_ai_inferenceEnergyConsumption ], ?label.\
ai_trainingEnergyConsumption: [ * \
prop_ai_EnergyConsumption_ai_trainingEnergyConsumption ] }
prop_ai_EnergyConsumption_ai_finetuningEnergyConsumption = \
ai_EnergyConsumptionDescription_derived
prop_ai_EnergyConsumption_ai_inferenceEnergyConsumption = \
ai_EnergyConsumptionDescription_derived
prop_ai_EnergyConsumption_ai_trainingEnergyConsumption = \
ai_EnergyConsumptionDescription_derived
ai_EnergyConsumptionDescription = { label.type: const.\
ai_EnergyConsumptionDescription, ?label.@id: BlankNodeOrIRI, ?label.\
type: tstr, ~ai_EnergyConsumptionDescription_props }
ai_EnergyConsumptionDescription_derived = \
ai_EnergyConsumptionDescription / BlankNodeOrIRI
ai_EnergyConsumptionDescription_props = { ~SHACLClass, label.\
ai_energyQuantity: \
prop_ai_EnergyConsumptionDescription_ai_energyQuantity, label.\
ai_energyUnit: prop_ai_EnergyConsumptionDescription_ai_energyUnit }
prop_ai_EnergyConsumptionDescription_ai_energyQuantity = int / \
float / tstr .regexp "^-?[0-9]+(\\.[0-9]*)?$"
prop_ai_EnergyConsumptionDescription_ai_energyUnit = enum.\
kilowattHour / enum.megajoule / enum.other
ai_EnergyUnitType = { label.type: const.ai_EnergyUnitType, ?label.@\
id: BlankNodeOrIRI, ?label.type: tstr, ~ai_EnergyUnitType_props }
ai_EnergyUnitType_derived = ai_EnergyUnitType / const.\
spdx_AI_EnergyUnitType_kilowattHour / const.\
spdx_AI_EnergyUnitType_megajoule / const.\
spdx_AI_EnergyUnitType_other / BlankNodeOrIRI
ai_EnergyUnitType_props = { ~SHACLClass, ~AnyObject }
ai_SafetyRiskAssessmentType = { label.type: const.\
ai_SafetyRiskAssessmentType, ?label.@id: BlankNodeOrIRI, ?label.type\
: tstr, ~ai_SafetyRiskAssessmentType_props }
ai_SafetyRiskAssessmentType_derived = ai_SafetyRiskAssessmentType / \
const.spdx_AI_SafetyRiskAssessmentType_high / const.\
spdx_AI_SafetyRiskAssessmentType_low / const.\
spdx_AI_SafetyRiskAssessmentType_medium / const.\
spdx_AI_SafetyRiskAssessmentType_serious / BlankNodeOrIRI
ai_SafetyRiskAssessmentType_props = { ~SHACLClass, ~AnyObject }
ai_AIPackage = { label.type: const.ai_AIPackage, label.spdxId: IRI, \
?label.type: tstr, ~ai_AIPackage_props }
ai_AIPackage_derived = ai_AIPackage / BlankNodeOrIRI
ai_AIPackage_props = { ~software_Package_props, ?label.\
ai_autonomyType: prop_ai_AIPackage_ai_autonomyType, ?label.ai_domain\
: [ * prop_ai_AIPackage_ai_domain ], ?label.ai_energyConsumption: \
prop_ai_AIPackage_ai_energyConsumption, ?label.ai_hyperparameter: [ \
* prop_ai_AIPackage_ai_hyperparameter ], ?label.\
ai_informationAboutApplication: \
prop_ai_AIPackage_ai_informationAboutApplication, ?label.\
ai_informationAboutTraining: \
prop_ai_AIPackage_ai_informationAboutTraining, ?label.ai_limitation\
: prop_ai_AIPackage_ai_limitation, ?label.ai_metric: [ * \
prop_ai_AIPackage_ai_metric ], ?label.ai_metricDecisionThreshold: [ \
* prop_ai_AIPackage_ai_metricDecisionThreshold ], ?label.\
ai_modelDataPreprocessing: [ * \
prop_ai_AIPackage_ai_modelDataPreprocessing ], ?label.\
ai_modelExplainability: [ * \
prop_ai_AIPackage_ai_modelExplainability ], ?label.\
ai_safetyRiskAssessment: prop_ai_AIPackage_ai_safetyRiskAssessment, \
?label.ai_standardCompliance: [ * \
prop_ai_AIPackage_ai_standardCompliance ], ?label.ai_typeOfModel: [ \
* prop_ai_AIPackage_ai_typeOfModel ], ?label.\
ai_useSensitivePersonalInformation: \
prop_ai_AIPackage_ai_useSensitivePersonalInformation }
prop_ai_AIPackage_ai_autonomyType = enum.no / enum.noAssertion / \
enum.yes
prop_ai_AIPackage_ai_domain = tstr
prop_ai_AIPackage_ai_energyConsumption = ai_EnergyConsumption_derived
prop_ai_AIPackage_ai_hyperparameter = DictionaryEntry_derived
prop_ai_AIPackage_ai_informationAboutApplication = tstr
prop_ai_AIPackage_ai_informationAboutTraining = tstr
prop_ai_AIPackage_ai_limitation = tstr
prop_ai_AIPackage_ai_metric = DictionaryEntry_derived
prop_ai_AIPackage_ai_metricDecisionThreshold = \
DictionaryEntry_derived
prop_ai_AIPackage_ai_modelDataPreprocessing = tstr
prop_ai_AIPackage_ai_modelExplainability = tstr
prop_ai_AIPackage_ai_safetyRiskAssessment = enum.high / enum.low / \
enum.medium / enum.serious
prop_ai_AIPackage_ai_standardCompliance = tstr
prop_ai_AIPackage_ai_typeOfModel = tstr
prop_ai_AIPackage_ai_useSensitivePersonalInformation = enum.no / \
enum.noAssertion / enum.yes
; Build Profile
build_Build = { label.type: const.build_Build, label.spdxId: IRI, ?\
label.type: tstr, ~build_Build_props }
build_Build_derived = build_Build / BlankNodeOrIRI
build_Build_props = { ~Element_props, ?label.build_buildEndTime: \
prop_build_Build_build_buildEndTime, ?label.build_buildId: \
prop_build_Build_build_buildId, ?label.build_buildStartTime: \
prop_build_Build_build_buildStartTime, label.build_buildType: \
prop_build_Build_build_buildType, ?label.build_configSourceDigest: \
[ * prop_build_Build_build_configSourceDigest ], ?label.\
build_configSourceEntrypoint: [ * \
prop_build_Build_build_configSourceEntrypoint ], ?label.\
build_configSourceUri: [ * prop_build_Build_build_configSourceUri ]\
, ?label.build_environment: [ * prop_build_Build_build_environment ]\
, ?label.build_parameter: [ * prop_build_Build_build_parameter ] }
prop_build_Build_build_buildEndTime = tstr .regexp "^[0-9]{4}-[0-1][\
0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9\
]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\\
d\\dZ$"
prop_build_Build_build_buildId = tstr
prop_build_Build_build_buildStartTime = tstr .regexp "^[0-9]{4}-[0-1\
][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0\
-9]{2})$" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\
\\d\\dZ$"
prop_build_Build_build_buildType = anyURI
prop_build_Build_build_configSourceDigest = Hash_derived
prop_build_Build_build_configSourceEntrypoint = tstr
prop_build_Build_build_configSourceUri = anyURI
prop_build_Build_build_environment = DictionaryEntry_derived
prop_build_Build_build_parameter = DictionaryEntry_derived
; Extension Profile
extension_CdxPropertyEntry = { label.type: const.\
extension_CdxPropertyEntry, ?label.@id: BlankNodeOrIRI, ?label.type\
: tstr, ~extension_CdxPropertyEntry_props }
extension_CdxPropertyEntry_derived = extension_CdxPropertyEntry / \
BlankNodeOrIRI
extension_CdxPropertyEntry_props = { ~SHACLClass, label.\
extension_cdxPropName: \
prop_extension_CdxPropertyEntry_extension_cdxPropName, ?label.\
extension_cdxPropValue: \
prop_extension_CdxPropertyEntry_extension_cdxPropValue }
prop_extension_CdxPropertyEntry_extension_cdxPropName = tstr
prop_extension_CdxPropertyEntry_extension_cdxPropValue = tstr
extension_Extension = { label.type: { ~IRI, }, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~extension_Extension_props }
extension_Extension_derived = extension_CdxPropertiesExtension / \
extension_Extension_props / BlankNodeOrIRI
extension_Extension_props = { ~SHACLClass, ~AnyObject }
extension_CdxPropertiesExtension = { label.type: const.\
extension_CdxPropertiesExtension, ?label.@id: BlankNodeOrIRI, ?label\
.type: tstr, ~extension_CdxPropertiesExtension_props }
extension_CdxPropertiesExtension_derived = \
extension_CdxPropertiesExtension / BlankNodeOrIRI
extension_CdxPropertiesExtension_props = { ~\
extension_Extension_props, label.extension_cdxProperty: [ + \
prop_extension_CdxPropertiesExtension_extension_cdxProperty ] }
prop_extension_CdxPropertiesExtension_extension_cdxProperty = \
extension_CdxPropertyEntry_derived
; Core Profile
AnnotationType = { label.type: const.AnnotationType, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~AnnotationType_props }
AnnotationType_derived = AnnotationType / const.\
spdx_Core_AnnotationType_other / const.\
spdx_Core_AnnotationType_review / BlankNodeOrIRI
AnnotationType_props = { ~SHACLClass, ~AnyObject }
CreationInfo = { label.type: const.CreationInfo, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~CreationInfo_props }
CreationInfo_derived = CreationInfo / BlankNodeOrIRI
CreationInfo_props = { ~SHACLClass, ?label.comment: \
prop_CreationInfo_comment, label.created: prop_CreationInfo_created\
, label.createdBy: [ + prop_CreationInfo_createdBy ], ?label.\
createdUsing: [ * prop_CreationInfo_createdUsing ], label.\
specVersion: prop_CreationInfo_specVersion }
prop_CreationInfo_comment = tstr
prop_CreationInfo_created = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3]\
[0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / \
tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_CreationInfo_createdBy = Agent_derived
prop_CreationInfo_createdUsing = Tool_derived
prop_CreationInfo_specVersion = tstr .regexp "^(0|[1-9]\\d*)\\.(0|[1\
-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-\
]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a\
-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
DictionaryEntry = { label.type: const.DictionaryEntry, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~DictionaryEntry_props }
DictionaryEntry_derived = DictionaryEntry / BlankNodeOrIRI
DictionaryEntry_props = { ~SHACLClass, label.key: \
prop_DictionaryEntry_key, ?label.value: prop_DictionaryEntry_value }
prop_DictionaryEntry_key = tstr
prop_DictionaryEntry_value = tstr
Element_derived = ai_AIPackage / build_Build / Agent / Annotation / \
Bom / Bundle / IndividualElement / LifecycleScopedRelationship / \
Organization / Person / Relationship / SoftwareAgent / SpdxDocument \
/ Tool / dataset_DatasetPackage / \
expandedlicensing_ConjunctiveLicenseSet / \
expandedlicensing_CustomLicense / \
expandedlicensing_CustomLicenseAddition / \
expandedlicensing_DisjunctiveLicenseSet / \
expandedlicensing_IndividualLicensingInfo / \
expandedlicensing_ListedLicense / \
expandedlicensing_ListedLicenseException / \
expandedlicensing_OrLaterOperator / \
expandedlicensing_WithAdditionOperator / \
security_CvssV2VulnAssessmentRelationship / \
security_CvssV3VulnAssessmentRelationship / \
security_CvssV4VulnAssessmentRelationship / \
security_EpssVulnAssessmentRelationship / \
security_ExploitCatalogVulnAssessmentRelationship / \
security_SsvcVulnAssessmentRelationship / \
security_VexAffectedVulnAssessmentRelationship / \
security_VexFixedVulnAssessmentRelationship / \
security_VexNotAffectedVulnAssessmentRelationship / \
security_VexUnderInvestigationVulnAssessmentRelationship / \
security_Vulnerability / simplelicensing_LicenseExpression / \
simplelicensing_SimpleLicensingText / software_File / \
software_Package / software_Sbom / software_Snippet / const.\
NoAssertionElement / const.NoneElement / const.SpdxOrganization / \
const.expandedlicensing_NoAssertionLicense / const.\
expandedlicensing_NoneLicense / BlankNodeOrIRI
Element_props = { ~SHACLClass, ?label.comment: prop_Element_comment\
, label.creationInfo: prop_Element_creationInfo, ?label.description\
: prop_Element_description, ?label.extension: [ * \
prop_Element_extension ], ?label.externalIdentifier: [ * \
prop_Element_externalIdentifier ], ?label.externalRef: [ * \
prop_Element_externalRef ], ?label.name: prop_Element_name, ?label.\
summary: prop_Element_summary, ?label.verifiedUsing: [ * \
prop_Element_verifiedUsing ] }
prop_Element_comment = tstr
prop_Element_creationInfo = CreationInfo_derived
prop_Element_description = tstr
prop_Element_extension = extension_Extension_derived
prop_Element_externalIdentifier = ExternalIdentifier_derived
prop_Element_externalRef = ExternalRef_derived
prop_Element_name = tstr
prop_Element_summary = tstr
prop_Element_verifiedUsing = IntegrityMethod_derived
ElementCollection_derived = Bom / Bundle / SpdxDocument / \
software_Sbom / BlankNodeOrIRI
ElementCollection_props = { ~Element_props, ?label.element: [ * \
prop_ElementCollection_element ], ?label.profileConformance: [ * \
prop_ElementCollection_profileConformance ], ?label.rootElement: [ \
* prop_ElementCollection_rootElement ] }
prop_ElementCollection_element = Element_derived
prop_ElementCollection_profileConformance = enum.ai / enum.build / \
enum.core / enum.dataset / enum.expandedLicensing / enum.extension \
/ enum.lite / enum.security / enum.simpleLicensing / enum.software
prop_ElementCollection_rootElement = Element_derived
ExternalIdentifier = { label.type: const.ExternalIdentifier, ?label.\
@id: BlankNodeOrIRI, ?label.type: tstr, ~ExternalIdentifier_props }
ExternalIdentifier_derived = ExternalIdentifier / BlankNodeOrIRI
ExternalIdentifier_props = { ~SHACLClass, ?label.comment: \
prop_ExternalIdentifier_comment, label.externalIdentifierType: \
prop_ExternalIdentifier_externalIdentifierType, label.identifier: \
prop_ExternalIdentifier_identifier, ?label.identifierLocator: [ * \
prop_ExternalIdentifier_identifierLocator ], ?label.issuingAuthority\
: prop_ExternalIdentifier_issuingAuthority }
prop_ExternalIdentifier_comment = tstr
prop_ExternalIdentifier_externalIdentifierType = enum.cpe22 / enum.\
cpe23 / enum.cve / enum.email / enum.gitoid / enum.other / enum.\
packageUrl / enum.securityOther / enum.swhid / enum.swid / enum.\
urlScheme
prop_ExternalIdentifier_identifier = tstr
prop_ExternalIdentifier_identifierLocator = anyURI
prop_ExternalIdentifier_issuingAuthority = tstr
ExternalIdentifierType = { label.type: const.ExternalIdentifierType\
, ?label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
ExternalIdentifierType_props }
ExternalIdentifierType_derived = ExternalIdentifierType / const.\
spdx_Core_ExternalIdentifierType_cpe22 / const.\
spdx_Core_ExternalIdentifierType_cpe23 / const.\
spdx_Core_ExternalIdentifierType_cve / const.\
spdx_Core_ExternalIdentifierType_email / const.\
spdx_Core_ExternalIdentifierType_gitoid / const.\
spdx_Core_ExternalIdentifierType_other / const.\
spdx_Core_ExternalIdentifierType_packageUrl / const.\
spdx_Core_ExternalIdentifierType_securityOther / const.\
spdx_Core_ExternalIdentifierType_swhid / const.\
spdx_Core_ExternalIdentifierType_swid / const.\
spdx_Core_ExternalIdentifierType_urlScheme / BlankNodeOrIRI
ExternalIdentifierType_props = { ~SHACLClass, ~AnyObject }
ExternalMap = { label.type: const.ExternalMap, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~ExternalMap_props }
ExternalMap_derived = ExternalMap / BlankNodeOrIRI
ExternalMap_props = { ~SHACLClass, ?label.definingArtifact: \
prop_ExternalMap_definingArtifact, label.externalSpdxId: \
prop_ExternalMap_externalSpdxId, ?label.locationHint: \
prop_ExternalMap_locationHint, ?label.verifiedUsing: [ * \
prop_ExternalMap_verifiedUsing ] }
prop_ExternalMap_definingArtifact = Artifact_derived
prop_ExternalMap_externalSpdxId = anyURI
prop_ExternalMap_locationHint = anyURI
prop_ExternalMap_verifiedUsing = IntegrityMethod_derived
ExternalRef = { label.type: const.ExternalRef, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~ExternalRef_props }
ExternalRef_derived = ExternalRef / BlankNodeOrIRI
ExternalRef_props = { ~SHACLClass, ?label.comment: \
prop_ExternalRef_comment, ?label.contentType: \
prop_ExternalRef_contentType, ?label.externalRefType: \
prop_ExternalRef_externalRefType, ?label.locator: [ * \
prop_ExternalRef_locator ] }
prop_ExternalRef_comment = tstr
prop_ExternalRef_contentType = tstr .regexp "^[^\\/]+\\/[^\\/]+$"
prop_ExternalRef_externalRefType = enum.altDownloadLocation / enum.\
altWebPage / enum.binaryArtifact / enum.bower / enum.buildMeta / \
enum.buildSystem / enum.certificationReport / enum.chat / enum.\
componentAnalysisReport / enum.cwe / enum.documentation / enum.\
dynamicAnalysisReport / enum.eolNotice / enum.\
exportControlAssessment / enum.funding / enum.issueTracker / enum.\
license / enum.mailingList / enum.mavenCentral / enum.metrics / enum\
.npm / enum.nuget / enum.other / enum.privacyAssessment / enum.\
productMetadata / enum.purchaseOrder / enum.qualityAssessmentReport \
/ enum.releaseHistory / enum.releaseNotes / enum.riskAssessment / \
enum.runtimeAnalysisReport / enum.secureSoftwareAttestation / enum.\
securityAdversaryModel / enum.securityAdvisory / enum.securityFix / \
enum.securityOther / enum.securityPenTestReport / enum.\
securityPolicy / enum.securityThreatModel / enum.socialMedia / enum.\
sourceArtifact / enum.staticAnalysisReport / enum.support / enum.\
vcs / enum.vulnerabilityDisclosureReport / enum.\
vulnerabilityExploitabilityAssessment
prop_ExternalRef_locator = tstr
ExternalRefType = { label.type: const.ExternalRefType, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~ExternalRefType_props }
ExternalRefType_derived = ExternalRefType / const.\
spdx_Core_ExternalRefType_altDownloadLocation / const.\
spdx_Core_ExternalRefType_altWebPage / const.\
spdx_Core_ExternalRefType_binaryArtifact / const.\
spdx_Core_ExternalRefType_bower / const.\
spdx_Core_ExternalRefType_buildMeta / const.\
spdx_Core_ExternalRefType_buildSystem / const.\
spdx_Core_ExternalRefType_certificationReport / const.\
spdx_Core_ExternalRefType_chat / const.\
spdx_Core_ExternalRefType_componentAnalysisReport / const.\
spdx_Core_ExternalRefType_cwe / const.\
spdx_Core_ExternalRefType_documentation / const.\
spdx_Core_ExternalRefType_dynamicAnalysisReport / const.\
spdx_Core_ExternalRefType_eolNotice / const.\
spdx_Core_ExternalRefType_exportControlAssessment / const.\
spdx_Core_ExternalRefType_funding / const.\
spdx_Core_ExternalRefType_issueTracker / const.\
spdx_Core_ExternalRefType_license / const.\
spdx_Core_ExternalRefType_mailingList / const.\
spdx_Core_ExternalRefType_mavenCentral / const.\
spdx_Core_ExternalRefType_metrics / const.\
spdx_Core_ExternalRefType_npm / const.\
spdx_Core_ExternalRefType_nuget / const.\
spdx_Core_ExternalRefType_other / const.\
spdx_Core_ExternalRefType_privacyAssessment / const.\
spdx_Core_ExternalRefType_productMetadata / const.\
spdx_Core_ExternalRefType_purchaseOrder / const.\
spdx_Core_ExternalRefType_qualityAssessmentReport / const.\
spdx_Core_ExternalRefType_releaseHistory / const.\
spdx_Core_ExternalRefType_releaseNotes / const.\
spdx_Core_ExternalRefType_riskAssessment / const.\
spdx_Core_ExternalRefType_runtimeAnalysisReport / const.\
spdx_Core_ExternalRefType_secureSoftwareAttestation / const.\
spdx_Core_ExternalRefType_securityAdversaryModel / const.\
spdx_Core_ExternalRefType_securityAdvisory / const.\
spdx_Core_ExternalRefType_securityFix / const.\
spdx_Core_ExternalRefType_securityOther / const.\
spdx_Core_ExternalRefType_securityPenTestReport / const.\
spdx_Core_ExternalRefType_securityPolicy / const.\
spdx_Core_ExternalRefType_securityThreatModel / const.\
spdx_Core_ExternalRefType_socialMedia / const.\
spdx_Core_ExternalRefType_sourceArtifact / const.\
spdx_Core_ExternalRefType_staticAnalysisReport / const.\
spdx_Core_ExternalRefType_support / const.\
spdx_Core_ExternalRefType_vcs / const.\
spdx_Core_ExternalRefType_vulnerabilityDisclosureReport / const.\
spdx_Core_ExternalRefType_vulnerabilityExploitabilityAssessment / \
BlankNodeOrIRI
ExternalRefType_props = { ~SHACLClass, ~AnyObject }
HashAlgorithm = { label.type: const.HashAlgorithm, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~HashAlgorithm_props }
HashAlgorithm_derived = HashAlgorithm / const.\
spdx_Core_HashAlgorithm_adler32 / const.\
spdx_Core_HashAlgorithm_blake2b256 / const.\
spdx_Core_HashAlgorithm_blake2b384 / const.\
spdx_Core_HashAlgorithm_blake2b512 / const.\
spdx_Core_HashAlgorithm_blake3 / const.\
spdx_Core_HashAlgorithm_crystalsDilithium / const.\
spdx_Core_HashAlgorithm_crystalsKyber / const.\
spdx_Core_HashAlgorithm_falcon / const.spdx_Core_HashAlgorithm_md2 \
/ const.spdx_Core_HashAlgorithm_md4 / const.\
spdx_Core_HashAlgorithm_md5 / const.spdx_Core_HashAlgorithm_md6 / \
const.spdx_Core_HashAlgorithm_other / const.\
spdx_Core_HashAlgorithm_sha1 / const.spdx_Core_HashAlgorithm_sha224 \
/ const.spdx_Core_HashAlgorithm_sha256 / const.\
spdx_Core_HashAlgorithm_sha384 / const.\
spdx_Core_HashAlgorithm_sha3_224 / const.\
spdx_Core_HashAlgorithm_sha3_256 / const.\
spdx_Core_HashAlgorithm_sha3_384 / const.\
spdx_Core_HashAlgorithm_sha3_512 / const.\
spdx_Core_HashAlgorithm_sha512 / BlankNodeOrIRI
HashAlgorithm_props = { ~SHACLClass, ~AnyObject }
IndividualElement = { label.type: const.IndividualElement, label.\
spdxId: IRI, ?label.type: tstr, ~IndividualElement_props }
IndividualElement_derived = IndividualElement / const.\
NoAssertionElement / const.NoneElement / BlankNodeOrIRI
IndividualElement_props = { ~Element_props, ~AnyObject }
IntegrityMethod_derived = Hash / PackageVerificationCode / \
software_ContentIdentifier / BlankNodeOrIRI
IntegrityMethod_props = { ~SHACLClass, ?label.comment: \
prop_IntegrityMethod_comment }
prop_IntegrityMethod_comment = tstr
LifecycleScopeType = { label.type: const.LifecycleScopeType, ?label.\
@id: BlankNodeOrIRI, ?label.type: tstr, ~LifecycleScopeType_props }
LifecycleScopeType_derived = LifecycleScopeType / const.\
spdx_Core_LifecycleScopeType_build / const.\
spdx_Core_LifecycleScopeType_design / const.\
spdx_Core_LifecycleScopeType_development / const.\
spdx_Core_LifecycleScopeType_other / const.\
spdx_Core_LifecycleScopeType_runtime / const.\
spdx_Core_LifecycleScopeType_test / BlankNodeOrIRI
LifecycleScopeType_props = { ~SHACLClass, ~AnyObject }
NamespaceMap = { label.type: const.NamespaceMap, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~NamespaceMap_props }
NamespaceMap_derived = NamespaceMap / BlankNodeOrIRI
NamespaceMap_props = { ~SHACLClass, label.namespace: \
prop_NamespaceMap_namespace, label.prefix: prop_NamespaceMap_prefix }
prop_NamespaceMap_namespace = anyURI
prop_NamespaceMap_prefix = tstr
PackageVerificationCode = { label.type: const.\
PackageVerificationCode, ?label.@id: BlankNodeOrIRI, ?label.type: \
tstr, ~PackageVerificationCode_props }
PackageVerificationCode_derived = PackageVerificationCode / \
BlankNodeOrIRI
PackageVerificationCode_props = { ~IntegrityMethod_props, label.\
algorithm: prop_PackageVerificationCode_algorithm, label.hashValue: \
prop_PackageVerificationCode_hashValue, ?label.\
packageVerificationCodeExcludedFile: [ * \
prop_PackageVerificationCode_packageVerificationCodeExcludedFile ] }
prop_PackageVerificationCode_algorithm = enum.adler32 / enum.\
blake2b256 / enum.blake2b384 / enum.blake2b512 / enum.blake3 / enum.\
crystalsDilithium / enum.crystalsKyber / enum.falcon / enum.md2 / \
enum.md4 / enum.md5 / enum.md6 / enum.other / enum.sha1 / enum.\
sha224 / enum.sha256 / enum.sha384 / enum.sha3_224 / enum.sha3_256 \
/ enum.sha3_384 / enum.sha3_512 / enum.sha512
prop_PackageVerificationCode_hashValue = tstr
prop_PackageVerificationCode_packageVerificationCodeExcludedFile = \
tstr
PositiveIntegerRange = { label.type: const.PositiveIntegerRange, ?\
label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
PositiveIntegerRange_props }
PositiveIntegerRange_derived = PositiveIntegerRange / BlankNodeOrIRI
PositiveIntegerRange_props = { ~SHACLClass, label.beginIntegerRange\
: prop_PositiveIntegerRange_beginIntegerRange, label.endIntegerRange\
: prop_PositiveIntegerRange_endIntegerRange }
prop_PositiveIntegerRange_beginIntegerRange = uint .ge 1
prop_PositiveIntegerRange_endIntegerRange = uint .ge 1
PresenceType = { label.type: const.PresenceType, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~PresenceType_props }
PresenceType_derived = PresenceType / const.\
spdx_Core_PresenceType_no / const.\
spdx_Core_PresenceType_noAssertion / const.\
spdx_Core_PresenceType_yes / BlankNodeOrIRI
PresenceType_props = { ~SHACLClass, ~AnyObject }
ProfileIdentifierType = { label.type: const.ProfileIdentifierType, ?\
label.@id: BlankNodeOrIRI, ?label.type: tstr, ~\
ProfileIdentifierType_props }
ProfileIdentifierType_derived = ProfileIdentifierType / const.\
spdx_Core_ProfileIdentifierType_ai / const.\
spdx_Core_ProfileIdentifierType_build / const.\
spdx_Core_ProfileIdentifierType_core / const.\
spdx_Core_ProfileIdentifierType_dataset / const.\
spdx_Core_ProfileIdentifierType_expandedLicensing / const.\
spdx_Core_ProfileIdentifierType_extension / const.\
spdx_Core_ProfileIdentifierType_lite / const.\
spdx_Core_ProfileIdentifierType_security / const.\
spdx_Core_ProfileIdentifierType_simpleLicensing / const.\
spdx_Core_ProfileIdentifierType_software / BlankNodeOrIRI
ProfileIdentifierType_props = { ~SHACLClass, ~AnyObject }
Relationship = { label.type: const.Relationship, label.spdxId: IRI, \
?label.type: tstr, ~Relationship_props }
Relationship_derived = LifecycleScopedRelationship / \
security_CvssV2VulnAssessmentRelationship / \
security_CvssV3VulnAssessmentRelationship / \
security_CvssV4VulnAssessmentRelationship / \
security_EpssVulnAssessmentRelationship / \
security_ExploitCatalogVulnAssessmentRelationship / \
security_SsvcVulnAssessmentRelationship / \
security_VexAffectedVulnAssessmentRelationship / \
security_VexFixedVulnAssessmentRelationship / \
security_VexNotAffectedVulnAssessmentRelationship / \
security_VexUnderInvestigationVulnAssessmentRelationship / \
Relationship / BlankNodeOrIRI
Relationship_props = { ~Element_props, ?label.completeness: \
prop_Relationship_completeness, ?label.endTime: \
prop_Relationship_endTime, label.from: prop_Relationship_from_, \
label.relationshipType: prop_Relationship_relationshipType, ?label.\
startTime: prop_Relationship_startTime, label.to: [ + \
prop_Relationship_to ] }
prop_Relationship_completeness = enum.complete / enum.incomplete / \
enum.noAssertion
prop_Relationship_endTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3]\
[0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / \
tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_Relationship_from_ = Element_derived
prop_Relationship_relationshipType = enum.affects / enum.amendedBy \
/ enum.ancestorOf / enum.availableFrom / enum.configures / enum.\
contains / enum.coordinatedBy / enum.copiedTo / enum.delegatedTo / \
enum.dependsOn / enum.descendantOf / enum.describes / enum.\
doesNotAffect / enum.expandsTo / enum.exploitCreatedBy / enum.\
fixedBy / enum.fixedIn / enum.foundBy / enum.generates / enum.\
hasAddedFile / enum.hasAssessmentFor / enum.\
hasAssociatedVulnerability / enum.hasConcludedLicense / enum.\
hasDataFile / enum.hasDeclaredLicense / enum.hasDeletedFile / enum.\
hasDependencyManifest / enum.hasDistributionArtifact / enum.\
hasDocumentation / enum.hasDynamicLink / enum.hasEvidence / enum.\
hasExample / enum.hasHost / enum.hasInput / enum.hasMetadata / enum.\
hasOptionalComponent / enum.hasOptionalDependency / enum.hasOutput \
/ enum.hasPrerequisite / enum.hasProvidedDependency / enum.\
hasRequirement / enum.hasSpecification / enum.hasStaticLink / enum.\
hasTest / enum.hasTestCase / enum.hasVariant / enum.invokedBy / enum\
.modifiedBy / enum.other / enum.packagedBy / enum.patchedBy / enum.\
publishedBy / enum.reportedBy / enum.republishedBy / enum.\
serializedInArtifact / enum.testedOn / enum.trainedOn / enum.\
underInvestigationFor / enum.usesTool
prop_Relationship_startTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-\
3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" \
/ tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_Relationship_to = Element_derived
RelationshipCompleteness = { label.type: const.\
RelationshipCompleteness, ?label.@id: BlankNodeOrIRI, ?label.type: \
tstr, ~RelationshipCompleteness_props }
RelationshipCompleteness_derived = RelationshipCompleteness / const.\
spdx_Core_RelationshipCompleteness_complete / const.\
spdx_Core_RelationshipCompleteness_incomplete / const.\
spdx_Core_RelationshipCompleteness_noAssertion / BlankNodeOrIRI
RelationshipCompleteness_props = { ~SHACLClass, ~AnyObject }
RelationshipType = { label.type: const.RelationshipType, ?label.@id\
: BlankNodeOrIRI, ?label.type: tstr, ~RelationshipType_props }
RelationshipType_derived = RelationshipType / const.\
spdx_Core_RelationshipType_affects / const.\
spdx_Core_RelationshipType_amendedBy / const.\
spdx_Core_RelationshipType_ancestorOf / const.\
spdx_Core_RelationshipType_availableFrom / const.\
spdx_Core_RelationshipType_configures / const.\
spdx_Core_RelationshipType_contains / const.\
spdx_Core_RelationshipType_coordinatedBy / const.\
spdx_Core_RelationshipType_copiedTo / const.\
spdx_Core_RelationshipType_delegatedTo / const.\
spdx_Core_RelationshipType_dependsOn / const.\
spdx_Core_RelationshipType_descendantOf / const.\
spdx_Core_RelationshipType_describes / const.\
spdx_Core_RelationshipType_doesNotAffect / const.\
spdx_Core_RelationshipType_expandsTo / const.\
spdx_Core_RelationshipType_exploitCreatedBy / const.\
spdx_Core_RelationshipType_fixedBy / const.\
spdx_Core_RelationshipType_fixedIn / const.\
spdx_Core_RelationshipType_foundBy / const.\
spdx_Core_RelationshipType_generates / const.\
spdx_Core_RelationshipType_hasAddedFile / const.\
spdx_Core_RelationshipType_hasAssessmentFor / const.\
spdx_Core_RelationshipType_hasAssociatedVulnerability / const.\
spdx_Core_RelationshipType_hasConcludedLicense / const.\
spdx_Core_RelationshipType_hasDataFile / const.\
spdx_Core_RelationshipType_hasDeclaredLicense / const.\
spdx_Core_RelationshipType_hasDeletedFile / const.\
spdx_Core_RelationshipType_hasDependencyManifest / const.\
spdx_Core_RelationshipType_hasDistributionArtifact / const.\
spdx_Core_RelationshipType_hasDocumentation / const.\
spdx_Core_RelationshipType_hasDynamicLink / const.\
spdx_Core_RelationshipType_hasEvidence / const.\
spdx_Core_RelationshipType_hasExample / const.\
spdx_Core_RelationshipType_hasHost / const.\
spdx_Core_RelationshipType_hasInput / const.\
spdx_Core_RelationshipType_hasMetadata / const.\
spdx_Core_RelationshipType_hasOptionalComponent / const.\
spdx_Core_RelationshipType_hasOptionalDependency / const.\
spdx_Core_RelationshipType_hasOutput / const.\
spdx_Core_RelationshipType_hasPrerequisite / const.\
spdx_Core_RelationshipType_hasProvidedDependency / const.\
spdx_Core_RelationshipType_hasRequirement / const.\
spdx_Core_RelationshipType_hasSpecification / const.\
spdx_Core_RelationshipType_hasStaticLink / const.\
spdx_Core_RelationshipType_hasTest / const.\
spdx_Core_RelationshipType_hasTestCase / const.\
spdx_Core_RelationshipType_hasVariant / const.\
spdx_Core_RelationshipType_invokedBy / const.\
spdx_Core_RelationshipType_modifiedBy / const.\
spdx_Core_RelationshipType_other / const.\
spdx_Core_RelationshipType_packagedBy / const.\
spdx_Core_RelationshipType_patchedBy / const.\
spdx_Core_RelationshipType_publishedBy / const.\
spdx_Core_RelationshipType_reportedBy / const.\
spdx_Core_RelationshipType_republishedBy / const.\
spdx_Core_RelationshipType_serializedInArtifact / const.\
spdx_Core_RelationshipType_testedOn / const.\
spdx_Core_RelationshipType_trainedOn / const.\
spdx_Core_RelationshipType_underInvestigationFor / const.\
spdx_Core_RelationshipType_usesTool / BlankNodeOrIRI
RelationshipType_props = { ~SHACLClass, ~AnyObject }
SpdxDocument = { label.type: const.SpdxDocument, label.spdxId: IRI, \
?label.type: tstr, ~SpdxDocument_props }
SpdxDocument_derived = SpdxDocument / BlankNodeOrIRI
SpdxDocument_props = { ~ElementCollection_props, ?label.dataLicense\
: prop_SpdxDocument_dataLicense, ?label.import: [ * \
prop_SpdxDocument_import_ ], ?label.namespaceMap: [ * \
prop_SpdxDocument_namespaceMap ] }
prop_SpdxDocument_dataLicense = \
simplelicensing_AnyLicenseInfo_derived
prop_SpdxDocument_import_ = ExternalMap_derived
prop_SpdxDocument_namespaceMap = NamespaceMap_derived
SupportType = { label.type: const.SupportType, ?label.@id: \
BlankNodeOrIRI, ?label.type: tstr, ~SupportType_props }
SupportType_derived = SupportType / const.\
spdx_Core_SupportType_deployed / const.\
spdx_Core_SupportType_development / const.\
spdx_Core_SupportType_endOfSupport / const.\
spdx_Core_SupportType_limitedSupport / const.\
spdx_Core_SupportType_noAssertion / const.\
spdx_Core_SupportType_noSupport / const.\
spdx_Core_SupportType_support / BlankNodeOrIRI
SupportType_props = { ~SHACLClass, ~AnyObject }
Tool = { label.type: const.Tool, label.spdxId: IRI, ?label.type: \
tstr, ~Tool_props }
Tool_derived = Tool / BlankNodeOrIRI
Tool_props = { ~Element_props, ~AnyObject }
Agent = { label.type: const.Agent, label.spdxId: IRI, ?label.type: \
tstr, ~Agent_props }
Agent_derived = Organization / Person / SoftwareAgent / Agent / \
const.SpdxOrganization / BlankNodeOrIRI
Agent_props = { ~Element_props, ~AnyObject }
Annotation = { label.type: const.Annotation, label.spdxId: IRI, ?\
label.type: tstr, ~Annotation_props }
Annotation_derived = Annotation / BlankNodeOrIRI
Annotation_props = { ~Element_props, label.annotationType: \
prop_Annotation_annotationType, ?label.contentType: \
prop_Annotation_contentType, ?label.statement: \
prop_Annotation_statement, label.subject: prop_Annotation_subject }
prop_Annotation_annotationType = enum.other / enum.review
prop_Annotation_contentType = tstr .regexp "^[^\\/]+\\/[^\\/]+$"
prop_Annotation_statement = tstr
prop_Annotation_subject = Element_derived
Artifact_derived = ai_AIPackage / dataset_DatasetPackage / \
security_Vulnerability / software_File / software_Package / \
software_Snippet / BlankNodeOrIRI
Artifact_props = { ~Element_props, ?label.builtTime: \
prop_Artifact_builtTime, ?label.originatedBy: [ * \
prop_Artifact_originatedBy ], ?label.releaseTime: \
prop_Artifact_releaseTime, ?label.standardName: [ * \
prop_Artifact_standardName ], ?label.suppliedBy: \
prop_Artifact_suppliedBy, ?label.supportLevel: [ * \
prop_Artifact_supportLevel ], ?label.validUntilTime: \
prop_Artifact_validUntilTime }
prop_Artifact_builtTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3][0\
-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / \
tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_Artifact_originatedBy = Agent_derived
prop_Artifact_releaseTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0-3]\
[0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$" / \
tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
prop_Artifact_standardName = tstr
prop_Artifact_suppliedBy = Agent_derived
prop_Artifact_supportLevel = enum.deployed / enum.development / enum\
.endOfSupport / enum.limitedSupport / enum.noAssertion / enum.\
noSupport / enum.support
prop_Artifact_validUntilTime = tstr .regexp "^[0-9]{4}-[0-1][0-9]-[0\
-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](Z|[+-][0-9]{2}:[0-9]{2})$\
" / tstr .regexp "^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$"
Bundle = { label.type: const.Bundle, label.spdxId: IRI, ?label.type\
: tstr, ~Bundle_props }
Bundle_derived = Bom / software_Sbom / Bundle / BlankNodeOrIRI
Bundle_props = { ~ElementCollection_props, ?label.context: \
prop_Bundle_context }
prop_Bundle_context = tstr
Hash = { label.type: const.Hash, ?label.@id: BlankNodeOrIRI, ?label.\
type: tstr, ~Hash_props }
Hash_derived = Hash / BlankNodeOrIRI
Hash_props = { ~IntegrityMethod_props, label.algorithm: \
prop_Hash_algorithm, label.hashValue: prop_Hash_hashValue }
prop_Hash_algorithm = enum.adler32 / enum.blake2b256 / enum.\
blake2b384 / enum.blake2b512 / enum.blake3 / enum.crystalsDilithium \
/ enum.crystalsKyber / enum.falcon / enum.md2 / enum.md4 / enum.md5 \
/ enum.md6 / enum.other / enum.sha1 / enum.sha224 / enum.sha256 / \
enum.sha384 / enum.sha3_224 / enum.sha3_256 / enum.sha3_384 / enum.\
sha3_512 / enum.sha512
prop_Hash_hashValue = tstr
LifecycleScopedRelationship = { label.type: const.\
LifecycleScopedRelationship, label.spdxId: IRI, ?label.type: tstr, ~\
LifecycleScopedRelationship_props }
LifecycleScopedRelationship_derived = LifecycleScopedRelationship / \
BlankNodeOrIRI
LifecycleScopedRelationship_props = { ~Relationship_props, ?label.\
scope: prop_LifecycleScopedRelationship_scope }
prop_LifecycleScopedRelationship_scope = enum.build / enum.design / \
enum.development / enum.other / enum.runtime / enum.test
Organization = { label.type: const.Organization, label.spdxId: IRI, \
?label.type: tstr, ~Organization_props }
Organization_derived = Organization / const.SpdxOrganization / \
BlankNodeOrIRI
Organization_props = { ~Agent_props, ~AnyObject }
Person = { label.type: const.Person, label.spdxId: IRI, ?label.type\
: tstr, ~Person_props }
Person_derived = Person / BlankNodeOrIRI
Person_props = { ~Agent_props, ~AnyObject }
SoftwareAgent = { label.type: const.SoftwareAgent, label.spdxId: IRI\
, ?label.type: tstr, ~SoftwareAgent_props }
SoftwareAgent_derived = SoftwareAgent / BlankNodeOrIRI
SoftwareAgent_props = { ~Agent_props, ~AnyObject }
Bom = { label.type: const.Bom, label.spdxId: IRI, ?label.type: tstr\
, ~Bom_props }
Bom_derived = software_Sbom / Bom / BlankNodeOrIRI
Bom_props = { ~Bundle_props, ~AnyObject }
IRI = tstr .regexp "^(?!_:).+:.+"
BlankNode = tstr .regexp "^_:.+"
BlankNodeOrIRI = IRI / BlankNode
anyURI = tstr
SHACLClass = { label.type: IRI / enum.ai_EnergyConsumption / enum.\
ai_EnergyConsumptionDescription / enum.ai_EnergyUnitType / enum.\
ai_SafetyRiskAssessmentType / enum.AnnotationType / enum.\
CreationInfo / enum.DictionaryEntry / enum.ExternalIdentifier / enum\
.ExternalIdentifierType / enum.ExternalMap / enum.ExternalRef / enum\
.ExternalRefType / enum.HashAlgorithm / enum.IndividualElement / \
enum.LifecycleScopeType / enum.NamespaceMap / enum.\
PackageVerificationCode / enum.PositiveIntegerRange / enum.\
PresenceType / enum.ProfileIdentifierType / enum.Relationship / enum\
.RelationshipCompleteness / enum.RelationshipType / enum.\
SpdxDocument / enum.SupportType / enum.Tool / enum.\
dataset_ConfidentialityLevelType / enum.\
dataset_DatasetAvailabilityType / enum.dataset_DatasetType / enum.\
expandedlicensing_ListedLicenseException / enum.\
extension_CdxPropertyEntry / enum.security_CvssSeverityType / enum.\
security_ExploitCatalogType / enum.security_SsvcDecisionType / enum.\
security_VexJustificationType / enum.\
simplelicensing_LicenseExpression / enum.\
simplelicensing_SimpleLicensingText / enum.\
software_ContentIdentifier / enum.software_ContentIdentifierType / \
enum.software_FileKindType / enum.software_SbomType / enum.\
software_SoftwarePurpose / enum.build_Build / enum.Agent / enum.\
Annotation / enum.Bundle / enum.Hash / enum.\
LifecycleScopedRelationship / enum.Organization / enum.Person / enum\
.SoftwareAgent / enum.expandedlicensing_ConjunctiveLicenseSet / enum\
.expandedlicensing_CustomLicenseAddition / enum.\
expandedlicensing_DisjunctiveLicenseSet / enum.\
expandedlicensing_IndividualLicensingInfo / enum.\
expandedlicensing_ListedLicense / enum.\
expandedlicensing_OrLaterOperator / enum.\
expandedlicensing_WithAdditionOperator / enum.\
extension_CdxPropertiesExtension / enum.\
security_CvssV2VulnAssessmentRelationship / enum.\
security_CvssV3VulnAssessmentRelationship / enum.\
security_CvssV4VulnAssessmentRelationship / enum.\
security_EpssVulnAssessmentRelationship / enum.\
security_ExploitCatalogVulnAssessmentRelationship / enum.\
security_SsvcVulnAssessmentRelationship / enum.\
security_Vulnerability / enum.Bom / enum.\
expandedlicensing_CustomLicense / enum.\
security_VexAffectedVulnAssessmentRelationship / enum.\
security_VexFixedVulnAssessmentRelationship / enum.\
security_VexNotAffectedVulnAssessmentRelationship / enum.\
security_VexUnderInvestigationVulnAssessmentRelationship / enum.\
software_File / enum.software_Package / enum.software_Sbom / enum.\
software_Snippet / enum.ai_AIPackage / enum.dataset_DatasetPackage }
AnyClass = ai_EnergyConsumption / ai_EnergyConsumptionDescription / \
ai_EnergyUnitType / ai_SafetyRiskAssessmentType / AnnotationType / \
CreationInfo / DictionaryEntry / ExternalIdentifier / \
ExternalIdentifierType / ExternalMap / ExternalRef / \
ExternalRefType / HashAlgorithm / IndividualElement / \
LifecycleScopeType / NamespaceMap / PackageVerificationCode / \
PositiveIntegerRange / PresenceType / ProfileIdentifierType / \
Relationship / RelationshipCompleteness / RelationshipType / \
SpdxDocument / SupportType / Tool / \
dataset_ConfidentialityLevelType / dataset_DatasetAvailabilityType \
/ dataset_DatasetType / expandedlicensing_ListedLicenseException / \
extension_CdxPropertyEntry / security_CvssSeverityType / \
security_ExploitCatalogType / security_SsvcDecisionType / \
security_VexJustificationType / simplelicensing_LicenseExpression / \
simplelicensing_SimpleLicensingText / software_ContentIdentifier / \
software_ContentIdentifierType / software_FileKindType / \
software_SbomType / software_SoftwarePurpose / build_Build / Agent \
/ Annotation / Bundle / Hash / LifecycleScopedRelationship / \
Organization / Person / SoftwareAgent / \
expandedlicensing_ConjunctiveLicenseSet / \
expandedlicensing_CustomLicenseAddition / \
expandedlicensing_DisjunctiveLicenseSet / \
expandedlicensing_IndividualLicensingInfo / \
expandedlicensing_ListedLicense / expandedlicensing_OrLaterOperator \
/ expandedlicensing_WithAdditionOperator / \
extension_CdxPropertiesExtension / \
security_CvssV2VulnAssessmentRelationship / \
security_CvssV3VulnAssessmentRelationship / \
security_CvssV4VulnAssessmentRelationship / \
security_EpssVulnAssessmentRelationship / \
security_ExploitCatalogVulnAssessmentRelationship / \
security_SsvcVulnAssessmentRelationship / security_Vulnerability / \
Bom / expandedlicensing_CustomLicense / \
security_VexAffectedVulnAssessmentRelationship / \
security_VexFixedVulnAssessmentRelationship / \
security_VexNotAffectedVulnAssessmentRelationship / \
security_VexUnderInvestigationVulnAssessmentRelationship / \
software_File / software_Package / software_Sbom / software_Snippet \
/ ai_AIPackage / dataset_DatasetPackage
AnyObject = { * any => any }
; Value mapping for label entries (0-163)
label.@graph = 1
label.type = 2
label.@id = 3
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
contentIdentifierType/
label.software_contentIdentifierType = 4
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
contentIdentifierValue/
label.software_contentIdentifierValue = 5
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
additionalPurpose/
label.software_additionalPurpose = 6
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
attributionText/
label.software_attributionText = 7
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
contentIdentifier/
label.software_contentIdentifier = 8
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
copyrightText/
label.software_copyrightText = 9
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
primaryPurpose/
label.software_primaryPurpose = 10
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
spdxId/
label.spdxId = 11
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
contentType/
label.contentType = 12
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
fileKind/
label.software_fileKind = 13
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
downloadLocation/
label.software_downloadLocation = 14
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
homePage/
label.software_homePage = 15
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
packageUrl/
label.software_packageUrl = 16
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
packageVersion/
label.software_packageVersion = 17
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
sourceInfo/
label.software_sourceInfo = 18
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
sbomType/
label.software_sbomType = 19
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
byteRange/
label.software_byteRange = 20
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
lineRange/
label.software_lineRange = 21
; https://spdx.github.io/spdx-spec/v3.0.1/model/Software/Properties/\
snippetFromFile/
label.software_snippetFromFile = 22
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
suppliedBy/
label.suppliedBy = 23
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
assessedElement/
label.security_assessedElement = 24
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
modifiedTime/
label.security_modifiedTime = 25
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
publishedTime/
label.security_publishedTime = 26
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
withdrawnTime/
label.security_withdrawnTime = 27
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
score/
label.security_score = 28
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
vectorString/
label.security_vectorString = 29
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
severity/
label.security_severity = 30
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
percentile/
label.security_percentile = 31
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
probability/
label.security_probability = 32
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
catalogType/
label.security_catalogType = 33
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
exploited/
label.security_exploited = 34
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
locator/
label.security_locator = 35
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
decisionType/
label.security_decisionType = 36
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
statusNotes/
label.security_statusNotes = 37
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
vexVersion/
label.security_vexVersion = 38
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
actionStatement/
label.security_actionStatement = 39
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
actionStatementTime/
label.security_actionStatementTime = 40
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
impactStatement/
label.security_impactStatement = 41
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
impactStatementTime/
label.security_impactStatementTime = 42
; https://spdx.github.io/spdx-spec/v3.0.1/model/Security/Properties/\
justificationType/
label.security_justificationType = 43
; https://spdx.github.io/spdx-spec/v3.0.1/model/SimpleLicensing/\
Properties/customIdToUri/
label.simplelicensing_customIdToUri = 44
; https://spdx.github.io/spdx-spec/v3.0.1/model/SimpleLicensing/\
Properties/licenseExpression/
label.simplelicensing_licenseExpression = 45
; https://spdx.github.io/spdx-spec/v3.0.1/model/SimpleLicensing/\
Properties/licenseListVersion/
label.simplelicensing_licenseListVersion = 46
; https://spdx.github.io/spdx-spec/v3.0.1/model/SimpleLicensing/\
Properties/licenseText/
label.simplelicensing_licenseText = 47
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/additionText/
label.expandedlicensing_additionText = 48
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/isDeprecatedAdditionId/
label.expandedlicensing_isDeprecatedAdditionId = 49
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/licenseXml/
label.expandedlicensing_licenseXml = 50
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/obsoletedBy/
label.expandedlicensing_obsoletedBy = 51
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/seeAlso/
label.expandedlicensing_seeAlso = 52
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/standardAdditionTemplate/
label.expandedlicensing_standardAdditionTemplate = 53
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/deprecatedVersion/
label.expandedlicensing_deprecatedVersion = 54
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/listVersionAdded/
label.expandedlicensing_listVersionAdded = 55
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/member/
label.expandedlicensing_member = 56
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/isDeprecatedLicenseId/
label.expandedlicensing_isDeprecatedLicenseId = 57
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/isFsfLibre/
label.expandedlicensing_isFsfLibre = 58
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/isOsiApproved/
label.expandedlicensing_isOsiApproved = 59
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/standardLicenseHeader/
label.expandedlicensing_standardLicenseHeader = 60
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/standardLicenseTemplate/
label.expandedlicensing_standardLicenseTemplate = 61
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/subjectLicense/
label.expandedlicensing_subjectLicense = 62
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/subjectAddition/
label.expandedlicensing_subjectAddition = 63
; https://spdx.github.io/spdx-spec/v3.0.1/model/ExpandedLicensing/\
Properties/subjectExtendableLicense/
label.expandedlicensing_subjectExtendableLicense = 64
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
anonymizationMethodUsed/
label.dataset_anonymizationMethodUsed = 65
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
confidentialityLevel/
label.dataset_confidentialityLevel = 66
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
dataCollectionProcess/
label.dataset_dataCollectionProcess = 67
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
dataPreprocessing/
label.dataset_dataPreprocessing = 68
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
datasetAvailability/
label.dataset_datasetAvailability = 69
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
datasetNoise/
label.dataset_datasetNoise = 70
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
datasetSize/
label.dataset_datasetSize = 71
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
datasetType/
label.dataset_datasetType = 72
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
datasetUpdateMechanism/
label.dataset_datasetUpdateMechanism = 73
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
hasSensitivePersonalInformation/
label.dataset_hasSensitivePersonalInformation = 74
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
intendedUse/
label.dataset_intendedUse = 75
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
knownBias/
label.dataset_knownBias = 76
; https://spdx.github.io/spdx-spec/v3.0.1/model/Dataset/Properties/\
sensor/
label.dataset_sensor = 77
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
finetuningEnergyConsumption/
label.ai_finetuningEnergyConsumption = 78
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
inferenceEnergyConsumption/
label.ai_inferenceEnergyConsumption = 79
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
trainingEnergyConsumption/
label.ai_trainingEnergyConsumption = 80
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
energyQuantity/
label.ai_energyQuantity = 81
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
energyUnit/
label.ai_energyUnit = 82
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
autonomyType/
label.ai_autonomyType = 83
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/domain/
label.ai_domain = 84
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
energyConsumption/
label.ai_energyConsumption = 85
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
hyperparameter/
label.ai_hyperparameter = 86
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
informationAboutApplication/
label.ai_informationAboutApplication = 87
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
informationAboutTraining/
label.ai_informationAboutTraining = 88
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
limitation/
label.ai_limitation = 89
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/metric/
label.ai_metric = 90
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
metricDecisionThreshold/
label.ai_metricDecisionThreshold = 91
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
modelDataPreprocessing/
label.ai_modelDataPreprocessing = 92
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
modelExplainability/
label.ai_modelExplainability = 93
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
safetyRiskAssessment/
label.ai_safetyRiskAssessment = 94
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
standardCompliance/
label.ai_standardCompliance = 95
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
typeOfModel/
label.ai_typeOfModel = 96
; https://spdx.github.io/spdx-spec/v3.0.1/model/AI/Properties/\
useSensitivePersonalInformation/
label.ai_useSensitivePersonalInformation = 97
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
buildEndTime/
label.build_buildEndTime = 98
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
buildId/
label.build_buildId = 99
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
buildStartTime/
label.build_buildStartTime = 100
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
buildType/
label.build_buildType = 101
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
configSourceDigest/
label.build_configSourceDigest = 102
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
configSourceEntrypoint/
label.build_configSourceEntrypoint = 103
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
configSourceUri/
label.build_configSourceUri = 104
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
environment/
label.build_environment = 105
; https://spdx.github.io/spdx-spec/v3.0.1/model/Build/Properties/\
parameter/
label.build_parameter = 106
; https://spdx.github.io/spdx-spec/v3.0.1/model/Extension/Properties\
/cdxPropName/
label.extension_cdxPropName = 107
; https://spdx.github.io/spdx-spec/v3.0.1/model/Extension/Properties\
/cdxPropValue/
label.extension_cdxPropValue = 108
; https://spdx.github.io/spdx-spec/v3.0.1/model/Extension/Properties\
/cdxProperty/
label.extension_cdxProperty = 109
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
comment/
label.comment = 110
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
created/
label.created = 111
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
createdBy/
label.createdBy = 112
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
createdUsing/
label.createdUsing = 113
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
specVersion/
label.specVersion = 114
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/key/
label.key = 115
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
value/
label.value = 116
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
creationInfo/
label.creationInfo = 117
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
description/
label.description = 118
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
extension/
label.extension = 119
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
externalIdentifier/
label.externalIdentifier = 120
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
externalRef/
label.externalRef = 121
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/name/
label.name = 122
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
summary/
label.summary = 123
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
verifiedUsing/
label.verifiedUsing = 124
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
element/
label.element = 125
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
profileConformance/
label.profileConformance = 126
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
rootElement/
label.rootElement = 127
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
externalIdentifierType/
label.externalIdentifierType = 128
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
identifier/
label.identifier = 129
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
identifierLocator/
label.identifierLocator = 130
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
issuingAuthority/
label.issuingAuthority = 131
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
definingArtifact/
label.definingArtifact = 132
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
externalSpdxId/
label.externalSpdxId = 133
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
locationHint/
label.locationHint = 134
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
externalRefType/
label.externalRefType = 135
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
locator/
label.locator = 136
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
namespace/
label.namespace = 137
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
prefix/
label.prefix = 138
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
algorithm/
label.algorithm = 139
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
hashValue/
label.hashValue = 140
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
packageVerificationCodeExcludedFile/
label.packageVerificationCodeExcludedFile = 141
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
beginIntegerRange/
label.beginIntegerRange = 142
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
endIntegerRange/
label.endIntegerRange = 143
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
completeness/
label.completeness = 144
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
endTime/
label.endTime = 145
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/from/
label.from = 146
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
relationshipType/
label.relationshipType = 147
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
startTime/
label.startTime = 148
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/to/
label.to = 149
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
dataLicense/
label.dataLicense = 150
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
import/
label.import = 151
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
namespaceMap/
label.namespaceMap = 152
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
annotationType/
label.annotationType = 153
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
statement/
label.statement = 154
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
subject/
label.subject = 155
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
builtTime/
label.builtTime = 156
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
originatedBy/
label.originatedBy = 157
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
releaseTime/
label.releaseTime = 158
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
standardName/
label.standardName = 159
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
supportLevel/
label.supportLevel = 160
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
validUntilTime/
label.validUntilTime = 161
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
context/
label.context = 162
; https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Properties/\
scope/
label.scope = 163
; Value mapping for enum entries (1000-1303)
enum.gitoid = 1001
enum.swhid = 1002
enum.application = 1003
enum.archive = 1004
enum.bom = 1005
enum.configuration = 1006
enum.container = 1007
enum.data = 1008
enum.device = 1009
enum.deviceDriver = 1010
enum.diskImage = 1011
enum.documentation = 1012
enum.evidence = 1013
enum.executable = 1014
enum.file = 1015
enum.filesystemImage = 1016
enum.firmware = 1017
enum.framework = 1018
enum.install = 1019
enum.library = 1020
enum.manifest = 1021
enum.model = 1022
enum.module = 1023
enum.operatingSystem = 1024
enum.other = 1025
enum.patch = 1026
enum.platform = 1027
enum.requirement = 1028
enum.source = 1029
enum.specification = 1030
enum.test = 1031
enum.directory = 1032
enum.analyzed = 1033
enum.build = 1034
enum.deployed = 1035
enum.design = 1036
enum.runtime = 1037
enum.critical = 1038
enum.high = 1039
enum.low = 1040
enum.medium = 1041
enum.none = 1042
enum.kev = 1043
enum.act = 1044
enum.attend = 1045
enum.track = 1046
enum.trackStar = 1047
enum.componentNotPresent = 1048
enum.inlineMitigationsAlreadyExist = 1049
enum.vulnerableCodeCannotBeControlledByAdversary = 1050
enum.vulnerableCodeNotInExecutePath = 1051
enum.vulnerableCodeNotPresent = 1052
enum.amber = 1053
enum.clear = 1054
enum.green = 1055
enum.red = 1056
enum.clickthrough = 1057
enum.directDownload = 1058
enum.query = 1059
enum.registration = 1060
enum.scrapingScript = 1061
enum.audio = 1062
enum.categorical = 1063
enum.graph = 1064
enum.image = 1065
enum.noAssertion = 1066
enum.numeric = 1067
enum.sensor = 1068
enum.structured = 1069
enum.syntactic = 1070
enum.text = 1071
enum.timeseries = 1072
enum.timestamp = 1073
enum.video = 1074
enum.no = 1075
enum.yes = 1076
enum.kilowattHour = 1077
enum.megajoule = 1078
enum.serious = 1079
enum.ai = 1080
enum.core = 1081
enum.dataset = 1082
enum.expandedLicensing = 1083
enum.extension = 1084
enum.lite = 1085
enum.security = 1086
enum.simpleLicensing = 1087
enum.software = 1088
enum.cpe22 = 1089
enum.cpe23 = 1090
enum.cve = 1091
enum.email = 1092
enum.packageUrl = 1093
enum.securityOther = 1094
enum.swid = 1095
enum.urlScheme = 1096
enum.altDownloadLocation = 1097
enum.altWebPage = 1098
enum.binaryArtifact = 1099
enum.bower = 1100
enum.buildMeta = 1101
enum.buildSystem = 1102
enum.certificationReport = 1103
enum.chat = 1104
enum.componentAnalysisReport = 1105
enum.cwe = 1106
enum.dynamicAnalysisReport = 1107
enum.eolNotice = 1108
enum.exportControlAssessment = 1109
enum.funding = 1110
enum.issueTracker = 1111
enum.license = 1112
enum.mailingList = 1113
enum.mavenCentral = 1114
enum.metrics = 1115
enum.npm = 1116
enum.nuget = 1117
enum.privacyAssessment = 1118
enum.productMetadata = 1119
enum.purchaseOrder = 1120
enum.qualityAssessmentReport = 1121
enum.releaseHistory = 1122
enum.releaseNotes = 1123
enum.riskAssessment = 1124
enum.runtimeAnalysisReport = 1125
enum.secureSoftwareAttestation = 1126
enum.securityAdversaryModel = 1127
enum.securityAdvisory = 1128
enum.securityFix = 1129
enum.securityPenTestReport = 1130
enum.securityPolicy = 1131
enum.securityThreatModel = 1132
enum.socialMedia = 1133
enum.sourceArtifact = 1134
enum.staticAnalysisReport = 1135
enum.support = 1136
enum.vcs = 1137
enum.vulnerabilityDisclosureReport = 1138
enum.vulnerabilityExploitabilityAssessment = 1139
enum.adler32 = 1140
enum.blake2b256 = 1141
enum.blake2b384 = 1142
enum.blake2b512 = 1143
enum.blake3 = 1144
enum.crystalsDilithium = 1145
enum.crystalsKyber = 1146
enum.falcon = 1147
enum.md2 = 1148
enum.md4 = 1149
enum.md5 = 1150
enum.md6 = 1151
enum.sha1 = 1152
enum.sha224 = 1153
enum.sha256 = 1154
enum.sha384 = 1155
enum.sha3_224 = 1156
enum.sha3_256 = 1157
enum.sha3_384 = 1158
enum.sha3_512 = 1159
enum.sha512 = 1160
enum.complete = 1161
enum.incomplete = 1162
enum.affects = 1163
enum.amendedBy = 1164
enum.ancestorOf = 1165
enum.availableFrom = 1166
enum.configures = 1167
enum.contains = 1168
enum.coordinatedBy = 1169
enum.copiedTo = 1170
enum.delegatedTo = 1171
enum.dependsOn = 1172
enum.descendantOf = 1173
enum.describes = 1174
enum.doesNotAffect = 1175
enum.expandsTo = 1176
enum.exploitCreatedBy = 1177
enum.fixedBy = 1178
enum.fixedIn = 1179
enum.foundBy = 1180
enum.generates = 1181
enum.hasAddedFile = 1182
enum.hasAssessmentFor = 1183
enum.hasAssociatedVulnerability = 1184
enum.hasConcludedLicense = 1185
enum.hasDataFile = 1186
enum.hasDeclaredLicense = 1187
enum.hasDeletedFile = 1188
enum.hasDependencyManifest = 1189
enum.hasDistributionArtifact = 1190
enum.hasDocumentation = 1191
enum.hasDynamicLink = 1192
enum.hasEvidence = 1193
enum.hasExample = 1194
enum.hasHost = 1195
enum.hasInput = 1196
enum.hasMetadata = 1197
enum.hasOptionalComponent = 1198
enum.hasOptionalDependency = 1199
enum.hasOutput = 1200
enum.hasPrerequisite = 1201
enum.hasProvidedDependency = 1202
enum.hasRequirement = 1203
enum.hasSpecification = 1204
enum.hasStaticLink = 1205
enum.hasTest = 1206
enum.hasTestCase = 1207
enum.hasVariant = 1208
enum.invokedBy = 1209
enum.modifiedBy = 1210
enum.packagedBy = 1211
enum.patchedBy = 1212
enum.publishedBy = 1213
enum.reportedBy = 1214
enum.republishedBy = 1215
enum.serializedInArtifact = 1216
enum.testedOn = 1217
enum.trainedOn = 1218
enum.underInvestigationFor = 1219
enum.usesTool = 1220
enum.review = 1221
enum.development = 1222
enum.endOfSupport = 1223
enum.limitedSupport = 1224
enum.noSupport = 1225
enum.ai_EnergyConsumption = 1226
enum.ai_EnergyConsumptionDescription = 1227
enum.ai_EnergyUnitType = 1228
enum.ai_SafetyRiskAssessmentType = 1229
enum.AnnotationType = 1230
enum.CreationInfo = 1231
enum.DictionaryEntry = 1232
enum.ExternalIdentifier = 1233
enum.ExternalIdentifierType = 1234
enum.ExternalMap = 1235
enum.ExternalRef = 1236
enum.ExternalRefType = 1237
enum.HashAlgorithm = 1238
enum.IndividualElement = 1239
enum.LifecycleScopeType = 1240
enum.NamespaceMap = 1241
enum.PackageVerificationCode = 1242
enum.PositiveIntegerRange = 1243
enum.PresenceType = 1244
enum.ProfileIdentifierType = 1245
enum.Relationship = 1246
enum.RelationshipCompleteness = 1247
enum.RelationshipType = 1248
enum.SpdxDocument = 1249
enum.SupportType = 1250
enum.Tool = 1251
enum.dataset_ConfidentialityLevelType = 1252
enum.dataset_DatasetAvailabilityType = 1253
enum.dataset_DatasetType = 1254
enum.expandedlicensing_ListedLicenseException = 1255
enum.extension_CdxPropertyEntry = 1256
enum.security_CvssSeverityType = 1257
enum.security_ExploitCatalogType = 1258
enum.security_SsvcDecisionType = 1259
enum.security_VexJustificationType = 1260
enum.simplelicensing_LicenseExpression = 1261
enum.simplelicensing_SimpleLicensingText = 1262
enum.software_ContentIdentifier = 1263
enum.software_ContentIdentifierType = 1264
enum.software_FileKindType = 1265
enum.software_SbomType = 1266
enum.software_SoftwarePurpose = 1267
enum.build_Build = 1268
enum.Agent = 1269
enum.Annotation = 1270
enum.Bundle = 1271
enum.Hash = 1272
enum.LifecycleScopedRelationship = 1273
enum.Organization = 1274
enum.Person = 1275
enum.SoftwareAgent = 1276
enum.expandedlicensing_ConjunctiveLicenseSet = 1277
enum.expandedlicensing_CustomLicenseAddition = 1278
enum.expandedlicensing_DisjunctiveLicenseSet = 1279
enum.expandedlicensing_IndividualLicensingInfo = 1280
enum.expandedlicensing_ListedLicense = 1281
enum.expandedlicensing_OrLaterOperator = 1282
enum.expandedlicensing_WithAdditionOperator = 1283
enum.extension_CdxPropertiesExtension = 1284
enum.security_CvssV2VulnAssessmentRelationship = 1285
enum.security_CvssV3VulnAssessmentRelationship = 1286
enum.security_CvssV4VulnAssessmentRelationship = 1287
enum.security_EpssVulnAssessmentRelationship = 1288
enum.security_ExploitCatalogVulnAssessmentRelationship = 1289
enum.security_SsvcVulnAssessmentRelationship = 1290
enum.security_Vulnerability = 1291
enum.Bom = 1292
enum.expandedlicensing_CustomLicense = 1293
enum.security_VexAffectedVulnAssessmentRelationship = 1294
enum.security_VexFixedVulnAssessmentRelationship = 1295
enum.security_VexNotAffectedVulnAssessmentRelationship = 1296
enum.security_VexUnderInvestigationVulnAssessmentRelationship = 1297
enum.software_File = 1298
enum.software_Package = 1299
enum.software_Sbom = 1300
enum.software_Snippet = 1301
enum.ai_AIPackage = 1302
enum.dataset_DatasetPackage = 1303
; Value mapping for const entries (2000-2337)
const.software_ContentIdentifier = 2001
const.software_ContentIdentifierType = 2002
const.spdx_Software_ContentIdentifierType_gitoid = 2003
const.spdx_Software_ContentIdentifierType_swhid = 2004
const.software_FileKindType = 2005
const.spdx_Software_FileKindType_directory = 2006
const.spdx_Software_FileKindType_file = 2007
const.software_SbomType = 2008
const.spdx_Software_SbomType_analyzed = 2009
const.spdx_Software_SbomType_build = 2010
const.spdx_Software_SbomType_deployed = 2011
const.spdx_Software_SbomType_design = 2012
const.spdx_Software_SbomType_runtime = 2013
const.spdx_Software_SbomType_source = 2014
const.software_SoftwarePurpose = 2015
const.spdx_Software_SoftwarePurpose_application = 2016
const.spdx_Software_SoftwarePurpose_archive = 2017
const.spdx_Software_SoftwarePurpose_bom = 2018
const.spdx_Software_SoftwarePurpose_configuration = 2019
const.spdx_Software_SoftwarePurpose_container = 2020
const.spdx_Software_SoftwarePurpose_data = 2021
const.spdx_Software_SoftwarePurpose_device = 2022
const.spdx_Software_SoftwarePurpose_deviceDriver = 2023
const.spdx_Software_SoftwarePurpose_diskImage = 2024
const.spdx_Software_SoftwarePurpose_documentation = 2025
const.spdx_Software_SoftwarePurpose_evidence = 2026
const.spdx_Software_SoftwarePurpose_executable = 2027
const.spdx_Software_SoftwarePurpose_file = 2028
const.spdx_Software_SoftwarePurpose_filesystemImage = 2029
const.spdx_Software_SoftwarePurpose_firmware = 2030
const.spdx_Software_SoftwarePurpose_framework = 2031
const.spdx_Software_SoftwarePurpose_install = 2032
const.spdx_Software_SoftwarePurpose_library = 2033
const.spdx_Software_SoftwarePurpose_manifest = 2034
const.spdx_Software_SoftwarePurpose_model = 2035
const.spdx_Software_SoftwarePurpose_module = 2036
const.spdx_Software_SoftwarePurpose_operatingSystem = 2037
const.spdx_Software_SoftwarePurpose_other = 2038
const.spdx_Software_SoftwarePurpose_patch = 2039
const.spdx_Software_SoftwarePurpose_platform = 2040
const.spdx_Software_SoftwarePurpose_requirement = 2041
const.spdx_Software_SoftwarePurpose_source = 2042
const.spdx_Software_SoftwarePurpose_specification = 2043
const.spdx_Software_SoftwarePurpose_test = 2044
const.software_File = 2045
const.software_Package = 2046
const.software_Sbom = 2047
const.software_Snippet = 2048
const.security_CvssSeverityType = 2049
const.spdx_Security_CvssSeverityType_critical = 2050
const.spdx_Security_CvssSeverityType_high = 2051
const.spdx_Security_CvssSeverityType_low = 2052
const.spdx_Security_CvssSeverityType_medium = 2053
const.spdx_Security_CvssSeverityType_none = 2054
const.security_ExploitCatalogType = 2055
const.spdx_Security_ExploitCatalogType_kev = 2056
const.spdx_Security_ExploitCatalogType_other = 2057
const.security_SsvcDecisionType = 2058
const.spdx_Security_SsvcDecisionType_act = 2059
const.spdx_Security_SsvcDecisionType_attend = 2060
const.spdx_Security_SsvcDecisionType_track = 2061
const.spdx_Security_SsvcDecisionType_trackStar = 2062
const.security_VexJustificationType = 2063
const.spdx_Security_VexJustificationType_componentNotPresent = 2064
const.\
spdx_Security_VexJustificationType_inlineMitigationsAlreadyExist = \
2065
const.\
spdx_Security_VexJustificationType_vulnerableCodeCannotBeControlledB\
yAdversary = 2066
const.\
spdx_Security_VexJustificationType_vulnerableCodeNotInExecutePath = \
2067
const.spdx_Security_VexJustificationType_vulnerableCodeNotPresent = \
2068
const.security_CvssV2VulnAssessmentRelationship = 2069
const.security_CvssV3VulnAssessmentRelationship = 2070
const.security_CvssV4VulnAssessmentRelationship = 2071
const.security_EpssVulnAssessmentRelationship = 2072
const.security_ExploitCatalogVulnAssessmentRelationship = 2073
const.security_SsvcVulnAssessmentRelationship = 2074
const.security_Vulnerability = 2075
const.security_VexAffectedVulnAssessmentRelationship = 2076
const.security_VexFixedVulnAssessmentRelationship = 2077
const.security_VexNotAffectedVulnAssessmentRelationship = 2078
const.security_VexUnderInvestigationVulnAssessmentRelationship = 2079
const.expandedlicensing_NoAssertionLicense = 2080
const.expandedlicensing_NoneLicense = 2081
const.simplelicensing_LicenseExpression = 2082
const.simplelicensing_SimpleLicensingText = 2083
const.expandedlicensing_ListedLicenseException = 2084
const.expandedlicensing_ConjunctiveLicenseSet = 2085
const.expandedlicensing_CustomLicenseAddition = 2086
const.expandedlicensing_DisjunctiveLicenseSet = 2087
const.expandedlicensing_IndividualLicensingInfo = 2088
const.expandedlicensing_ListedLicense = 2089
const.expandedlicensing_OrLaterOperator = 2090
const.expandedlicensing_WithAdditionOperator = 2091
const.expandedlicensing_CustomLicense = 2092
const.dataset_ConfidentialityLevelType = 2093
const.spdx_Dataset_ConfidentialityLevelType_amber = 2094
const.spdx_Dataset_ConfidentialityLevelType_clear = 2095
const.spdx_Dataset_ConfidentialityLevelType_green = 2096
const.spdx_Dataset_ConfidentialityLevelType_red = 2097
const.dataset_DatasetAvailabilityType = 2098
const.spdx_Dataset_DatasetAvailabilityType_clickthrough = 2099
const.spdx_Dataset_DatasetAvailabilityType_directDownload = 2100
const.spdx_Dataset_DatasetAvailabilityType_query = 2101
const.spdx_Dataset_DatasetAvailabilityType_registration = 2102
const.spdx_Dataset_DatasetAvailabilityType_scrapingScript = 2103
const.dataset_DatasetType = 2104
const.spdx_Dataset_DatasetType_audio = 2105
const.spdx_Dataset_DatasetType_categorical = 2106
const.spdx_Dataset_DatasetType_graph = 2107
const.spdx_Dataset_DatasetType_image = 2108
const.spdx_Dataset_DatasetType_noAssertion = 2109
const.spdx_Dataset_DatasetType_numeric = 2110
const.spdx_Dataset_DatasetType_other = 2111
const.spdx_Dataset_DatasetType_sensor = 2112
const.spdx_Dataset_DatasetType_structured = 2113
const.spdx_Dataset_DatasetType_syntactic = 2114
const.spdx_Dataset_DatasetType_text = 2115
const.spdx_Dataset_DatasetType_timeseries = 2116
const.spdx_Dataset_DatasetType_timestamp = 2117
const.spdx_Dataset_DatasetType_video = 2118
const.dataset_DatasetPackage = 2119
const.ai_EnergyConsumption = 2120
const.ai_EnergyConsumptionDescription = 2121
const.ai_EnergyUnitType = 2122
const.spdx_AI_EnergyUnitType_kilowattHour = 2123
const.spdx_AI_EnergyUnitType_megajoule = 2124
const.spdx_AI_EnergyUnitType_other = 2125
const.ai_SafetyRiskAssessmentType = 2126
const.spdx_AI_SafetyRiskAssessmentType_high = 2127
const.spdx_AI_SafetyRiskAssessmentType_low = 2128
const.spdx_AI_SafetyRiskAssessmentType_medium = 2129
const.spdx_AI_SafetyRiskAssessmentType_serious = 2130
const.ai_AIPackage = 2131
const.build_Build = 2132
const.extension_CdxPropertyEntry = 2133
const.extension_CdxPropertiesExtension = 2134
const.AnnotationType = 2135
const.spdx_Core_AnnotationType_other = 2136
const.spdx_Core_AnnotationType_review = 2137
const.CreationInfo = 2138
const.DictionaryEntry = 2139
const.NoAssertionElement = 2140
const.NoneElement = 2141
const.SpdxOrganization = 2142
const.ExternalIdentifier = 2143
const.ExternalIdentifierType = 2144
const.spdx_Core_ExternalIdentifierType_cpe22 = 2145
const.spdx_Core_ExternalIdentifierType_cpe23 = 2146
const.spdx_Core_ExternalIdentifierType_cve = 2147
const.spdx_Core_ExternalIdentifierType_email = 2148
const.spdx_Core_ExternalIdentifierType_gitoid = 2149
const.spdx_Core_ExternalIdentifierType_other = 2150
const.spdx_Core_ExternalIdentifierType_packageUrl = 2151
const.spdx_Core_ExternalIdentifierType_securityOther = 2152
const.spdx_Core_ExternalIdentifierType_swhid = 2153
const.spdx_Core_ExternalIdentifierType_swid = 2154
const.spdx_Core_ExternalIdentifierType_urlScheme = 2155
const.ExternalMap = 2156
const.ExternalRef = 2157
const.ExternalRefType = 2158
const.spdx_Core_ExternalRefType_altDownloadLocation = 2159
const.spdx_Core_ExternalRefType_altWebPage = 2160
const.spdx_Core_ExternalRefType_binaryArtifact = 2161
const.spdx_Core_ExternalRefType_bower = 2162
const.spdx_Core_ExternalRefType_buildMeta = 2163
const.spdx_Core_ExternalRefType_buildSystem = 2164
const.spdx_Core_ExternalRefType_certificationReport = 2165
const.spdx_Core_ExternalRefType_chat = 2166
const.spdx_Core_ExternalRefType_componentAnalysisReport = 2167
const.spdx_Core_ExternalRefType_cwe = 2168
const.spdx_Core_ExternalRefType_documentation = 2169
const.spdx_Core_ExternalRefType_dynamicAnalysisReport = 2170
const.spdx_Core_ExternalRefType_eolNotice = 2171
const.spdx_Core_ExternalRefType_exportControlAssessment = 2172
const.spdx_Core_ExternalRefType_funding = 2173
const.spdx_Core_ExternalRefType_issueTracker = 2174
const.spdx_Core_ExternalRefType_license = 2175
const.spdx_Core_ExternalRefType_mailingList = 2176
const.spdx_Core_ExternalRefType_mavenCentral = 2177
const.spdx_Core_ExternalRefType_metrics = 2178
const.spdx_Core_ExternalRefType_npm = 2179
const.spdx_Core_ExternalRefType_nuget = 2180
const.spdx_Core_ExternalRefType_other = 2181
const.spdx_Core_ExternalRefType_privacyAssessment = 2182
const.spdx_Core_ExternalRefType_productMetadata = 2183
const.spdx_Core_ExternalRefType_purchaseOrder = 2184
const.spdx_Core_ExternalRefType_qualityAssessmentReport = 2185
const.spdx_Core_ExternalRefType_releaseHistory = 2186
const.spdx_Core_ExternalRefType_releaseNotes = 2187
const.spdx_Core_ExternalRefType_riskAssessment = 2188
const.spdx_Core_ExternalRefType_runtimeAnalysisReport = 2189
const.spdx_Core_ExternalRefType_secureSoftwareAttestation = 2190
const.spdx_Core_ExternalRefType_securityAdversaryModel = 2191
const.spdx_Core_ExternalRefType_securityAdvisory = 2192
const.spdx_Core_ExternalRefType_securityFix = 2193
const.spdx_Core_ExternalRefType_securityOther = 2194
const.spdx_Core_ExternalRefType_securityPenTestReport = 2195
const.spdx_Core_ExternalRefType_securityPolicy = 2196
const.spdx_Core_ExternalRefType_securityThreatModel = 2197
const.spdx_Core_ExternalRefType_socialMedia = 2198
const.spdx_Core_ExternalRefType_sourceArtifact = 2199
const.spdx_Core_ExternalRefType_staticAnalysisReport = 2200
const.spdx_Core_ExternalRefType_support = 2201
const.spdx_Core_ExternalRefType_vcs = 2202
const.spdx_Core_ExternalRefType_vulnerabilityDisclosureReport = 2203
const.\
spdx_Core_ExternalRefType_vulnerabilityExploitabilityAssessment = \
2204
const.HashAlgorithm = 2205
const.spdx_Core_HashAlgorithm_adler32 = 2206
const.spdx_Core_HashAlgorithm_blake2b256 = 2207
const.spdx_Core_HashAlgorithm_blake2b384 = 2208
const.spdx_Core_HashAlgorithm_blake2b512 = 2209
const.spdx_Core_HashAlgorithm_blake3 = 2210
const.spdx_Core_HashAlgorithm_crystalsDilithium = 2211
const.spdx_Core_HashAlgorithm_crystalsKyber = 2212
const.spdx_Core_HashAlgorithm_falcon = 2213
const.spdx_Core_HashAlgorithm_md2 = 2214
const.spdx_Core_HashAlgorithm_md4 = 2215
const.spdx_Core_HashAlgorithm_md5 = 2216
const.spdx_Core_HashAlgorithm_md6 = 2217
const.spdx_Core_HashAlgorithm_other = 2218
const.spdx_Core_HashAlgorithm_sha1 = 2219
const.spdx_Core_HashAlgorithm_sha224 = 2220
const.spdx_Core_HashAlgorithm_sha256 = 2221
const.spdx_Core_HashAlgorithm_sha384 = 2222
const.spdx_Core_HashAlgorithm_sha3_224 = 2223
const.spdx_Core_HashAlgorithm_sha3_256 = 2224
const.spdx_Core_HashAlgorithm_sha3_384 = 2225
const.spdx_Core_HashAlgorithm_sha3_512 = 2226
const.spdx_Core_HashAlgorithm_sha512 = 2227
const.IndividualElement = 2228
const.LifecycleScopeType = 2229
const.spdx_Core_LifecycleScopeType_build = 2230
const.spdx_Core_LifecycleScopeType_design = 2231
const.spdx_Core_LifecycleScopeType_development = 2232
const.spdx_Core_LifecycleScopeType_other = 2233
const.spdx_Core_LifecycleScopeType_runtime = 2234
const.spdx_Core_LifecycleScopeType_test = 2235
const.NamespaceMap = 2236
const.PackageVerificationCode = 2237
const.PositiveIntegerRange = 2238
const.PresenceType = 2239
const.spdx_Core_PresenceType_no = 2240
const.spdx_Core_PresenceType_noAssertion = 2241
const.spdx_Core_PresenceType_yes = 2242
const.ProfileIdentifierType = 2243
const.spdx_Core_ProfileIdentifierType_ai = 2244
const.spdx_Core_ProfileIdentifierType_build = 2245
const.spdx_Core_ProfileIdentifierType_core = 2246
const.spdx_Core_ProfileIdentifierType_dataset = 2247
const.spdx_Core_ProfileIdentifierType_expandedLicensing = 2248
const.spdx_Core_ProfileIdentifierType_extension = 2249
const.spdx_Core_ProfileIdentifierType_lite = 2250
const.spdx_Core_ProfileIdentifierType_security = 2251
const.spdx_Core_ProfileIdentifierType_simpleLicensing = 2252
const.spdx_Core_ProfileIdentifierType_software = 2253
const.Relationship = 2254
const.RelationshipCompleteness = 2255
const.spdx_Core_RelationshipCompleteness_complete = 2256
const.spdx_Core_RelationshipCompleteness_incomplete = 2257
const.spdx_Core_RelationshipCompleteness_noAssertion = 2258
const.RelationshipType = 2259
const.spdx_Core_RelationshipType_affects = 2260
const.spdx_Core_RelationshipType_amendedBy = 2261
const.spdx_Core_RelationshipType_ancestorOf = 2262
const.spdx_Core_RelationshipType_availableFrom = 2263
const.spdx_Core_RelationshipType_configures = 2264
const.spdx_Core_RelationshipType_contains = 2265
const.spdx_Core_RelationshipType_coordinatedBy = 2266
const.spdx_Core_RelationshipType_copiedTo = 2267
const.spdx_Core_RelationshipType_delegatedTo = 2268
const.spdx_Core_RelationshipType_dependsOn = 2269
const.spdx_Core_RelationshipType_descendantOf = 2270
const.spdx_Core_RelationshipType_describes = 2271
const.spdx_Core_RelationshipType_doesNotAffect = 2272
const.spdx_Core_RelationshipType_expandsTo = 2273
const.spdx_Core_RelationshipType_exploitCreatedBy = 2274
const.spdx_Core_RelationshipType_fixedBy = 2275
const.spdx_Core_RelationshipType_fixedIn = 2276
const.spdx_Core_RelationshipType_foundBy = 2277
const.spdx_Core_RelationshipType_generates = 2278
const.spdx_Core_RelationshipType_hasAddedFile = 2279
const.spdx_Core_RelationshipType_hasAssessmentFor = 2280
const.spdx_Core_RelationshipType_hasAssociatedVulnerability = 2281
const.spdx_Core_RelationshipType_hasConcludedLicense = 2282
const.spdx_Core_RelationshipType_hasDataFile = 2283
const.spdx_Core_RelationshipType_hasDeclaredLicense = 2284
const.spdx_Core_RelationshipType_hasDeletedFile = 2285
const.spdx_Core_RelationshipType_hasDependencyManifest = 2286
const.spdx_Core_RelationshipType_hasDistributionArtifact = 2287
const.spdx_Core_RelationshipType_hasDocumentation = 2288
const.spdx_Core_RelationshipType_hasDynamicLink = 2289
const.spdx_Core_RelationshipType_hasEvidence = 2290
const.spdx_Core_RelationshipType_hasExample = 2291
const.spdx_Core_RelationshipType_hasHost = 2292
const.spdx_Core_RelationshipType_hasInput = 2293
const.spdx_Core_RelationshipType_hasMetadata = 2294
const.spdx_Core_RelationshipType_hasOptionalComponent = 2295
const.spdx_Core_RelationshipType_hasOptionalDependency = 2296
const.spdx_Core_RelationshipType_hasOutput = 2297
const.spdx_Core_RelationshipType_hasPrerequisite = 2298
const.spdx_Core_RelationshipType_hasProvidedDependency = 2299
const.spdx_Core_RelationshipType_hasRequirement = 2300
const.spdx_Core_RelationshipType_hasSpecification = 2301
const.spdx_Core_RelationshipType_hasStaticLink = 2302
const.spdx_Core_RelationshipType_hasTest = 2303
const.spdx_Core_RelationshipType_hasTestCase = 2304
const.spdx_Core_RelationshipType_hasVariant = 2305
const.spdx_Core_RelationshipType_invokedBy = 2306
const.spdx_Core_RelationshipType_modifiedBy = 2307
const.spdx_Core_RelationshipType_other = 2308
const.spdx_Core_RelationshipType_packagedBy = 2309
const.spdx_Core_RelationshipType_patchedBy = 2310
const.spdx_Core_RelationshipType_publishedBy = 2311
const.spdx_Core_RelationshipType_reportedBy = 2312
const.spdx_Core_RelationshipType_republishedBy = 2313
const.spdx_Core_RelationshipType_serializedInArtifact = 2314
const.spdx_Core_RelationshipType_testedOn = 2315
const.spdx_Core_RelationshipType_trainedOn = 2316
const.spdx_Core_RelationshipType_underInvestigationFor = 2317
const.spdx_Core_RelationshipType_usesTool = 2318
const.SpdxDocument = 2319
const.SupportType = 2320
const.spdx_Core_SupportType_deployed = 2321
const.spdx_Core_SupportType_development = 2322
const.spdx_Core_SupportType_endOfSupport = 2323
const.spdx_Core_SupportType_limitedSupport = 2324
const.spdx_Core_SupportType_noAssertion = 2325
const.spdx_Core_SupportType_noSupport = 2326
const.spdx_Core_SupportType_support = 2327
const.Tool = 2328
const.Agent = 2329
const.Annotation = 2330
const.Bundle = 2331
const.Hash = 2332
const.LifecycleScopedRelationship = 2333
const.Organization = 2334
const.Person = 2335
const.SoftwareAgent = 2336
const.Bom = 2337
3. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
4. Security Considerations
TODO Security
5. IANA Considerations
This document has no IANA actions.
6. References
6.1. Normative References
[CBOR-LD] "CBOR-LD", n.d.,
.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, .
[RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data
Definition Language (CDDL): A Notational Convention to
Express Concise Binary Object Representation (CBOR) and
JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610,
June 2019, .
[SPDX] "SPDX Specification", n.d.,
.
6.2. Informative References
[CAN-SPDX] "Canonical Serialization for SPDX", n.d.,
.
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", STD 90, RFC 8259,
DOI 10.17487/RFC8259, December 2017,
.
[SER-SPDX] "Serialization for SPDX", n.d.,
.
Acknowledgments
TODO acknowledge.
Authors' Addresses
Amaury Chamayou
Microsoft
Email: amchamay@microsoft.com
Henk Birkholz
Fraunhofer SIT
Rheinstrasse 75
64295 Darmstadt
Germany
Email: henk.birkholz@ietf.contact