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