{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$comment": "This file was auto-generated by shacl2code 1.0.0. DO NOT MANUALLY MODIFY IT",
    "type": "object",

    "properties": {
        "@context": {
            "anyOf": [
                {
                    "type": "array",
                    "allOf": [
                        {
                            "contains": { "const": "https://spdx.org/rdf/3.1/spdx-context.jsonld" }
                        },
                        {
                            "items": { "$ref": "#/$defs/Context" }
                        }
                    ]
                },
                {
                    "$ref": "#/$defs/Context"
                }
            ]
        }
    },
    "required": ["@context"],

    "if": {
        "type": "object",
        "required": ["@graph"]
    },
    "then": {
        "type": "object",
        "properties": {
            "@graph": {
                "description": "Top level container for JSON-LD objects",
                "type": "array",
                "items": {
                    "type": "object",
                    "$ref": "#/$defs/AnyClass",
                    "unevaluatedProperties": false
                }
            }
        },
        "required": ["@graph"]
    },
    "else": {
        "$ref": "#/$defs/AnyClass"
    },
    "unevaluatedProperties": false,

    "$defs": {
        "ai_EnergyConsumption": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ai_EnergyConsumption"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ai_EnergyConsumption_props" }
                ]
            },
            "else": {
                "const": "Not a ai_EnergyConsumption"
            }
        },
        "ai_EnergyConsumption_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_EnergyConsumption" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ai_EnergyConsumption_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "ai_finetuningEnergyConsumption": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_EnergyConsumption_ai_finetuningEnergyConsumption"
                                    }
                                }
                            ]
                        },
                        "ai_inferenceEnergyConsumption": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_EnergyConsumption_ai_inferenceEnergyConsumption"
                                    }
                                }
                            ]
                        },
                        "ai_trainingEnergyConsumption": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_EnergyConsumption_ai_trainingEnergyConsumption"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_ai_EnergyConsumption_ai_finetuningEnergyConsumption": {
                "$ref": "#/$defs/ai_EnergyConsumptionDescription_derived"
        },
        "prop_ai_EnergyConsumption_ai_inferenceEnergyConsumption": {
                "$ref": "#/$defs/ai_EnergyConsumptionDescription_derived"
        },
        "prop_ai_EnergyConsumption_ai_trainingEnergyConsumption": {
                "$ref": "#/$defs/ai_EnergyConsumptionDescription_derived"
        },
        "ai_EnergyConsumptionDescription": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ai_EnergyConsumptionDescription"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ai_EnergyConsumptionDescription_props" }
                ]
            },
            "else": {
                "const": "Not a ai_EnergyConsumptionDescription"
            }
        },
        "ai_EnergyConsumptionDescription_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_EnergyConsumptionDescription" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ai_EnergyConsumptionDescription_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "ai_energyQuantity": {
                            "$ref": "#/$defs/prop_ai_EnergyConsumptionDescription_ai_energyQuantity"
                        },
                        "ai_energyUnit": {
                            "$ref": "#/$defs/prop_ai_EnergyConsumptionDescription_ai_energyUnit"
                        }
                    },
                    "required": [
                        "ai_energyQuantity",
                        "ai_energyUnit"
                    ]
                }
            ]
        },
        "prop_ai_EnergyConsumptionDescription_ai_energyQuantity": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "prop_ai_EnergyConsumptionDescription_ai_energyUnit": {
                "enum": [
                    "kilowattHour",
                    "megajoule",
                    "other"
                ]
        },
        "ai_EnergyUnitType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ai_EnergyUnitType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ai_EnergyUnitType_props" }
                ]
            },
            "else": {
                "const": "Not a ai_EnergyUnitType"
            }
        },
        "ai_EnergyUnitType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_EnergyUnitType" }
                    ]
                },
                { "const": "spdx:AI/EnergyUnitType/kilowattHour" },
                { "const": "spdx:AI/EnergyUnitType/megajoule" },
                { "const": "spdx:AI/EnergyUnitType/other" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ai_EnergyUnitType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ai_SafetyRiskAssessmentType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ai_SafetyRiskAssessmentType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ai_SafetyRiskAssessmentType_props" }
                ]
            },
            "else": {
                "const": "Not a ai_SafetyRiskAssessmentType"
            }
        },
        "ai_SafetyRiskAssessmentType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_SafetyRiskAssessmentType" }
                    ]
                },
                { "const": "spdx:AI/SafetyRiskAssessmentType/high" },
                { "const": "spdx:AI/SafetyRiskAssessmentType/low" },
                { "const": "spdx:AI/SafetyRiskAssessmentType/medium" },
                { "const": "spdx:AI/SafetyRiskAssessmentType/serious" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ai_SafetyRiskAssessmentType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "AnnotationType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "AnnotationType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/AnnotationType_props" }
                ]
            },
            "else": {
                "const": "Not a AnnotationType"
            }
        },
        "AnnotationType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/AnnotationType" }
                    ]
                },
                { "const": "spdx:Core/AnnotationType/other" },
                { "const": "spdx:Core/AnnotationType/review" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "AnnotationType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ContactPointRelationshipType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ContactPointRelationshipType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ContactPointRelationshipType_props" }
                ]
            },
            "else": {
                "const": "Not a ContactPointRelationshipType"
            }
        },
        "ContactPointRelationshipType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ContactPointRelationshipType" }
                    ]
                },
                { "const": "spdx:Core/ContactPointRelationshipType/compliance" },
                { "const": "spdx:Core/ContactPointRelationshipType/other" },
                { "const": "spdx:Core/ContactPointRelationshipType/securityVulnerability" },
                { "const": "spdx:Core/ContactPointRelationshipType/support" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ContactPointRelationshipType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "CreationInfo": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "CreationInfo"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/CreationInfo_props" }
                ]
            },
            "else": {
                "const": "Not a CreationInfo"
            }
        },
        "CreationInfo_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/CreationInfo" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "CreationInfo_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_CreationInfo_comment"
                        },
                        "created": {
                            "$ref": "#/$defs/prop_CreationInfo_created"
                        },
                        "createdBy": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_CreationInfo_createdBy"
                                    }
                                }
                            ]
                        },
                        "createdUsing": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_CreationInfo_createdUsing"
                                    }
                                }
                            ]
                        },
                        "specVersion": {
                            "$ref": "#/$defs/prop_CreationInfo_specVersion"
                        }
                    },
                    "required": [
                        "created",
                        "createdBy",
                        "specVersion"
                    ]
                }
            ]
        },
        "prop_CreationInfo_comment": {
                    "type": "string"
        },
        "prop_CreationInfo_created": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_CreationInfo_createdBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_CreationInfo_createdUsing": {
                "$ref": "#/$defs/Tool_derived"
        },
        "prop_CreationInfo_specVersion": {
                    "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))?$",
                    "type": "string"
        },
        "DefinedType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "DefinedType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/DefinedType_props" }
                ]
            },
            "else": {
                "const": "Not a DefinedType"
            }
        },
        "DefinedType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/DefinedType" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "DefinedType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "definitionSource": {
                            "$ref": "#/$defs/prop_DefinedType_definitionSource"
                        },
                        "typeFromSource": {
                            "$ref": "#/$defs/prop_DefinedType_typeFromSource"
                        }
                    },
                    "required": [
                        "definitionSource",
                        "typeFromSource"
                    ]
                }
            ]
        },
        "prop_DefinedType_definitionSource": {
                "$ref": "#/$defs/Specification_derived"
        },
        "prop_DefinedType_typeFromSource": {
                    "type": "string"
        },
        "DictionaryEntry": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "DictionaryEntry"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/DictionaryEntry_props" }
                ]
            },
            "else": {
                "const": "Not a DictionaryEntry"
            }
        },
        "DictionaryEntry_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/DictionaryEntry" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "DictionaryEntry_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "key": {
                            "$ref": "#/$defs/prop_DictionaryEntry_key"
                        },
                        "value": {
                            "$ref": "#/$defs/prop_DictionaryEntry_value"
                        }
                    },
                    "required": [
                        "key"
                    ]
                }
            ]
        },
        "prop_DictionaryEntry_key": {
                    "type": "string"
        },
        "prop_DictionaryEntry_value": {
                    "type": "string"
        },
        "Element_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_AIPackage" },
                        { "$ref": "#/$defs/build_Build" },
                        { "$ref": "#/$defs/Agent" },
                        { "$ref": "#/$defs/Annotation" },
                        { "$ref": "#/$defs/Bom" },
                        { "$ref": "#/$defs/Bundle" },
                        { "$ref": "#/$defs/ContactPointRelationship" },
                        { "$ref": "#/$defs/IndividualElement" },
                        { "$ref": "#/$defs/LifecycleScopedRelationship" },
                        { "$ref": "#/$defs/Organization" },
                        { "$ref": "#/$defs/Person" },
                        { "$ref": "#/$defs/PhysicalLocation" },
                        { "$ref": "#/$defs/Regulation" },
                        { "$ref": "#/$defs/Relationship" },
                        { "$ref": "#/$defs/Requirement" },
                        { "$ref": "#/$defs/SoftwareAgent" },
                        { "$ref": "#/$defs/SpdxDocument" },
                        { "$ref": "#/$defs/Specification" },
                        { "$ref": "#/$defs/SupportRelationship" },
                        { "$ref": "#/$defs/Tool" },
                        { "$ref": "#/$defs/dataset_DatasetPackage" },
                        { "$ref": "#/$defs/expandedlicensing_ConjunctiveLicenseSet" },
                        { "$ref": "#/$defs/expandedlicensing_CustomLicense" },
                        { "$ref": "#/$defs/expandedlicensing_CustomLicenseAddition" },
                        { "$ref": "#/$defs/expandedlicensing_DisjunctiveLicenseSet" },
                        { "$ref": "#/$defs/expandedlicensing_IndividualLicensingInfo" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicense" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicenseException" },
                        { "$ref": "#/$defs/expandedlicensing_OrLaterOperator" },
                        { "$ref": "#/$defs/expandedlicensing_WithAdditionOperator" },
                        { "$ref": "#/$defs/functionalsafety_Assumption" },
                        { "$ref": "#/$defs/functionalsafety_EvaluationResult" },
                        { "$ref": "#/$defs/functionalsafety_EvidenceRelationship" },
                        { "$ref": "#/$defs/functionalsafety_RequirementVerification" },
                        { "$ref": "#/$defs/hardware_BulkHardware" },
                        { "$ref": "#/$defs/hardware_PhysicalHardware" },
                        { "$ref": "#/$defs/hardware_ProductSpecification" },
                        { "$ref": "#/$defs/hardware_VirtualHardware" },
                        { "$ref": "#/$defs/operations_ExportControlClassificationAssessment" },
                        { "$ref": "#/$defs/operations_Project" },
                        { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_Vulnerability" },
                        { "$ref": "#/$defs/service_SoftwareService" },
                        { "$ref": "#/$defs/simplelicensing_LicenseExpression" },
                        { "$ref": "#/$defs/simplelicensing_SimpleLicensingText" },
                        { "$ref": "#/$defs/software_File" },
                        { "$ref": "#/$defs/software_Package" },
                        { "$ref": "#/$defs/software_Sbom" },
                        { "$ref": "#/$defs/software_Snippet" },
                        { "$ref": "#/$defs/supplychain_AssemblyAction" },
                        { "$ref": "#/$defs/supplychain_AssemblyProcess" },
                        { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess" },
                        { "$ref": "#/$defs/supplychain_ChangeAction" },
                        { "$ref": "#/$defs/supplychain_ChangeProcess" },
                        { "$ref": "#/$defs/supplychain_DefinedStateProcess" },
                        { "$ref": "#/$defs/supplychain_DestroyAction" },
                        { "$ref": "#/$defs/supplychain_DestroyProcess" },
                        { "$ref": "#/$defs/supplychain_HarvestAction" },
                        { "$ref": "#/$defs/supplychain_HarvestProcess" },
                        { "$ref": "#/$defs/supplychain_InspectionAction" },
                        { "$ref": "#/$defs/supplychain_InspectionProcess" },
                        { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" },
                        { "$ref": "#/$defs/supplychain_ManufactureAction" },
                        { "$ref": "#/$defs/supplychain_ManufactureProcess" },
                        { "$ref": "#/$defs/supplychain_OutOfSpecAction" },
                        { "$ref": "#/$defs/supplychain_PlanAction" },
                        { "$ref": "#/$defs/supplychain_PlanProcess" },
                        { "$ref": "#/$defs/supplychain_ReproduceAction" },
                        { "$ref": "#/$defs/supplychain_ReproduceProcess" },
                        { "$ref": "#/$defs/supplychain_ResolutionAction" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess" },
                        { "$ref": "#/$defs/supplychain_State" },
                        { "$ref": "#/$defs/supplychain_StateAction" },
                        { "$ref": "#/$defs/supplychain_StorageAction" },
                        { "$ref": "#/$defs/supplychain_StorageProcess" },
                        { "$ref": "#/$defs/supplychain_TestAction" },
                        { "$ref": "#/$defs/supplychain_TestProcess" },
                        { "$ref": "#/$defs/supplychain_TransportAction" },
                        { "$ref": "#/$defs/supplychain_TransportProcess" }
                    ]
                },
                { "const": "NoAssertionElement" },
                { "const": "NoneElement" },
                { "const": "SpdxOrganization" },
                { "const": "expandedlicensing_NoAssertionLicense" },
                { "const": "expandedlicensing_NoneLicense" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Element_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_Element_comment"
                        },
                        "creationInfo": {
                            "$ref": "#/$defs/prop_Element_creationInfo"
                        },
                        "description": {
                            "$ref": "#/$defs/prop_Element_description"
                        },
                        "extension": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Element_extension"
                                    }
                                }
                            ]
                        },
                        "externalIdentifier": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Element_externalIdentifier"
                                    }
                                }
                            ]
                        },
                        "externalRef": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Element_externalRef"
                                    }
                                }
                            ]
                        },
                        "name": {
                            "$ref": "#/$defs/prop_Element_name"
                        },
                        "summary": {
                            "$ref": "#/$defs/prop_Element_summary"
                        },
                        "verifiedUsing": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Element_verifiedUsing"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "creationInfo"
                    ]
                }
            ]
        },
        "prop_Element_comment": {
                    "type": "string"
        },
        "prop_Element_creationInfo": {
                "$ref": "#/$defs/CreationInfo_derived"
        },
        "prop_Element_description": {
                    "type": "string"
        },
        "prop_Element_extension": {
                "$ref": "#/$defs/extension_Extension_derived"
        },
        "prop_Element_externalIdentifier": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "prop_Element_externalRef": {
                "$ref": "#/$defs/ExternalRef_derived"
        },
        "prop_Element_name": {
                    "type": "string"
        },
        "prop_Element_summary": {
                    "type": "string"
        },
        "prop_Element_verifiedUsing": {
                "$ref": "#/$defs/IntegrityMethod_derived"
        },
        "ElementCollection_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Bom" },
                        { "$ref": "#/$defs/Bundle" },
                        { "$ref": "#/$defs/SpdxDocument" },
                        { "$ref": "#/$defs/operations_Project" },
                        { "$ref": "#/$defs/software_Sbom" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ElementCollection_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "element": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ElementCollection_element"
                                    }
                                }
                            ]
                        },
                        "profileConformance": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ElementCollection_profileConformance"
                                    }
                                }
                            ]
                        },
                        "rootElement": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ElementCollection_rootElement"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_ElementCollection_element": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_ElementCollection_profileConformance": {
                "enum": [
                    "ai",
                    "build",
                    "core",
                    "dataset",
                    "expandedLicensing",
                    "extension",
                    "functionalSafety",
                    "hardware",
                    "lite",
                    "operations",
                    "security",
                    "service",
                    "simpleLicensing",
                    "software",
                    "supplyChain"
                ]
        },
        "prop_ElementCollection_rootElement": {
                "$ref": "#/$defs/Element_derived"
        },
        "ElementMap": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ElementMap"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ElementMap_props" }
                ]
            },
            "else": {
                "const": "Not a ElementMap"
            }
        },
        "ElementMap_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ElementMap" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ElementMap_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "elementValue": {
                            "$ref": "#/$defs/prop_ElementMap_elementValue"
                        },
                        "key": {
                            "$ref": "#/$defs/prop_ElementMap_key"
                        }
                    },
                    "required": [
                        "elementValue",
                        "key"
                    ]
                }
            ]
        },
        "prop_ElementMap_elementValue": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_ElementMap_key": {
                    "type": "string"
        },
        "ExternalIdentifier": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ExternalIdentifier"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ExternalIdentifier_props" }
                ]
            },
            "else": {
                "const": "Not a ExternalIdentifier"
            }
        },
        "ExternalIdentifier_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ExternalIdentifier" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ExternalIdentifier_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_ExternalIdentifier_comment"
                        },
                        "externalIdentifierType": {
                            "$ref": "#/$defs/prop_ExternalIdentifier_externalIdentifierType"
                        },
                        "identifier": {
                            "$ref": "#/$defs/prop_ExternalIdentifier_identifier"
                        },
                        "identifierLocator": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ExternalIdentifier_identifierLocator"
                                    }
                                }
                            ]
                        },
                        "issuingAuthority": {
                            "$ref": "#/$defs/prop_ExternalIdentifier_issuingAuthority"
                        }
                    },
                    "required": [
                        "externalIdentifierType",
                        "identifier"
                    ]
                }
            ]
        },
        "prop_ExternalIdentifier_comment": {
                    "type": "string"
        },
        "prop_ExternalIdentifier_externalIdentifierType": {
                "enum": [
                    "ark",
                    "bic",
                    "cpe22",
                    "cpe23",
                    "cve",
                    "doi",
                    "duns",
                    "ecli",
                    "eli",
                    "email",
                    "evidenceUUID",
                    "gitoid",
                    "gln",
                    "glue",
                    "gtin",
                    "hsCodes",
                    "ibid",
                    "ibrn",
                    "isan",
                    "isbn",
                    "iscc",
                    "isci",
                    "isil",
                    "ismn",
                    "isni",
                    "isrc",
                    "issn",
                    "iswc",
                    "lei",
                    "lexid",
                    "nli",
                    "orcidid",
                    "other",
                    "packageUrl",
                    "phoneNumber",
                    "requirementUUID",
                    "rorid",
                    "securityOther",
                    "swhid",
                    "swid",
                    "urlScheme",
                    "verificationUUID",
                    "webpage"
                ]
        },
        "prop_ExternalIdentifier_identifier": {
                    "type": "string"
        },
        "prop_ExternalIdentifier_identifierLocator": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_ExternalIdentifier_issuingAuthority": {
                    "type": "string"
        },
        "ExternalIdentifierType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ExternalIdentifierType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ExternalIdentifierType_props" }
                ]
            },
            "else": {
                "const": "Not a ExternalIdentifierType"
            }
        },
        "ExternalIdentifierType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ExternalIdentifierType" }
                    ]
                },
                { "const": "spdx:Core/ExternalIdentifierType/ark" },
                { "const": "spdx:Core/ExternalIdentifierType/bic" },
                { "const": "spdx:Core/ExternalIdentifierType/cpe22" },
                { "const": "spdx:Core/ExternalIdentifierType/cpe23" },
                { "const": "spdx:Core/ExternalIdentifierType/cve" },
                { "const": "spdx:Core/ExternalIdentifierType/doi" },
                { "const": "spdx:Core/ExternalIdentifierType/duns" },
                { "const": "spdx:Core/ExternalIdentifierType/ecli" },
                { "const": "spdx:Core/ExternalIdentifierType/eli" },
                { "const": "spdx:Core/ExternalIdentifierType/email" },
                { "const": "spdx:Core/ExternalIdentifierType/evidenceUUID" },
                { "const": "spdx:Core/ExternalIdentifierType/gitoid" },
                { "const": "spdx:Core/ExternalIdentifierType/gln" },
                { "const": "spdx:Core/ExternalIdentifierType/glue" },
                { "const": "spdx:Core/ExternalIdentifierType/gtin" },
                { "const": "spdx:Core/ExternalIdentifierType/hsCodes" },
                { "const": "spdx:Core/ExternalIdentifierType/ibid" },
                { "const": "spdx:Core/ExternalIdentifierType/ibrn" },
                { "const": "spdx:Core/ExternalIdentifierType/isan" },
                { "const": "spdx:Core/ExternalIdentifierType/isbn" },
                { "const": "spdx:Core/ExternalIdentifierType/iscc" },
                { "const": "spdx:Core/ExternalIdentifierType/isci" },
                { "const": "spdx:Core/ExternalIdentifierType/isil" },
                { "const": "spdx:Core/ExternalIdentifierType/ismn" },
                { "const": "spdx:Core/ExternalIdentifierType/isni" },
                { "const": "spdx:Core/ExternalIdentifierType/isrc" },
                { "const": "spdx:Core/ExternalIdentifierType/issn" },
                { "const": "spdx:Core/ExternalIdentifierType/iswc" },
                { "const": "spdx:Core/ExternalIdentifierType/lei" },
                { "const": "spdx:Core/ExternalIdentifierType/lexid" },
                { "const": "spdx:Core/ExternalIdentifierType/nli" },
                { "const": "spdx:Core/ExternalIdentifierType/orcidid" },
                { "const": "spdx:Core/ExternalIdentifierType/other" },
                { "const": "spdx:Core/ExternalIdentifierType/packageUrl" },
                { "const": "spdx:Core/ExternalIdentifierType/phoneNumber" },
                { "const": "spdx:Core/ExternalIdentifierType/requirementUUID" },
                { "const": "spdx:Core/ExternalIdentifierType/rorid" },
                { "const": "spdx:Core/ExternalIdentifierType/securityOther" },
                { "const": "spdx:Core/ExternalIdentifierType/swhid" },
                { "const": "spdx:Core/ExternalIdentifierType/swid" },
                { "const": "spdx:Core/ExternalIdentifierType/urlScheme" },
                { "const": "spdx:Core/ExternalIdentifierType/verificationUUID" },
                { "const": "spdx:Core/ExternalIdentifierType/webpage" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ExternalIdentifierType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ExternalMap": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ExternalMap"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ExternalMap_props" }
                ]
            },
            "else": {
                "const": "Not a ExternalMap"
            }
        },
        "ExternalMap_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ExternalMap" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ExternalMap_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "definingArtifact": {
                            "$ref": "#/$defs/prop_ExternalMap_definingArtifact"
                        },
                        "externalSpdxId": {
                            "$ref": "#/$defs/prop_ExternalMap_externalSpdxId"
                        },
                        "locationHint": {
                            "$ref": "#/$defs/prop_ExternalMap_locationHint"
                        },
                        "verifiedUsing": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ExternalMap_verifiedUsing"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "externalSpdxId"
                    ]
                }
            ]
        },
        "prop_ExternalMap_definingArtifact": {
                "$ref": "#/$defs/Artifact_derived"
        },
        "prop_ExternalMap_externalSpdxId": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_ExternalMap_locationHint": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_ExternalMap_verifiedUsing": {
                "$ref": "#/$defs/IntegrityMethod_derived"
        },
        "ExternalRef": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ExternalRef"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ExternalRef_props" }
                ]
            },
            "else": {
                "const": "Not a ExternalRef"
            }
        },
        "ExternalRef_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ExternalRef" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ExternalRef_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_ExternalRef_comment"
                        },
                        "contentType": {
                            "$ref": "#/$defs/prop_ExternalRef_contentType"
                        },
                        "externalRefType": {
                            "$ref": "#/$defs/prop_ExternalRef_externalRefType"
                        },
                        "locator": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ExternalRef_locator"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_ExternalRef_comment": {
                    "type": "string"
        },
        "prop_ExternalRef_contentType": {
                    "pattern": "^[^\\/]+\\/[^\\/]+$",
                    "type": "string"
        },
        "prop_ExternalRef_externalRefType": {
                "enum": [
                    "altDownloadLocation",
                    "altWebPage",
                    "binaryArtifact",
                    "bom",
                    "bower",
                    "buildMeta",
                    "buildSystem",
                    "certificationReport",
                    "chat",
                    "componentAnalysisReport",
                    "cwe",
                    "documentation",
                    "dynamicAnalysisReport",
                    "eolNotice",
                    "exportControlAssessment",
                    "funding",
                    "issueTracker",
                    "license",
                    "mailingList",
                    "mavenCentral",
                    "metrics",
                    "npm",
                    "nuget",
                    "other",
                    "privacyAssessment",
                    "productMetadata",
                    "purchaseOrder",
                    "qualityAssessmentReport",
                    "releaseHistory",
                    "releaseNotes",
                    "riskAssessment",
                    "runtimeAnalysisReport",
                    "secureSoftwareAttestation",
                    "securityAdversaryModel",
                    "securityAdvisory",
                    "securityFix",
                    "securityOther",
                    "securityPenTestReport",
                    "securityPolicy",
                    "securityThreatModel",
                    "socialMedia",
                    "sourceArtifact",
                    "staticAnalysisReport",
                    "support",
                    "vcs",
                    "vulnerabilityDisclosureReport",
                    "vulnerabilityExploitabilityAssessment",
                    "x509Cert"
                ]
        },
        "prop_ExternalRef_locator": {
                    "type": "string"
        },
        "ExternalRefType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ExternalRefType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ExternalRefType_props" }
                ]
            },
            "else": {
                "const": "Not a ExternalRefType"
            }
        },
        "ExternalRefType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ExternalRefType" }
                    ]
                },
                { "const": "spdx:Core/ExternalRefType/altDownloadLocation" },
                { "const": "spdx:Core/ExternalRefType/altWebPage" },
                { "const": "spdx:Core/ExternalRefType/binaryArtifact" },
                { "const": "spdx:Core/ExternalRefType/bom" },
                { "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" },
                { "const": "spdx:Core/ExternalRefType/x509Cert" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ExternalRefType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "HashAlgorithm": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "HashAlgorithm"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/HashAlgorithm_props" }
                ]
            },
            "else": {
                "const": "Not a HashAlgorithm"
            }
        },
        "HashAlgorithm_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "HashAlgorithm_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "IndividualElement": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "IndividualElement"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/IndividualElement_props" }
                ]
            },
            "else": {
                "const": "Not a IndividualElement"
            }
        },
        "IndividualElement_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/IndividualElement" }
                    ]
                },
                { "const": "NoAssertionElement" },
                { "const": "NoneElement" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "IndividualElement_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "IntegrityMethod_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Hash" },
                        { "$ref": "#/$defs/PackageVerificationCode" },
                        { "$ref": "#/$defs/software_ContentIdentifier" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "IntegrityMethod_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_IntegrityMethod_comment"
                        }
                    }
                }
            ]
        },
        "prop_IntegrityMethod_comment": {
                    "type": "string"
        },
        "IsoAutomationLevel": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "IsoAutomationLevel"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/IsoAutomationLevel_props" }
                ]
            },
            "else": {
                "const": "Not a IsoAutomationLevel"
            }
        },
        "IsoAutomationLevel_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/IsoAutomationLevel" }
                    ]
                },
                { "const": "spdx:Core/IsoAutomationLevel/assistiveAutomation" },
                { "const": "spdx:Core/IsoAutomationLevel/autonomous" },
                { "const": "spdx:Core/IsoAutomationLevel/conditionalAutomation" },
                { "const": "spdx:Core/IsoAutomationLevel/fullAutomation" },
                { "const": "spdx:Core/IsoAutomationLevel/highAutomation" },
                { "const": "spdx:Core/IsoAutomationLevel/notAutomated" },
                { "const": "spdx:Core/IsoAutomationLevel/partialAutomation" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "IsoAutomationLevel_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "LifecycleScopeType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "LifecycleScopeType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/LifecycleScopeType_props" }
                ]
            },
            "else": {
                "const": "Not a LifecycleScopeType"
            }
        },
        "LifecycleScopeType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/LifecycleScopeType" }
                    ]
                },
                { "const": "spdx:Core/LifecycleScopeType/build" },
                { "const": "spdx:Core/LifecycleScopeType/decommission" },
                { "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" },
                { "const": "spdx:Core/LifecycleScopeType/update" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "LifecycleScopeType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Location_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/PhysicalLocation" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Location_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "locationTime": {
                            "$ref": "#/$defs/prop_Location_locationTime"
                        }
                    }
                }
            ]
        },
        "prop_Location_locationTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "NamespaceMap": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "NamespaceMap"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/NamespaceMap_props" }
                ]
            },
            "else": {
                "const": "Not a NamespaceMap"
            }
        },
        "NamespaceMap_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/NamespaceMap" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "NamespaceMap_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "namespace": {
                            "$ref": "#/$defs/prop_NamespaceMap_namespace"
                        },
                        "prefix": {
                            "$ref": "#/$defs/prop_NamespaceMap_prefix"
                        }
                    },
                    "required": [
                        "namespace",
                        "prefix"
                    ]
                }
            ]
        },
        "prop_NamespaceMap_namespace": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_NamespaceMap_prefix": {
                    "type": "string"
        },
        "PackageVerificationCode": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "PackageVerificationCode"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/PackageVerificationCode_props" }
                ]
            },
            "else": {
                "const": "Not a PackageVerificationCode"
            }
        },
        "PackageVerificationCode_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/PackageVerificationCode" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "PackageVerificationCode_props": {
            "allOf": [
                { "$ref": "#/$defs/IntegrityMethod_props" },
                {
                    "type": "object",
                    "properties": {
                        "algorithm": {
                            "$ref": "#/$defs/prop_PackageVerificationCode_algorithm"
                        },
                        "hashValue": {
                            "$ref": "#/$defs/prop_PackageVerificationCode_hashValue"
                        },
                        "packageVerificationCodeExcludedFile": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_PackageVerificationCode_packageVerificationCodeExcludedFile"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "algorithm",
                        "hashValue"
                    ]
                }
            ]
        },
        "prop_PackageVerificationCode_algorithm": {
                "enum": [
                    "adler32",
                    "blake2b256",
                    "blake2b384",
                    "blake2b512",
                    "blake3",
                    "crystalsDilithium",
                    "crystalsKyber",
                    "falcon",
                    "md2",
                    "md4",
                    "md5",
                    "md6",
                    "other",
                    "sha1",
                    "sha224",
                    "sha256",
                    "sha384",
                    "sha3_224",
                    "sha3_256",
                    "sha3_384",
                    "sha3_512",
                    "sha512"
                ]
        },
        "prop_PackageVerificationCode_hashValue": {
                    "type": "string"
        },
        "prop_PackageVerificationCode_packageVerificationCodeExcludedFile": {
                    "type": "string"
        },
        "PhysicalLocation": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "PhysicalLocation"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/PhysicalLocation_props" }
                ]
            },
            "else": {
                "const": "Not a PhysicalLocation"
            }
        },
        "PhysicalLocation_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/PhysicalLocation" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "PhysicalLocation_props": {
            "allOf": [
                { "$ref": "#/$defs/Location_props" },
                {
                    "type": "object",
                    "properties": {
                        "city": {
                            "$ref": "#/$defs/prop_PhysicalLocation_city"
                        },
                        "country": {
                            "$ref": "#/$defs/prop_PhysicalLocation_country"
                        },
                        "countyCode": {
                            "$ref": "#/$defs/prop_PhysicalLocation_countyCode"
                        },
                        "geographicPointLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_PhysicalLocation_geographicPointLocation"
                                    }
                                }
                            ]
                        },
                        "postOfficeBoxNumber": {
                            "$ref": "#/$defs/prop_PhysicalLocation_postOfficeBoxNumber"
                        },
                        "postalCode": {
                            "$ref": "#/$defs/prop_PhysicalLocation_postalCode"
                        },
                        "postalName": {
                            "$ref": "#/$defs/prop_PhysicalLocation_postalName"
                        },
                        "provinceStateCode": {
                            "$ref": "#/$defs/prop_PhysicalLocation_provinceStateCode"
                        },
                        "streetAddress": {
                            "$ref": "#/$defs/prop_PhysicalLocation_streetAddress"
                        }
                    }
                }
            ]
        },
        "prop_PhysicalLocation_city": {
                    "type": "string"
        },
        "prop_PhysicalLocation_country": {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
        },
        "prop_PhysicalLocation_countyCode": {
                    "type": "string"
        },
        "prop_PhysicalLocation_geographicPointLocation": {
                    "type": "string"
        },
        "prop_PhysicalLocation_postOfficeBoxNumber": {
                    "type": "string"
        },
        "prop_PhysicalLocation_postalCode": {
                    "type": "string"
        },
        "prop_PhysicalLocation_postalName": {
                    "type": "string"
        },
        "prop_PhysicalLocation_provinceStateCode": {
                    "type": "string"
        },
        "prop_PhysicalLocation_streetAddress": {
                    "type": "string"
        },
        "PositiveIntegerRange": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "PositiveIntegerRange"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/PositiveIntegerRange_props" }
                ]
            },
            "else": {
                "const": "Not a PositiveIntegerRange"
            }
        },
        "PositiveIntegerRange_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/PositiveIntegerRange" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "PositiveIntegerRange_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "beginIntegerRange": {
                            "$ref": "#/$defs/prop_PositiveIntegerRange_beginIntegerRange"
                        },
                        "endIntegerRange": {
                            "$ref": "#/$defs/prop_PositiveIntegerRange_endIntegerRange"
                        }
                    },
                    "required": [
                        "beginIntegerRange",
                        "endIntegerRange"
                    ]
                }
            ]
        },
        "prop_PositiveIntegerRange_beginIntegerRange": {
                    "type": "integer",
                    "minimum": 1
        },
        "prop_PositiveIntegerRange_endIntegerRange": {
                    "type": "integer",
                    "minimum": 1
        },
        "PresenceType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "PresenceType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/PresenceType_props" }
                ]
            },
            "else": {
                "const": "Not a PresenceType"
            }
        },
        "PresenceType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/PresenceType" }
                    ]
                },
                { "const": "spdx:Core/PresenceType/no" },
                { "const": "spdx:Core/PresenceType/noAssertion" },
                { "const": "spdx:Core/PresenceType/yes" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "PresenceType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ProcessReadinessType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ProcessReadinessType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ProcessReadinessType_props" }
                ]
            },
            "else": {
                "const": "Not a ProcessReadinessType"
            }
        },
        "ProcessReadinessType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ProcessReadinessType" }
                    ]
                },
                { "const": "spdx:Core/ProcessReadinessType/active" },
                { "const": "spdx:Core/ProcessReadinessType/draft" },
                { "const": "spdx:Core/ProcessReadinessType/obsolete" },
                { "const": "spdx:Core/ProcessReadinessType/other" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ProcessReadinessType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ProfileIdentifierType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ProfileIdentifierType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/ProfileIdentifierType_props" }
                ]
            },
            "else": {
                "const": "Not a ProfileIdentifierType"
            }
        },
        "ProfileIdentifierType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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/functionalSafety" },
                { "const": "spdx:Core/ProfileIdentifierType/hardware" },
                { "const": "spdx:Core/ProfileIdentifierType/lite" },
                { "const": "spdx:Core/ProfileIdentifierType/operations" },
                { "const": "spdx:Core/ProfileIdentifierType/security" },
                { "const": "spdx:Core/ProfileIdentifierType/service" },
                { "const": "spdx:Core/ProfileIdentifierType/simpleLicensing" },
                { "const": "spdx:Core/ProfileIdentifierType/software" },
                { "const": "spdx:Core/ProfileIdentifierType/supplyChain" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ProfileIdentifierType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Relationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Relationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Relationship_props" }
                ]
            },
            "else": {
                "const": "Not a Relationship"
            }
        },
        "Relationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ContactPointRelationship" },
                        { "$ref": "#/$defs/LifecycleScopedRelationship" },
                        { "$ref": "#/$defs/SupportRelationship" },
                        { "$ref": "#/$defs/functionalsafety_EvidenceRelationship" },
                        { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/Relationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Relationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "completeness": {
                            "$ref": "#/$defs/prop_Relationship_completeness"
                        },
                        "endTime": {
                            "$ref": "#/$defs/prop_Relationship_endTime"
                        },
                        "from": {
                            "$ref": "#/$defs/prop_Relationship_from_"
                        },
                        "relationshipType": {
                            "$ref": "#/$defs/prop_Relationship_relationshipType"
                        },
                        "startTime": {
                            "$ref": "#/$defs/prop_Relationship_startTime"
                        },
                        "to": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_Relationship_to"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "from",
                        "relationshipType",
                        "to"
                    ]
                }
            ]
        },
        "prop_Relationship_completeness": {
                "enum": [
                    "complete",
                    "incomplete",
                    "noAssertion"
                ]
        },
        "prop_Relationship_endTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_Relationship_from_": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_Relationship_relationshipType": {
                "enum": [
                    "affects",
                    "amendedBy",
                    "ancestorOf",
                    "assumes",
                    "availableFrom",
                    "configures",
                    "conformsTo",
                    "contains",
                    "coordinatedBy",
                    "copiedTo",
                    "createdBy",
                    "delegatedTo",
                    "dependsOn",
                    "descendantOf",
                    "describes",
                    "doesNotAffect",
                    "evaluatedOn",
                    "expandsTo",
                    "exploitCreatedBy",
                    "finetunedOn",
                    "fixedBy",
                    "fixedIn",
                    "follows",
                    "foundBy",
                    "generates",
                    "hasAddedFile",
                    "hasAssessmentFor",
                    "hasAssociatedVulnerability",
                    "hasConcludedLicense",
                    "hasContactPoint",
                    "hasDataFile",
                    "hasDeclaredLicense",
                    "hasDeletedFile",
                    "hasDependencyManifest",
                    "hasDistributionArtifact",
                    "hasDocumentation",
                    "hasDynamicLink",
                    "hasEvidence",
                    "hasExample",
                    "hasHost",
                    "hasInput",
                    "hasMetadata",
                    "hasOptionalComponent",
                    "hasOptionalDependency",
                    "hasOutput",
                    "hasPrerequisite",
                    "hasProvidedDependency",
                    "hasRequirement",
                    "hasResolution",
                    "hasSpecification",
                    "hasStaticLink",
                    "hasTest",
                    "hasTestCase",
                    "hasVariant",
                    "implementedBy",
                    "invokedBy",
                    "locatedAt",
                    "modifiedBy",
                    "other",
                    "packagedBy",
                    "patchedBy",
                    "performedBy",
                    "pretrainedOn",
                    "providesSupportFor",
                    "publishedBy",
                    "reportedBy",
                    "republishedBy",
                    "resolved",
                    "runsOn",
                    "serializedInArtifact",
                    "testedOn",
                    "tracedToDetail",
                    "trainedOn",
                    "underInvestigationFor",
                    "usesTool",
                    "validatedOn",
                    "verifiedBy"
                ]
        },
        "prop_Relationship_startTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_Relationship_to": {
                "$ref": "#/$defs/Element_derived"
        },
        "RelationshipCompleteness": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "RelationshipCompleteness"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/RelationshipCompleteness_props" }
                ]
            },
            "else": {
                "const": "Not a RelationshipCompleteness"
            }
        },
        "RelationshipCompleteness_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/RelationshipCompleteness" }
                    ]
                },
                { "const": "spdx:Core/RelationshipCompleteness/complete" },
                { "const": "spdx:Core/RelationshipCompleteness/incomplete" },
                { "const": "spdx:Core/RelationshipCompleteness/noAssertion" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "RelationshipCompleteness_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "RelationshipType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "RelationshipType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/RelationshipType_props" }
                ]
            },
            "else": {
                "const": "Not a RelationshipType"
            }
        },
        "RelationshipType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/RelationshipType" }
                    ]
                },
                { "const": "spdx:Core/RelationshipType/affects" },
                { "const": "spdx:Core/RelationshipType/amendedBy" },
                { "const": "spdx:Core/RelationshipType/ancestorOf" },
                { "const": "spdx:Core/RelationshipType/assumes" },
                { "const": "spdx:Core/RelationshipType/availableFrom" },
                { "const": "spdx:Core/RelationshipType/configures" },
                { "const": "spdx:Core/RelationshipType/conformsTo" },
                { "const": "spdx:Core/RelationshipType/contains" },
                { "const": "spdx:Core/RelationshipType/coordinatedBy" },
                { "const": "spdx:Core/RelationshipType/copiedTo" },
                { "const": "spdx:Core/RelationshipType/createdBy" },
                { "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/evaluatedOn" },
                { "const": "spdx:Core/RelationshipType/expandsTo" },
                { "const": "spdx:Core/RelationshipType/exploitCreatedBy" },
                { "const": "spdx:Core/RelationshipType/finetunedOn" },
                { "const": "spdx:Core/RelationshipType/fixedBy" },
                { "const": "spdx:Core/RelationshipType/fixedIn" },
                { "const": "spdx:Core/RelationshipType/follows" },
                { "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/hasContactPoint" },
                { "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/hasResolution" },
                { "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/implementedBy" },
                { "const": "spdx:Core/RelationshipType/invokedBy" },
                { "const": "spdx:Core/RelationshipType/locatedAt" },
                { "const": "spdx:Core/RelationshipType/modifiedBy" },
                { "const": "spdx:Core/RelationshipType/other" },
                { "const": "spdx:Core/RelationshipType/packagedBy" },
                { "const": "spdx:Core/RelationshipType/patchedBy" },
                { "const": "spdx:Core/RelationshipType/performedBy" },
                { "const": "spdx:Core/RelationshipType/pretrainedOn" },
                { "const": "spdx:Core/RelationshipType/providesSupportFor" },
                { "const": "spdx:Core/RelationshipType/publishedBy" },
                { "const": "spdx:Core/RelationshipType/reportedBy" },
                { "const": "spdx:Core/RelationshipType/republishedBy" },
                { "const": "spdx:Core/RelationshipType/resolved" },
                { "const": "spdx:Core/RelationshipType/runsOn" },
                { "const": "spdx:Core/RelationshipType/serializedInArtifact" },
                { "const": "spdx:Core/RelationshipType/testedOn" },
                { "const": "spdx:Core/RelationshipType/tracedToDetail" },
                { "const": "spdx:Core/RelationshipType/trainedOn" },
                { "const": "spdx:Core/RelationshipType/underInvestigationFor" },
                { "const": "spdx:Core/RelationshipType/usesTool" },
                { "const": "spdx:Core/RelationshipType/validatedOn" },
                { "const": "spdx:Core/RelationshipType/verifiedBy" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "RelationshipType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Requirement": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Requirement"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Requirement_props" }
                ]
            },
            "else": {
                "const": "Not a Requirement"
            }
        },
        "Requirement_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Requirement" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Requirement_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "devLifecycleStage": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Requirement_devLifecycleStage"
                                    }
                                }
                            ]
                        },
                        "rationale": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Requirement_rationale"
                                    }
                                }
                            ]
                        },
                        "requirementStatement": {
                            "$ref": "#/$defs/prop_Requirement_requirementStatement"
                        },
                        "requirementUUID": {
                            "$ref": "#/$defs/prop_Requirement_requirementUUID"
                        }
                    },
                    "required": [
                        "requirementStatement"
                    ]
                }
            ]
        },
        "prop_Requirement_devLifecycleStage": {
                "enum": [
                    "spdx:Core/LifecycleScopeType/build",
                    "spdx:Core/LifecycleScopeType/decommission",
                    "spdx:Core/LifecycleScopeType/design",
                    "spdx:Core/LifecycleScopeType/development",
                    "spdx:Core/LifecycleScopeType/other",
                    "spdx:Core/LifecycleScopeType/runtime",
                    "spdx:Core/LifecycleScopeType/test",
                    "spdx:Core/LifecycleScopeType/update"
                ]
        },
        "prop_Requirement_rationale": {
                    "type": "string"
        },
        "prop_Requirement_requirementStatement": {
                    "type": "string"
        },
        "prop_Requirement_requirementUUID": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "SpdxDocument": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "SpdxDocument"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/SpdxDocument_props" }
                ]
            },
            "else": {
                "const": "Not a SpdxDocument"
            }
        },
        "SpdxDocument_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/SpdxDocument" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "SpdxDocument_props": {
            "allOf": [
                { "$ref": "#/$defs/ElementCollection_props" },
                {
                    "type": "object",
                    "properties": {
                        "dataLicense": {
                            "$ref": "#/$defs/prop_SpdxDocument_dataLicense"
                        },
                        "import": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_SpdxDocument_import_"
                                    }
                                }
                            ]
                        },
                        "namespaceMap": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_SpdxDocument_namespaceMap"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_SpdxDocument_dataLicense": {
                "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_derived"
        },
        "prop_SpdxDocument_import_": {
                "$ref": "#/$defs/ExternalMap_derived"
        },
        "prop_SpdxDocument_namespaceMap": {
                "$ref": "#/$defs/NamespaceMap_derived"
        },
        "SpecificationType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "SpecificationType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/SpecificationType_props" }
                ]
            },
            "else": {
                "const": "Not a SpecificationType"
            }
        },
        "SpecificationType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/SpecificationType" }
                    ]
                },
                { "const": "spdx:Core/SpecificationType/formalStandard" },
                { "const": "spdx:Core/SpecificationType/other" },
                { "const": "spdx:Core/SpecificationType/regulation" },
                { "const": "spdx:Core/SpecificationType/specification" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "SpecificationType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "SupportRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "SupportRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/SupportRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a SupportRelationship"
            }
        },
        "SupportRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/SupportRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "SupportRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "supportLevel": {
                            "$ref": "#/$defs/prop_SupportRelationship_supportLevel"
                        }
                    },
                    "required": [
                        "supportLevel"
                    ]
                }
            ]
        },
        "prop_SupportRelationship_supportLevel": {
                "enum": [
                    "deployed",
                    "development",
                    "endOfSupport",
                    "limitedSupport",
                    "noAssertion",
                    "noSupport",
                    "support"
                ]
        },
        "SupportType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "SupportType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/SupportType_props" }
                ]
            },
            "else": {
                "const": "Not a SupportType"
            }
        },
        "SupportType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "SupportType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Tool": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Tool"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Tool_props" }
                ]
            },
            "else": {
                "const": "Not a Tool"
            }
        },
        "Tool_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Tool" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Tool_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "UnitOfMeasure": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "UnitOfMeasure"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/UnitOfMeasure_props" }
                ]
            },
            "else": {
                "const": "Not a UnitOfMeasure"
            }
        },
        "UnitOfMeasure_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/MeasureOfLength" },
                        { "$ref": "#/$defs/MeasureOfMass" },
                        { "$ref": "#/$defs/UnitOfMeasure" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "UnitOfMeasure_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "quantity": {
                            "$ref": "#/$defs/prop_UnitOfMeasure_quantity"
                        },
                        "unitQUDT": {
                            "$ref": "#/$defs/prop_UnitOfMeasure_unitQUDT"
                        }
                    },
                    "required": [
                        "quantity",
                        "unitQUDT"
                    ]
                }
            ]
        },
        "prop_UnitOfMeasure_quantity": {
                    "type": "string"
        },
        "prop_UnitOfMeasure_unitQUDT": {
                    "type": "string"
        },
        "dataset_ConfidentialityLevelType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "dataset_ConfidentialityLevelType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/dataset_ConfidentialityLevelType_props" }
                ]
            },
            "else": {
                "const": "Not a dataset_ConfidentialityLevelType"
            }
        },
        "dataset_ConfidentialityLevelType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/dataset_ConfidentialityLevelType" }
                    ]
                },
                { "const": "spdx:Dataset/ConfidentialityLevelType/amber" },
                { "const": "spdx:Dataset/ConfidentialityLevelType/clear" },
                { "const": "spdx:Dataset/ConfidentialityLevelType/green" },
                { "const": "spdx:Dataset/ConfidentialityLevelType/red" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "dataset_ConfidentialityLevelType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "dataset_DatasetAvailabilityType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "dataset_DatasetAvailabilityType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/dataset_DatasetAvailabilityType_props" }
                ]
            },
            "else": {
                "const": "Not a dataset_DatasetAvailabilityType"
            }
        },
        "dataset_DatasetAvailabilityType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "dataset_DatasetAvailabilityType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "dataset_DatasetType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "dataset_DatasetType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/dataset_DatasetType_props" }
                ]
            },
            "else": {
                "const": "Not a dataset_DatasetType"
            }
        },
        "dataset_DatasetType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "dataset_DatasetType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "expandedlicensing_LicenseAddition_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_CustomLicenseAddition" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicenseException" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_LicenseAddition_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_additionText": {
                            "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_additionText"
                        },
                        "expandedlicensing_isDeprecatedAdditionId": {
                            "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_isDeprecatedAdditionId"
                        },
                        "expandedlicensing_licenseXml": {
                            "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_licenseXml"
                        },
                        "expandedlicensing_obsoletedBy": {
                            "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_obsoletedBy"
                        },
                        "expandedlicensing_seeAlso": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_seeAlso"
                                    }
                                }
                            ]
                        },
                        "expandedlicensing_standardAdditionTemplate": {
                            "$ref": "#/$defs/prop_expandedlicensing_LicenseAddition_expandedlicensing_standardAdditionTemplate"
                        }
                    },
                    "required": [
                        "expandedlicensing_additionText"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_additionText": {
                    "type": "string"
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_isDeprecatedAdditionId": {
                    "type": "boolean"
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_licenseXml": {
                    "type": "string"
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_obsoletedBy": {
                    "type": "string"
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_seeAlso": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_expandedlicensing_LicenseAddition_expandedlicensing_standardAdditionTemplate": {
                    "type": "string"
        },
        "expandedlicensing_ListedLicenseException": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_ListedLicenseException"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_ListedLicenseException_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_ListedLicenseException"
            }
        },
        "expandedlicensing_ListedLicenseException_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_ListedLicenseException" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_ListedLicenseException_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_LicenseAddition_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_deprecatedVersion": {
                            "$ref": "#/$defs/prop_expandedlicensing_ListedLicenseException_expandedlicensing_deprecatedVersion"
                        },
                        "expandedlicensing_listVersionAdded": {
                            "$ref": "#/$defs/prop_expandedlicensing_ListedLicenseException_expandedlicensing_listVersionAdded"
                        }
                    }
                }
            ]
        },
        "prop_expandedlicensing_ListedLicenseException_expandedlicensing_deprecatedVersion": {
                    "type": "string"
        },
        "prop_expandedlicensing_ListedLicenseException_expandedlicensing_listVersionAdded": {
                    "type": "string"
        },
        "extension_CdxPropertyEntry": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "extension_CdxPropertyEntry"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/extension_CdxPropertyEntry_props" }
                ]
            },
            "else": {
                "const": "Not a extension_CdxPropertyEntry"
            }
        },
        "extension_CdxPropertyEntry_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/extension_CdxPropertyEntry" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "extension_CdxPropertyEntry_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "extension_cdxPropName": {
                            "$ref": "#/$defs/prop_extension_CdxPropertyEntry_extension_cdxPropName"
                        },
                        "extension_cdxPropValue": {
                            "$ref": "#/$defs/prop_extension_CdxPropertyEntry_extension_cdxPropValue"
                        }
                    },
                    "required": [
                        "extension_cdxPropName"
                    ]
                }
            ]
        },
        "prop_extension_CdxPropertyEntry_extension_cdxPropName": {
                    "type": "string"
        },
        "prop_extension_CdxPropertyEntry_extension_cdxPropValue": {
                    "type": "string"
        },
        "extension_Extension": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "allOf":  [
                            { "$ref": "#/$defs/IRI" },
                            { "not": { "const": "extension_Extension" } }
                        ]
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "unevaluatedProperties": true,
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/extension_Extension_props" }
                ]
            },
            "else": {
                "const": "Not a extension_Extension"
            }
        },
        "extension_Extension_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "anyOf": [
                        { "$ref": "#/$defs/extension_CdxPropertiesExtension" },
                        { "$ref": "#/$defs/extension_Extension_props" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "extension_Extension_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "functionalsafety_Assumption": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_Assumption"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/functionalsafety_Assumption_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_Assumption"
            }
        },
        "functionalsafety_Assumption_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_Assumption" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_Assumption_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "rationale": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_functionalsafety_Assumption_rationale"
                                    }
                                }
                            ]
                        },
                        "functionalsafety_assumptionStatement": {
                            "$ref": "#/$defs/prop_functionalsafety_Assumption_functionalsafety_assumptionStatement"
                        },
                        "functionalsafety_assumptionUUID": {
                            "$ref": "#/$defs/prop_functionalsafety_Assumption_functionalsafety_assumptionUUID"
                        }
                    },
                    "required": [
                        "functionalsafety_assumptionStatement"
                    ]
                }
            ]
        },
        "prop_functionalsafety_Assumption_rationale": {
                    "type": "string"
        },
        "prop_functionalsafety_Assumption_functionalsafety_assumptionStatement": {
                    "type": "string"
        },
        "prop_functionalsafety_Assumption_functionalsafety_assumptionUUID": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "functionalsafety_EvaluationResult": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_EvaluationResult"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/functionalsafety_EvaluationResult_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_EvaluationResult"
            }
        },
        "functionalsafety_EvaluationResult_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_EvaluationResult" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_EvaluationResult_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "rationale": {
                            "$ref": "#/$defs/prop_functionalsafety_EvaluationResult_rationale"
                        },
                        "functionalsafety_evaluation": {
                            "$ref": "#/$defs/prop_functionalsafety_EvaluationResult_functionalsafety_evaluation"
                        },
                        "functionalsafety_evaluationBasedOn": {
                            "$ref": "#/$defs/prop_functionalsafety_EvaluationResult_functionalsafety_evaluationBasedOn"
                        }
                    },
                    "required": [
                        "rationale",
                        "functionalsafety_evaluation",
                        "functionalsafety_evaluationBasedOn"
                    ]
                }
            ]
        },
        "prop_functionalsafety_EvaluationResult_rationale": {
                    "type": "string"
        },
        "prop_functionalsafety_EvaluationResult_functionalsafety_evaluation": {
                "enum": [
                    "spdx:FunctionalSafety/EvaluationResultType/fail",
                    "spdx:FunctionalSafety/EvaluationResultType/inconclusive",
                    "spdx:FunctionalSafety/EvaluationResultType/pass"
                ]
        },
        "prop_functionalsafety_EvaluationResult_functionalsafety_evaluationBasedOn": {
                "$ref": "#/$defs/functionalsafety_RequirementVerification_derived"
        },
        "functionalsafety_EvaluationResultType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_EvaluationResultType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/functionalsafety_EvaluationResultType_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_EvaluationResultType"
            }
        },
        "functionalsafety_EvaluationResultType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_EvaluationResultType" }
                    ]
                },
                { "const": "spdx:FunctionalSafety/EvaluationResultType/fail" },
                { "const": "spdx:FunctionalSafety/EvaluationResultType/inconclusive" },
                { "const": "spdx:FunctionalSafety/EvaluationResultType/pass" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_EvaluationResultType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "functionalsafety_EvidenceRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_EvidenceRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/functionalsafety_EvidenceRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_EvidenceRelationship"
            }
        },
        "functionalsafety_EvidenceRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_EvidenceRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_EvidenceRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "functionalsafety_evidenceCategory": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceCategory"
                                    }
                                }
                            ]
                        },
                        "functionalsafety_evidenceUUID": {
                            "$ref": "#/$defs/prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceUUID"
                        }
                    }
                }
            ]
        },
        "prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceCategory": {
                "enum": [
                    "log",
                    "observation",
                    "other",
                    "recording",
                    "report"
                ]
        },
        "prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceUUID": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "functionalsafety_EvidenceType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_EvidenceType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/functionalsafety_EvidenceType_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_EvidenceType"
            }
        },
        "functionalsafety_EvidenceType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_EvidenceType" }
                    ]
                },
                { "const": "spdx:FunctionalSafety/EvidenceType/log" },
                { "const": "spdx:FunctionalSafety/EvidenceType/observation" },
                { "const": "spdx:FunctionalSafety/EvidenceType/other" },
                { "const": "spdx:FunctionalSafety/EvidenceType/recording" },
                { "const": "spdx:FunctionalSafety/EvidenceType/report" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_EvidenceType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "functionalsafety_RequirementVerification": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_RequirementVerification"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/functionalsafety_RequirementVerification_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_RequirementVerification"
            }
        },
        "functionalsafety_RequirementVerification_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_RequirementVerification" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_RequirementVerification_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "rationale": {
                            "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_rationale"
                        },
                        "functionalsafety_verificationMethod": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_functionalsafety_verificationMethod"
                                    }
                                }
                            ]
                        },
                        "functionalsafety_verificationPostcondition": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_functionalsafety_verificationPostcondition"
                                    }
                                }
                            ]
                        },
                        "functionalsafety_verificationPrecondition": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_functionalsafety_verificationPrecondition"
                                    }
                                }
                            ]
                        },
                        "functionalsafety_verificationUUID": {
                            "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_functionalsafety_verificationUUID"
                        }
                    }
                }
            ]
        },
        "prop_functionalsafety_RequirementVerification_rationale": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationMethod": {
                "enum": [
                    "spdx:FunctionalSafety/VerificationType/analysis",
                    "spdx:FunctionalSafety/VerificationType/assessment",
                    "spdx:FunctionalSafety/VerificationType/audit",
                    "spdx:FunctionalSafety/VerificationType/demonstration",
                    "spdx:FunctionalSafety/VerificationType/inspection",
                    "spdx:FunctionalSafety/VerificationType/other",
                    "spdx:FunctionalSafety/VerificationType/review",
                    "spdx:FunctionalSafety/VerificationType/test"
                ]
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationPostcondition": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationPrecondition": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationUUID": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "functionalsafety_VerificationType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "functionalsafety_VerificationType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/functionalsafety_VerificationType_props" }
                ]
            },
            "else": {
                "const": "Not a functionalsafety_VerificationType"
            }
        },
        "functionalsafety_VerificationType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/functionalsafety_VerificationType" }
                    ]
                },
                { "const": "spdx:FunctionalSafety/VerificationType/analysis" },
                { "const": "spdx:FunctionalSafety/VerificationType/assessment" },
                { "const": "spdx:FunctionalSafety/VerificationType/audit" },
                { "const": "spdx:FunctionalSafety/VerificationType/demonstration" },
                { "const": "spdx:FunctionalSafety/VerificationType/inspection" },
                { "const": "spdx:FunctionalSafety/VerificationType/other" },
                { "const": "spdx:FunctionalSafety/VerificationType/review" },
                { "const": "spdx:FunctionalSafety/VerificationType/test" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "functionalsafety_VerificationType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "hardware_Dimensions": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_Dimensions"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/hardware_Dimensions_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_Dimensions"
            }
        },
        "hardware_Dimensions_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_Dimensions" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_Dimensions_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_xAxisLength": {
                            "$ref": "#/$defs/prop_hardware_Dimensions_hardware_xAxisLength"
                        },
                        "hardware_yAxisLength": {
                            "$ref": "#/$defs/prop_hardware_Dimensions_hardware_yAxisLength"
                        },
                        "hardware_zAxisLength": {
                            "$ref": "#/$defs/prop_hardware_Dimensions_hardware_zAxisLength"
                        }
                    },
                    "required": [
                        "hardware_xAxisLength",
                        "hardware_yAxisLength",
                        "hardware_zAxisLength"
                    ]
                }
            ]
        },
        "prop_hardware_Dimensions_hardware_xAxisLength": {
                "$ref": "#/$defs/MeasureOfLength_derived"
        },
        "prop_hardware_Dimensions_hardware_yAxisLength": {
                "$ref": "#/$defs/MeasureOfLength_derived"
        },
        "prop_hardware_Dimensions_hardware_zAxisLength": {
                "$ref": "#/$defs/MeasureOfLength_derived"
        },
        "hardware_VirtualHardwareModelType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_VirtualHardwareModelType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/hardware_VirtualHardwareModelType_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_VirtualHardwareModelType"
            }
        },
        "hardware_VirtualHardwareModelType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_VirtualHardwareModelType" }
                    ]
                },
                { "const": "spdx:Hardware/VirtualHardwareModelType/cycle" },
                { "const": "spdx:Hardware/VirtualHardwareModelType/function" },
                { "const": "spdx:Hardware/VirtualHardwareModelType/other" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_VirtualHardwareModelType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "operations_ExportControlClassification": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "operations_ExportControlClassification"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/operations_ExportControlClassification_props" }
                ]
            },
            "else": {
                "const": "Not a operations_ExportControlClassification"
            }
        },
        "operations_ExportControlClassification_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/operations_ExportControlClassification" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "operations_ExportControlClassification_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                        "comment": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassification_comment"
                        },
                        "operations_exportClassification": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassification_operations_exportClassification"
                        },
                        "operations_exportControlSpecification": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassification_operations_exportControlSpecification"
                        },
                        "operations_exportingCountry": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassification_operations_exportingCountry"
                        },
                        "operations_weight": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassification_operations_weight"
                        }
                    },
                    "required": [
                        "operations_exportClassification",
                        "operations_exportControlSpecification",
                        "operations_exportingCountry"
                    ]
                }
            ]
        },
        "prop_operations_ExportControlClassification_comment": {
                    "type": "string"
        },
        "prop_operations_ExportControlClassification_operations_exportClassification": {
                    "type": "string"
        },
        "prop_operations_ExportControlClassification_operations_exportControlSpecification": {
                "$ref": "#/$defs/Specification_derived"
        },
        "prop_operations_ExportControlClassification_operations_exportingCountry": {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
        },
        "prop_operations_ExportControlClassification_operations_weight": {
                    "type": "integer",
                    "minimum": 1
        },
        "security_CvssSeverityType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_CvssSeverityType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/security_CvssSeverityType_props" }
                ]
            },
            "else": {
                "const": "Not a security_CvssSeverityType"
            }
        },
        "security_CvssSeverityType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_CvssSeverityType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "security_ExploitCatalogType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_ExploitCatalogType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/security_ExploitCatalogType_props" }
                ]
            },
            "else": {
                "const": "Not a security_ExploitCatalogType"
            }
        },
        "security_ExploitCatalogType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_ExploitCatalogType" }
                    ]
                },
                { "const": "spdx:Security/ExploitCatalogType/kev" },
                { "const": "spdx:Security/ExploitCatalogType/other" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_ExploitCatalogType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "security_SsvcDecisionType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_SsvcDecisionType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/security_SsvcDecisionType_props" }
                ]
            },
            "else": {
                "const": "Not a security_SsvcDecisionType"
            }
        },
        "security_SsvcDecisionType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_SsvcDecisionType" }
                    ]
                },
                { "const": "spdx:Security/SsvcDecisionType/act" },
                { "const": "spdx:Security/SsvcDecisionType/attend" },
                { "const": "spdx:Security/SsvcDecisionType/track" },
                { "const": "spdx:Security/SsvcDecisionType/trackStar" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_SsvcDecisionType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "security_VexJustificationType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_VexJustificationType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/security_VexJustificationType_props" }
                ]
            },
            "else": {
                "const": "Not a security_VexJustificationType"
            }
        },
        "security_VexJustificationType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexJustificationType" }
                    ]
                },
                { "const": "spdx:Security/VexJustificationType/componentNotPresent" },
                { "const": "spdx:Security/VexJustificationType/inlineMitigationsAlreadyExist" },
                { "const": "spdx:Security/VexJustificationType/vulnerableCodeCannotBeControlledByAdversary" },
                { "const": "spdx:Security/VexJustificationType/vulnerableCodeNotInExecutePath" },
                { "const": "spdx:Security/VexJustificationType/vulnerableCodeNotPresent" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexJustificationType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "security_VulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "suppliedBy": {
                            "$ref": "#/$defs/prop_security_VulnAssessmentRelationship_suppliedBy"
                        },
                        "security_assessedElement": {
                            "$ref": "#/$defs/prop_security_VulnAssessmentRelationship_security_assessedElement"
                        },
                        "security_modifiedTime": {
                            "$ref": "#/$defs/prop_security_VulnAssessmentRelationship_security_modifiedTime"
                        },
                        "security_publishedTime": {
                            "$ref": "#/$defs/prop_security_VulnAssessmentRelationship_security_publishedTime"
                        },
                        "security_withdrawnTime": {
                            "$ref": "#/$defs/prop_security_VulnAssessmentRelationship_security_withdrawnTime"
                        }
                    }
                }
            ]
        },
        "prop_security_VulnAssessmentRelationship_suppliedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_security_VulnAssessmentRelationship_security_assessedElement": {
                "$ref": "#/$defs/software_SoftwareArtifact_derived"
        },
        "prop_security_VulnAssessmentRelationship_security_modifiedTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_security_VulnAssessmentRelationship_security_publishedTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_security_VulnAssessmentRelationship_security_withdrawnTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "service_AuthenticationProtocolType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "service_AuthenticationProtocolType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/service_AuthenticationProtocolType_props" }
                ]
            },
            "else": {
                "const": "Not a service_AuthenticationProtocolType"
            }
        },
        "service_AuthenticationProtocolType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/service_AuthenticationProtocolType" }
                    ]
                },
                { "const": "spdx:Service/AuthenticationProtocolType/crl" },
                { "const": "spdx:Service/AuthenticationProtocolType/ocsp" },
                { "const": "spdx:Service/AuthenticationProtocolType/other" },
                { "const": "spdx:Service/AuthenticationProtocolType/tls" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "service_AuthenticationProtocolType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "service_SoftwareService": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "service_SoftwareService"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/service_SoftwareService_props" }
                ]
            },
            "else": {
                "const": "Not a service_SoftwareService"
            }
        },
        "service_SoftwareService_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/service_SoftwareService" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "service_SoftwareService_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "service_provider": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_service_SoftwareService_service_provider"
                                    }
                                }
                            ]
                        },
                        "service_serverAuthenticationProtocol": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_service_SoftwareService_service_serverAuthenticationProtocol"
                                    }
                                }
                            ]
                        },
                        "service_serviceHostingCountry": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_service_SoftwareService_service_serviceHostingCountry"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "service_provider"
                    ]
                }
            ]
        },
        "prop_service_SoftwareService_service_provider": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_service_SoftwareService_service_serverAuthenticationProtocol": {
                "enum": [
                    "crl",
                    "ocsp",
                    "other",
                    "tls"
                ]
        },
        "prop_service_SoftwareService_service_serviceHostingCountry": {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
        },
        "simplelicensing_AnyLicenseInfo_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_ConjunctiveLicenseSet" },
                        { "$ref": "#/$defs/expandedlicensing_CustomLicense" },
                        { "$ref": "#/$defs/expandedlicensing_DisjunctiveLicenseSet" },
                        { "$ref": "#/$defs/expandedlicensing_IndividualLicensingInfo" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicense" },
                        { "$ref": "#/$defs/expandedlicensing_OrLaterOperator" },
                        { "$ref": "#/$defs/expandedlicensing_WithAdditionOperator" },
                        { "$ref": "#/$defs/simplelicensing_LicenseExpression" }
                    ]
                },
                { "const": "expandedlicensing_NoAssertionLicense" },
                { "const": "expandedlicensing_NoneLicense" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "simplelicensing_AnyLicenseInfo_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "simplelicensing_LicenseExpression": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "simplelicensing_LicenseExpression"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/simplelicensing_LicenseExpression_props" }
                ]
            },
            "else": {
                "const": "Not a simplelicensing_LicenseExpression"
            }
        },
        "simplelicensing_LicenseExpression_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/simplelicensing_LicenseExpression" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "simplelicensing_LicenseExpression_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                        "simplelicensing_customIdToLicense": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_simplelicensing_LicenseExpression_simplelicensing_customIdToLicense"
                                    }
                                }
                            ]
                        },
                        "simplelicensing_customIdToUri": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_simplelicensing_LicenseExpression_simplelicensing_customIdToUri"
                                    }
                                }
                            ]
                        },
                        "simplelicensing_licenseExpression": {
                            "$ref": "#/$defs/prop_simplelicensing_LicenseExpression_simplelicensing_licenseExpression"
                        },
                        "simplelicensing_licenseListVersion": {
                            "$ref": "#/$defs/prop_simplelicensing_LicenseExpression_simplelicensing_licenseListVersion"
                        }
                    },
                    "required": [
                        "simplelicensing_licenseExpression"
                    ]
                }
            ]
        },
        "prop_simplelicensing_LicenseExpression_simplelicensing_customIdToLicense": {
                "$ref": "#/$defs/ElementMap_derived"
        },
        "prop_simplelicensing_LicenseExpression_simplelicensing_customIdToUri": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_simplelicensing_LicenseExpression_simplelicensing_licenseExpression": {
                    "type": "string"
        },
        "prop_simplelicensing_LicenseExpression_simplelicensing_licenseListVersion": {
                    "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))?$",
                    "type": "string"
        },
        "simplelicensing_SimpleLicensingText": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "simplelicensing_SimpleLicensingText"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/simplelicensing_SimpleLicensingText_props" }
                ]
            },
            "else": {
                "const": "Not a simplelicensing_SimpleLicensingText"
            }
        },
        "simplelicensing_SimpleLicensingText_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/simplelicensing_SimpleLicensingText" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "simplelicensing_SimpleLicensingText_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "simplelicensing_licenseText": {
                            "$ref": "#/$defs/prop_simplelicensing_SimpleLicensingText_simplelicensing_licenseText"
                        }
                    },
                    "required": [
                        "simplelicensing_licenseText"
                    ]
                }
            ]
        },
        "prop_simplelicensing_SimpleLicensingText_simplelicensing_licenseText": {
                    "type": "string"
        },
        "software_ContentIdentifier": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_ContentIdentifier"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/software_ContentIdentifier_props" }
                ]
            },
            "else": {
                "const": "Not a software_ContentIdentifier"
            }
        },
        "software_ContentIdentifier_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_ContentIdentifier" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_ContentIdentifier_props": {
            "allOf": [
                { "$ref": "#/$defs/IntegrityMethod_props" },
                {
                    "type": "object",
                    "properties": {
                        "software_contentIdentifierType": {
                            "$ref": "#/$defs/prop_software_ContentIdentifier_software_contentIdentifierType"
                        },
                        "software_contentIdentifierValue": {
                            "$ref": "#/$defs/prop_software_ContentIdentifier_software_contentIdentifierValue"
                        }
                    },
                    "required": [
                        "software_contentIdentifierType",
                        "software_contentIdentifierValue"
                    ]
                }
            ]
        },
        "prop_software_ContentIdentifier_software_contentIdentifierType": {
                "enum": [
                    "gitoid",
                    "swhid"
                ]
        },
        "prop_software_ContentIdentifier_software_contentIdentifierValue": {
                    "$ref": "#/$defs/anyURI"
        },
        "software_ContentIdentifierType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_ContentIdentifierType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/software_ContentIdentifierType_props" }
                ]
            },
            "else": {
                "const": "Not a software_ContentIdentifierType"
            }
        },
        "software_ContentIdentifierType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_ContentIdentifierType" }
                    ]
                },
                { "const": "spdx:Software/ContentIdentifierType/gitoid" },
                { "const": "spdx:Software/ContentIdentifierType/swhid" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_ContentIdentifierType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "software_FileKindType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_FileKindType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/software_FileKindType_props" }
                ]
            },
            "else": {
                "const": "Not a software_FileKindType"
            }
        },
        "software_FileKindType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_FileKindType" }
                    ]
                },
                { "const": "spdx:Software/FileKindType/directory" },
                { "const": "spdx:Software/FileKindType/file" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_FileKindType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "software_SbomType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_SbomType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/software_SbomType_props" }
                ]
            },
            "else": {
                "const": "Not a software_SbomType"
            }
        },
        "software_SbomType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_SbomType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "software_SoftwarePurpose": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_SoftwarePurpose"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/software_SoftwarePurpose_props" }
                ]
            },
            "else": {
                "const": "Not a software_SoftwarePurpose"
            }
        },
        "software_SoftwarePurpose_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/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" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_SoftwarePurpose_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ResponsibilityType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ResponsibilityType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/supplychain_ResponsibilityType_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ResponsibilityType"
            }
        },
        "supplychain_ResponsibilityType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ResponsibilityType" }
                    ]
                },
                { "const": "spdx:SupplyChain/ResponsibilityType/custody" },
                { "const": "spdx:SupplyChain/ResponsibilityType/ownership" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ResponsibilityType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "build_Build": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "build_Build"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/build_Build_props" }
                ]
            },
            "else": {
                "const": "Not a build_Build"
            }
        },
        "build_Build_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/build_Build" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "build_Build_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "build_buildEndTime": {
                            "$ref": "#/$defs/prop_build_Build_build_buildEndTime"
                        },
                        "build_buildId": {
                            "$ref": "#/$defs/prop_build_Build_build_buildId"
                        },
                        "build_buildStartTime": {
                            "$ref": "#/$defs/prop_build_Build_build_buildStartTime"
                        },
                        "build_buildType": {
                            "$ref": "#/$defs/prop_build_Build_build_buildType"
                        },
                        "build_configSourceDigest": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_build_Build_build_configSourceDigest"
                                    }
                                }
                            ]
                        },
                        "build_configSourceEntrypoint": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_build_Build_build_configSourceEntrypoint"
                                    }
                                }
                            ]
                        },
                        "build_configSourceUri": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_build_Build_build_configSourceUri"
                                    }
                                }
                            ]
                        },
                        "build_environment": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_build_Build_build_environment"
                                    }
                                }
                            ]
                        },
                        "build_parameter": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_build_Build_build_parameter"
                                    }
                                }
                            ]
                        },
                        "endTime": {
                            "$ref": "#/$defs/prop_build_Build_endTime"
                        },
                        "startTime": {
                            "$ref": "#/$defs/prop_build_Build_startTime"
                        }
                    },
                    "required": [
                        "build_buildType"
                    ]
                }
            ]
        },
        "prop_build_Build_build_buildEndTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_build_Build_build_buildId": {
                    "type": "string"
        },
        "prop_build_Build_build_buildStartTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_build_Build_build_buildType": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_build_Build_build_configSourceDigest": {
                "$ref": "#/$defs/Hash_derived"
        },
        "prop_build_Build_build_configSourceEntrypoint": {
                    "type": "string"
        },
        "prop_build_Build_build_configSourceUri": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_build_Build_build_environment": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_build_Build_build_parameter": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_build_Build_endTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_build_Build_startTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "Agent": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Agent"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Agent_props" }
                ]
            },
            "else": {
                "const": "Not a Agent"
            }
        },
        "Agent_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Organization" },
                        { "$ref": "#/$defs/Person" },
                        { "$ref": "#/$defs/SoftwareAgent" },
                        { "$ref": "#/$defs/Agent" }
                    ]
                },
                { "const": "SpdxOrganization" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Agent_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Annotation": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Annotation"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Annotation_props" }
                ]
            },
            "else": {
                "const": "Not a Annotation"
            }
        },
        "Annotation_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Annotation" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Annotation_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "annotationType": {
                            "$ref": "#/$defs/prop_Annotation_annotationType"
                        },
                        "contentType": {
                            "$ref": "#/$defs/prop_Annotation_contentType"
                        },
                        "statement": {
                            "$ref": "#/$defs/prop_Annotation_statement"
                        },
                        "subject": {
                            "$ref": "#/$defs/prop_Annotation_subject"
                        }
                    },
                    "required": [
                        "annotationType",
                        "subject"
                    ]
                }
            ]
        },
        "prop_Annotation_annotationType": {
                "enum": [
                    "other",
                    "review"
                ]
        },
        "prop_Annotation_contentType": {
                    "pattern": "^[^\\/]+\\/[^\\/]+$",
                    "type": "string"
        },
        "prop_Annotation_statement": {
                    "type": "string"
        },
        "prop_Annotation_subject": {
                "$ref": "#/$defs/Element_derived"
        },
        "Artifact_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_AIPackage" },
                        { "$ref": "#/$defs/Regulation" },
                        { "$ref": "#/$defs/Specification" },
                        { "$ref": "#/$defs/dataset_DatasetPackage" },
                        { "$ref": "#/$defs/hardware_BulkHardware" },
                        { "$ref": "#/$defs/hardware_PhysicalHardware" },
                        { "$ref": "#/$defs/hardware_ProductSpecification" },
                        { "$ref": "#/$defs/hardware_VirtualHardware" },
                        { "$ref": "#/$defs/operations_ExportControlClassificationAssessment" },
                        { "$ref": "#/$defs/security_Vulnerability" },
                        { "$ref": "#/$defs/software_File" },
                        { "$ref": "#/$defs/software_Package" },
                        { "$ref": "#/$defs/software_Snippet" },
                        { "$ref": "#/$defs/supplychain_AssemblyAction" },
                        { "$ref": "#/$defs/supplychain_AssemblyProcess" },
                        { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess" },
                        { "$ref": "#/$defs/supplychain_ChangeAction" },
                        { "$ref": "#/$defs/supplychain_ChangeProcess" },
                        { "$ref": "#/$defs/supplychain_DefinedStateProcess" },
                        { "$ref": "#/$defs/supplychain_DestroyAction" },
                        { "$ref": "#/$defs/supplychain_DestroyProcess" },
                        { "$ref": "#/$defs/supplychain_HarvestAction" },
                        { "$ref": "#/$defs/supplychain_HarvestProcess" },
                        { "$ref": "#/$defs/supplychain_InspectionAction" },
                        { "$ref": "#/$defs/supplychain_InspectionProcess" },
                        { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" },
                        { "$ref": "#/$defs/supplychain_ManufactureAction" },
                        { "$ref": "#/$defs/supplychain_ManufactureProcess" },
                        { "$ref": "#/$defs/supplychain_OutOfSpecAction" },
                        { "$ref": "#/$defs/supplychain_PlanAction" },
                        { "$ref": "#/$defs/supplychain_PlanProcess" },
                        { "$ref": "#/$defs/supplychain_ReproduceAction" },
                        { "$ref": "#/$defs/supplychain_ReproduceProcess" },
                        { "$ref": "#/$defs/supplychain_ResolutionAction" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess" },
                        { "$ref": "#/$defs/supplychain_State" },
                        { "$ref": "#/$defs/supplychain_StateAction" },
                        { "$ref": "#/$defs/supplychain_StorageAction" },
                        { "$ref": "#/$defs/supplychain_StorageProcess" },
                        { "$ref": "#/$defs/supplychain_TestAction" },
                        { "$ref": "#/$defs/supplychain_TestProcess" },
                        { "$ref": "#/$defs/supplychain_TransportAction" },
                        { "$ref": "#/$defs/supplychain_TransportProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Artifact_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "builtTime": {
                            "$ref": "#/$defs/prop_Artifact_builtTime"
                        },
                        "intendedUse": {
                            "$ref": "#/$defs/prop_Artifact_intendedUse"
                        },
                        "originatedBy": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Artifact_originatedBy"
                                    }
                                }
                            ]
                        },
                        "releaseTime": {
                            "$ref": "#/$defs/prop_Artifact_releaseTime"
                        },
                        "standardName": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Artifact_standardName"
                                    }
                                }
                            ]
                        },
                        "suppliedBy": {
                            "$ref": "#/$defs/prop_Artifact_suppliedBy"
                        },
                        "supportLevel": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Artifact_supportLevel"
                                    }
                                }
                            ]
                        },
                        "validUntilTime": {
                            "$ref": "#/$defs/prop_Artifact_validUntilTime"
                        }
                    }
                }
            ]
        },
        "prop_Artifact_builtTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_Artifact_intendedUse": {
                    "type": "string"
        },
        "prop_Artifact_originatedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_Artifact_releaseTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_Artifact_standardName": {
                    "type": "string"
        },
        "prop_Artifact_suppliedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_Artifact_supportLevel": {
                "enum": [
                    "deployed",
                    "development",
                    "endOfSupport",
                    "limitedSupport",
                    "noAssertion",
                    "noSupport",
                    "support"
                ]
        },
        "prop_Artifact_validUntilTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "Bundle": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Bundle"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Bundle_props" }
                ]
            },
            "else": {
                "const": "Not a Bundle"
            }
        },
        "Bundle_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Bom" },
                        { "$ref": "#/$defs/operations_Project" },
                        { "$ref": "#/$defs/software_Sbom" },
                        { "$ref": "#/$defs/Bundle" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Bundle_props": {
            "allOf": [
                { "$ref": "#/$defs/ElementCollection_props" },
                {
                    "type": "object",
                    "properties": {
                        "context": {
                            "$ref": "#/$defs/prop_Bundle_context"
                        }
                    }
                }
            ]
        },
        "prop_Bundle_context": {
                    "type": "string"
        },
        "ContactPointRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ContactPointRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/ContactPointRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a ContactPointRelationship"
            }
        },
        "ContactPointRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ContactPointRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ContactPointRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "contactType": {
                            "$ref": "#/$defs/prop_ContactPointRelationship_contactType"
                        }
                    },
                    "required": [
                        "contactType"
                    ]
                }
            ]
        },
        "prop_ContactPointRelationship_contactType": {
                "enum": [
                    "compliance",
                    "other",
                    "securityVulnerability",
                    "support"
                ]
        },
        "DefinedProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyProcess" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess" },
                        { "$ref": "#/$defs/supplychain_ChangeProcess" },
                        { "$ref": "#/$defs/supplychain_DefinedStateProcess" },
                        { "$ref": "#/$defs/supplychain_DestroyProcess" },
                        { "$ref": "#/$defs/supplychain_HarvestProcess" },
                        { "$ref": "#/$defs/supplychain_InspectionProcess" },
                        { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" },
                        { "$ref": "#/$defs/supplychain_ManufactureProcess" },
                        { "$ref": "#/$defs/supplychain_PlanProcess" },
                        { "$ref": "#/$defs/supplychain_ReproduceProcess" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess" },
                        { "$ref": "#/$defs/supplychain_StorageProcess" },
                        { "$ref": "#/$defs/supplychain_TestProcess" },
                        { "$ref": "#/$defs/supplychain_TransportProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "DefinedProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "processReadiness": {
                            "$ref": "#/$defs/prop_DefinedProcess_processReadiness"
                        },
                        "processVersion": {
                            "$ref": "#/$defs/prop_DefinedProcess_processVersion"
                        },
                        "rationale": {
                            "$ref": "#/$defs/prop_DefinedProcess_rationale"
                        }
                    },
                    "required": [
                        "processVersion"
                    ]
                }
            ]
        },
        "prop_DefinedProcess_processReadiness": {
                "enum": [
                    "spdx:Core/ProcessReadinessType/active",
                    "spdx:Core/ProcessReadinessType/draft",
                    "spdx:Core/ProcessReadinessType/obsolete",
                    "spdx:Core/ProcessReadinessType/other"
                ]
        },
        "prop_DefinedProcess_processVersion": {
                    "type": "string"
        },
        "prop_DefinedProcess_rationale": {
                    "type": "string"
        },
        "Hash": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Hash"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/Hash_props" }
                ]
            },
            "else": {
                "const": "Not a Hash"
            }
        },
        "Hash_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Hash" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Hash_props": {
            "allOf": [
                { "$ref": "#/$defs/IntegrityMethod_props" },
                {
                    "type": "object",
                    "properties": {
                        "algorithm": {
                            "$ref": "#/$defs/prop_Hash_algorithm"
                        },
                        "hashValue": {
                            "$ref": "#/$defs/prop_Hash_hashValue"
                        }
                    },
                    "required": [
                        "algorithm",
                        "hashValue"
                    ]
                }
            ]
        },
        "prop_Hash_algorithm": {
                "enum": [
                    "adler32",
                    "blake2b256",
                    "blake2b384",
                    "blake2b512",
                    "blake3",
                    "crystalsDilithium",
                    "crystalsKyber",
                    "falcon",
                    "md2",
                    "md4",
                    "md5",
                    "md6",
                    "other",
                    "sha1",
                    "sha224",
                    "sha256",
                    "sha384",
                    "sha3_224",
                    "sha3_256",
                    "sha3_384",
                    "sha3_512",
                    "sha512"
                ]
        },
        "prop_Hash_hashValue": {
                    "type": "string"
        },
        "LifecycleScopedRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "LifecycleScopedRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/LifecycleScopedRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a LifecycleScopedRelationship"
            }
        },
        "LifecycleScopedRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/LifecycleScopedRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "LifecycleScopedRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "scope": {
                            "$ref": "#/$defs/prop_LifecycleScopedRelationship_scope"
                        }
                    }
                }
            ]
        },
        "prop_LifecycleScopedRelationship_scope": {
                "enum": [
                    "build",
                    "decommission",
                    "design",
                    "development",
                    "other",
                    "runtime",
                    "test",
                    "update"
                ]
        },
        "MeasureOfLength": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "MeasureOfLength"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/MeasureOfLength_props" }
                ]
            },
            "else": {
                "const": "Not a MeasureOfLength"
            }
        },
        "MeasureOfLength_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/MeasureOfLength" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "MeasureOfLength_props": {
            "allOf": [
                { "$ref": "#/$defs/UnitOfMeasure_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "MeasureOfMass": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "MeasureOfMass"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/MeasureOfMass_props" }
                ]
            },
            "else": {
                "const": "Not a MeasureOfMass"
            }
        },
        "MeasureOfMass_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/MeasureOfMass" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "MeasureOfMass_props": {
            "allOf": [
                { "$ref": "#/$defs/UnitOfMeasure_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Organization": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Organization"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Organization_props" }
                ]
            },
            "else": {
                "const": "Not a Organization"
            }
        },
        "Organization_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Organization" }
                    ]
                },
                { "const": "SpdxOrganization" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Organization_props": {
            "allOf": [
                { "$ref": "#/$defs/Agent_props" },
                {
                    "type": "object",
                    "properties": {
                        "headquartersLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Organization_headquartersLocation"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_Organization_headquartersLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "Person": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Person"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Person_props" }
                ]
            },
            "else": {
                "const": "Not a Person"
            }
        },
        "Person_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Person" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Person_props": {
            "allOf": [
                { "$ref": "#/$defs/Agent_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "SoftwareAgent": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "SoftwareAgent"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/SoftwareAgent_props" }
                ]
            },
            "else": {
                "const": "Not a SoftwareAgent"
            }
        },
        "SoftwareAgent_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/SoftwareAgent" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "SoftwareAgent_props": {
            "allOf": [
                { "$ref": "#/$defs/Agent_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Specification": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Specification"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Specification_props" }
                ]
            },
            "else": {
                "const": "Not a Specification"
            }
        },
        "Specification_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Regulation" },
                        { "$ref": "#/$defs/hardware_ProductSpecification" },
                        { "$ref": "#/$defs/Specification" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Specification_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "specType": {
                            "$ref": "#/$defs/prop_Specification_specType"
                        }
                    }
                }
            ]
        },
        "prop_Specification_specType": {
                "enum": [
                    "spdx:Core/SpecificationType/formalStandard",
                    "spdx:Core/SpecificationType/other",
                    "spdx:Core/SpecificationType/regulation",
                    "spdx:Core/SpecificationType/specification"
                ]
        },
        "expandedlicensing_ConjunctiveLicenseSet": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_ConjunctiveLicenseSet"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_ConjunctiveLicenseSet_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_ConjunctiveLicenseSet"
            }
        },
        "expandedlicensing_ConjunctiveLicenseSet_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_ConjunctiveLicenseSet" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_ConjunctiveLicenseSet_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_member": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 2,
                                    "items": {
                                        "$ref": "#/$defs/prop_expandedlicensing_ConjunctiveLicenseSet_expandedlicensing_member"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "expandedlicensing_member"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_ConjunctiveLicenseSet_expandedlicensing_member": {
                "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_derived"
        },
        "expandedlicensing_CustomLicenseAddition": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_CustomLicenseAddition"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_CustomLicenseAddition_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_CustomLicenseAddition"
            }
        },
        "expandedlicensing_CustomLicenseAddition_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_CustomLicenseAddition" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_CustomLicenseAddition_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_LicenseAddition_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "expandedlicensing_DisjunctiveLicenseSet": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_DisjunctiveLicenseSet"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_DisjunctiveLicenseSet_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_DisjunctiveLicenseSet"
            }
        },
        "expandedlicensing_DisjunctiveLicenseSet_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_DisjunctiveLicenseSet" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_DisjunctiveLicenseSet_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_member": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 2,
                                    "items": {
                                        "$ref": "#/$defs/prop_expandedlicensing_DisjunctiveLicenseSet_expandedlicensing_member"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "expandedlicensing_member"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_DisjunctiveLicenseSet_expandedlicensing_member": {
                "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_derived"
        },
        "expandedlicensing_ExtendableLicense_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_CustomLicense" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicense" },
                        { "$ref": "#/$defs/expandedlicensing_OrLaterOperator" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_ExtendableLicense_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "expandedlicensing_IndividualLicensingInfo": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_IndividualLicensingInfo"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_IndividualLicensingInfo_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_IndividualLicensingInfo"
            }
        },
        "expandedlicensing_IndividualLicensingInfo_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_IndividualLicensingInfo" }
                    ]
                },
                { "const": "expandedlicensing_NoAssertionLicense" },
                { "const": "expandedlicensing_NoneLicense" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_IndividualLicensingInfo_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "expandedlicensing_License_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_CustomLicense" },
                        { "$ref": "#/$defs/expandedlicensing_ListedLicense" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_License_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_ExtendableLicense_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_isDeprecatedLicenseId": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_isDeprecatedLicenseId"
                        },
                        "expandedlicensing_isFsfLibre": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_isFsfLibre"
                        },
                        "expandedlicensing_isOsiApproved": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_isOsiApproved"
                        },
                        "expandedlicensing_licenseXml": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_licenseXml"
                        },
                        "expandedlicensing_obsoletedBy": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_obsoletedBy"
                        },
                        "expandedlicensing_seeAlso": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_seeAlso"
                                    }
                                }
                            ]
                        },
                        "expandedlicensing_standardLicenseHeader": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_standardLicenseHeader"
                        },
                        "expandedlicensing_standardLicenseTemplate": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_expandedlicensing_standardLicenseTemplate"
                        },
                        "simplelicensing_licenseText": {
                            "$ref": "#/$defs/prop_expandedlicensing_License_simplelicensing_licenseText"
                        }
                    },
                    "required": [
                        "simplelicensing_licenseText"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_License_expandedlicensing_isDeprecatedLicenseId": {
                    "type": "boolean"
        },
        "prop_expandedlicensing_License_expandedlicensing_isFsfLibre": {
                    "type": "boolean"
        },
        "prop_expandedlicensing_License_expandedlicensing_isOsiApproved": {
                    "type": "boolean"
        },
        "prop_expandedlicensing_License_expandedlicensing_licenseXml": {
                    "type": "string"
        },
        "prop_expandedlicensing_License_expandedlicensing_obsoletedBy": {
                    "type": "string"
        },
        "prop_expandedlicensing_License_expandedlicensing_seeAlso": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_expandedlicensing_License_expandedlicensing_standardLicenseHeader": {
                    "type": "string"
        },
        "prop_expandedlicensing_License_expandedlicensing_standardLicenseTemplate": {
                    "type": "string"
        },
        "prop_expandedlicensing_License_simplelicensing_licenseText": {
                    "type": "string"
        },
        "expandedlicensing_ListedLicense": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_ListedLicense"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_ListedLicense_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_ListedLicense"
            }
        },
        "expandedlicensing_ListedLicense_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_ListedLicense" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_ListedLicense_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_License_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_deprecatedVersion": {
                            "$ref": "#/$defs/prop_expandedlicensing_ListedLicense_expandedlicensing_deprecatedVersion"
                        },
                        "expandedlicensing_listVersionAdded": {
                            "$ref": "#/$defs/prop_expandedlicensing_ListedLicense_expandedlicensing_listVersionAdded"
                        }
                    }
                }
            ]
        },
        "prop_expandedlicensing_ListedLicense_expandedlicensing_deprecatedVersion": {
                    "type": "string"
        },
        "prop_expandedlicensing_ListedLicense_expandedlicensing_listVersionAdded": {
                    "type": "string"
        },
        "expandedlicensing_OrLaterOperator": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_OrLaterOperator"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_OrLaterOperator_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_OrLaterOperator"
            }
        },
        "expandedlicensing_OrLaterOperator_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_OrLaterOperator" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_OrLaterOperator_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_ExtendableLicense_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_subjectLicense": {
                            "$ref": "#/$defs/prop_expandedlicensing_OrLaterOperator_expandedlicensing_subjectLicense"
                        }
                    },
                    "required": [
                        "expandedlicensing_subjectLicense"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_OrLaterOperator_expandedlicensing_subjectLicense": {
                "$ref": "#/$defs/expandedlicensing_License_derived"
        },
        "expandedlicensing_WithAdditionOperator": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_WithAdditionOperator"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_WithAdditionOperator_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_WithAdditionOperator"
            }
        },
        "expandedlicensing_WithAdditionOperator_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_WithAdditionOperator" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_WithAdditionOperator_props": {
            "allOf": [
                { "$ref": "#/$defs/simplelicensing_AnyLicenseInfo_props" },
                {
                    "type": "object",
                    "properties": {
                        "expandedlicensing_subjectAddition": {
                            "$ref": "#/$defs/prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjectAddition"
                        },
                        "expandedlicensing_subjectExtendableLicense": {
                            "$ref": "#/$defs/prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjectExtendableLicense"
                        }
                    },
                    "required": [
                        "expandedlicensing_subjectAddition",
                        "expandedlicensing_subjectExtendableLicense"
                    ]
                }
            ]
        },
        "prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjectAddition": {
                "$ref": "#/$defs/expandedlicensing_LicenseAddition_derived"
        },
        "prop_expandedlicensing_WithAdditionOperator_expandedlicensing_subjectExtendableLicense": {
                "$ref": "#/$defs/expandedlicensing_ExtendableLicense_derived"
        },
        "extension_CdxPropertiesExtension": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "extension_CdxPropertiesExtension"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/extension_CdxPropertiesExtension_props" }
                ]
            },
            "else": {
                "const": "Not a extension_CdxPropertiesExtension"
            }
        },
        "extension_CdxPropertiesExtension_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/extension_CdxPropertiesExtension" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "extension_CdxPropertiesExtension_props": {
            "allOf": [
                { "$ref": "#/$defs/extension_Extension_props" },
                {
                    "type": "object",
                    "properties": {
                        "extension_cdxProperty": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_extension_CdxPropertiesExtension_extension_cdxProperty"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "extension_cdxProperty"
                    ]
                }
            ]
        },
        "prop_extension_CdxPropertiesExtension_extension_cdxProperty": {
                "$ref": "#/$defs/extension_CdxPropertyEntry_derived"
        },
        "hardware_Hardware_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_BulkHardware" },
                        { "$ref": "#/$defs/hardware_PhysicalHardware" },
                        { "$ref": "#/$defs/hardware_VirtualHardware" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_Hardware_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_additionalInformation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_Hardware_hardware_additionalInformation"
                                    }
                                }
                            ]
                        },
                        "hardware_additionalInformationSpecification": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_Hardware_hardware_additionalInformationSpecification"
                                    }
                                }
                            ]
                        },
                        "hardware_batchNumber": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_batchNumber"
                        },
                        "hardware_category": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_Hardware_hardware_category"
                                    }
                                }
                            ]
                        },
                        "hardware_hardwareVersion": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_hardwareVersion"
                        },
                        "hardware_hazard": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_Hardware_hardware_hazard"
                                    }
                                }
                            ]
                        },
                        "hardware_partNumber": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_partNumber"
                        },
                        "hardware_productAgent": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_productAgent"
                        },
                        "hardware_releaseDate": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_releaseDate"
                        },
                        "hardware_serialNumber": {
                            "$ref": "#/$defs/prop_hardware_Hardware_hardware_serialNumber"
                        }
                    },
                    "required": [
                        "hardware_partNumber",
                        "hardware_productAgent"
                    ]
                }
            ]
        },
        "prop_hardware_Hardware_hardware_additionalInformation": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_hardware_Hardware_hardware_additionalInformationSpecification": {
                "$ref": "#/$defs/Specification_derived"
        },
        "prop_hardware_Hardware_hardware_batchNumber": {
                    "type": "string"
        },
        "prop_hardware_Hardware_hardware_category": {
                "$ref": "#/$defs/DefinedType_derived"
        },
        "prop_hardware_Hardware_hardware_hardwareVersion": {
                    "type": "string"
        },
        "prop_hardware_Hardware_hardware_hazard": {
                "$ref": "#/$defs/DefinedType_derived"
        },
        "prop_hardware_Hardware_hardware_partNumber": {
                    "type": "string"
        },
        "prop_hardware_Hardware_hardware_productAgent": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_hardware_Hardware_hardware_releaseDate": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_hardware_Hardware_hardware_serialNumber": {
                    "type": "string"
        },
        "hardware_PhysicalHardware": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_PhysicalHardware"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/hardware_PhysicalHardware_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_PhysicalHardware"
            }
        },
        "hardware_PhysicalHardware_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_PhysicalHardware" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_PhysicalHardware_props": {
            "allOf": [
                { "$ref": "#/$defs/hardware_Hardware_props" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_centerOfMass": {
                            "$ref": "#/$defs/prop_hardware_PhysicalHardware_hardware_centerOfMass"
                        },
                        "hardware_dimensions": {
                            "$ref": "#/$defs/prop_hardware_PhysicalHardware_hardware_dimensions"
                        },
                        "hardware_massOfHardware": {
                            "$ref": "#/$defs/prop_hardware_PhysicalHardware_hardware_massOfHardware"
                        }
                    }
                }
            ]
        },
        "prop_hardware_PhysicalHardware_hardware_centerOfMass": {
                "$ref": "#/$defs/hardware_Dimensions_derived"
        },
        "prop_hardware_PhysicalHardware_hardware_dimensions": {
                "$ref": "#/$defs/hardware_Dimensions_derived"
        },
        "prop_hardware_PhysicalHardware_hardware_massOfHardware": {
                "$ref": "#/$defs/MeasureOfMass_derived"
        },
        "hardware_ProductSpecification": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_ProductSpecification"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/hardware_ProductSpecification_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_ProductSpecification"
            }
        },
        "hardware_ProductSpecification_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_ProductSpecification" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_ProductSpecification_props": {
            "allOf": [
                { "$ref": "#/$defs/Specification_props" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_hazard": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_hardware_hazard"
                                    }
                                }
                            ]
                        },
                        "hardware_itemVersion": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_hardware_itemVersion"
                                    }
                                }
                            ]
                        },
                        "hardware_partNumber": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_hardware_partNumber"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "hardware_partNumber"
                    ]
                }
            ]
        },
        "prop_hardware_ProductSpecification_hardware_hazard": {
                "$ref": "#/$defs/DefinedType_derived"
        },
        "prop_hardware_ProductSpecification_hardware_itemVersion": {
                    "type": "string"
        },
        "prop_hardware_ProductSpecification_hardware_partNumber": {
                    "type": "string"
        },
        "hardware_VirtualHardware": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_VirtualHardware"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/hardware_VirtualHardware_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_VirtualHardware"
            }
        },
        "hardware_VirtualHardware_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_VirtualHardware" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_VirtualHardware_props": {
            "allOf": [
                { "$ref": "#/$defs/hardware_Hardware_props" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_virtualHardwareModel": {
                            "$ref": "#/$defs/prop_hardware_VirtualHardware_hardware_virtualHardwareModel"
                        }
                    }
                }
            ]
        },
        "prop_hardware_VirtualHardware_hardware_virtualHardwareModel": {
                "enum": [
                    "spdx:Hardware/VirtualHardwareModelType/cycle",
                    "spdx:Hardware/VirtualHardwareModelType/function",
                    "spdx:Hardware/VirtualHardwareModelType/other"
                ]
        },
        "operations_ExportControlClassificationAssessment": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "operations_ExportControlClassificationAssessment"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/operations_ExportControlClassificationAssessment_props" }
                ]
            },
            "else": {
                "const": "Not a operations_ExportControlClassificationAssessment"
            }
        },
        "operations_ExportControlClassificationAssessment_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/operations_ExportControlClassificationAssessment" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "operations_ExportControlClassificationAssessment_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "operations_assessedElement": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassificationAssessment_operations_assessedElement"
                        },
                        "operations_assessmentContext": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassificationAssessment_operations_assessmentContext"
                        },
                        "operations_assessmentResult": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_operations_ExportControlClassificationAssessment_operations_assessmentResult"
                                    }
                                }
                            ]
                        },
                        "operations_assessmentTime": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassificationAssessment_operations_assessmentTime"
                        },
                        "operations_assessor": {
                            "$ref": "#/$defs/prop_operations_ExportControlClassificationAssessment_operations_assessor"
                        }
                    },
                    "required": [
                        "operations_assessedElement",
                        "operations_assessmentResult"
                    ]
                }
            ]
        },
        "prop_operations_ExportControlClassificationAssessment_operations_assessedElement": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_operations_ExportControlClassificationAssessment_operations_assessmentContext": {
                "$ref": "#/$defs/operations_Project_derived"
        },
        "prop_operations_ExportControlClassificationAssessment_operations_assessmentResult": {
                "$ref": "#/$defs/operations_ExportControlClassification_derived"
        },
        "prop_operations_ExportControlClassificationAssessment_operations_assessmentTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_operations_ExportControlClassificationAssessment_operations_assessor": {
                "$ref": "#/$defs/Agent_derived"
        },
        "operations_Project": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "operations_Project"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/operations_Project_props" }
                ]
            },
            "else": {
                "const": "Not a operations_Project"
            }
        },
        "operations_Project_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/operations_Project" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "operations_Project_props": {
            "allOf": [
                { "$ref": "#/$defs/Bundle_props" },
                {
                    "type": "object",
                    "properties": {
                        "endTime": {
                            "$ref": "#/$defs/prop_operations_Project_endTime"
                        },
                        "startTime": {
                            "$ref": "#/$defs/prop_operations_Project_startTime"
                        },
                        "operations_projectContract": {
                            "$ref": "#/$defs/prop_operations_Project_operations_projectContract"
                        },
                        "operations_projectOwner": {
                            "$ref": "#/$defs/prop_operations_Project_operations_projectOwner"
                        },
                        "operations_projectSponsor": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_operations_Project_operations_projectSponsor"
                                    }
                                }
                            ]
                        },
                        "operations_projectTitle": {
                            "$ref": "#/$defs/prop_operations_Project_operations_projectTitle"
                        }
                    },
                    "required": [
                        "startTime",
                        "operations_projectContract",
                        "operations_projectOwner",
                        "operations_projectTitle"
                    ]
                }
            ]
        },
        "prop_operations_Project_endTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_operations_Project_startTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_operations_Project_operations_projectContract": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_operations_Project_operations_projectOwner": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_operations_Project_operations_projectSponsor": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_operations_Project_operations_projectTitle": {
                    "type": "string"
        },
        "security_CvssV2VulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_CvssV2VulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_CvssV2VulnAssessmentRelationship"
            }
        },
        "security_CvssV2VulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_CvssV2VulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_score": {
                            "$ref": "#/$defs/prop_security_CvssV2VulnAssessmentRelationship_security_score"
                        },
                        "security_vectorString": {
                            "$ref": "#/$defs/prop_security_CvssV2VulnAssessmentRelationship_security_vectorString"
                        }
                    },
                    "required": [
                        "security_score",
                        "security_vectorString"
                    ]
                }
            ]
        },
        "prop_security_CvssV2VulnAssessmentRelationship_security_score": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "prop_security_CvssV2VulnAssessmentRelationship_security_vectorString": {
                    "type": "string"
        },
        "security_CvssV3VulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_CvssV3VulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_CvssV3VulnAssessmentRelationship"
            }
        },
        "security_CvssV3VulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_CvssV3VulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_score": {
                            "$ref": "#/$defs/prop_security_CvssV3VulnAssessmentRelationship_security_score"
                        },
                        "security_severity": {
                            "$ref": "#/$defs/prop_security_CvssV3VulnAssessmentRelationship_security_severity"
                        },
                        "security_vectorString": {
                            "$ref": "#/$defs/prop_security_CvssV3VulnAssessmentRelationship_security_vectorString"
                        }
                    },
                    "required": [
                        "security_score",
                        "security_severity",
                        "security_vectorString"
                    ]
                }
            ]
        },
        "prop_security_CvssV3VulnAssessmentRelationship_security_score": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "prop_security_CvssV3VulnAssessmentRelationship_security_severity": {
                "enum": [
                    "critical",
                    "high",
                    "low",
                    "medium",
                    "none"
                ]
        },
        "prop_security_CvssV3VulnAssessmentRelationship_security_vectorString": {
                    "type": "string"
        },
        "security_CvssV4VulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_CvssV4VulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_CvssV4VulnAssessmentRelationship"
            }
        },
        "security_CvssV4VulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_CvssV4VulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_score": {
                            "$ref": "#/$defs/prop_security_CvssV4VulnAssessmentRelationship_security_score"
                        },
                        "security_severity": {
                            "$ref": "#/$defs/prop_security_CvssV4VulnAssessmentRelationship_security_severity"
                        },
                        "security_vectorString": {
                            "$ref": "#/$defs/prop_security_CvssV4VulnAssessmentRelationship_security_vectorString"
                        }
                    },
                    "required": [
                        "security_score",
                        "security_severity",
                        "security_vectorString"
                    ]
                }
            ]
        },
        "prop_security_CvssV4VulnAssessmentRelationship_security_score": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "prop_security_CvssV4VulnAssessmentRelationship_security_severity": {
                "enum": [
                    "critical",
                    "high",
                    "low",
                    "medium",
                    "none"
                ]
        },
        "prop_security_CvssV4VulnAssessmentRelationship_security_vectorString": {
                    "type": "string"
        },
        "security_EpssVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_EpssVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_EpssVulnAssessmentRelationship"
            }
        },
        "security_EpssVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_EpssVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_percentile": {
                            "$ref": "#/$defs/prop_security_EpssVulnAssessmentRelationship_security_percentile"
                        },
                        "security_probability": {
                            "$ref": "#/$defs/prop_security_EpssVulnAssessmentRelationship_security_probability"
                        }
                    },
                    "required": [
                        "security_percentile",
                        "security_probability"
                    ]
                }
            ]
        },
        "prop_security_EpssVulnAssessmentRelationship_security_percentile": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "prop_security_EpssVulnAssessmentRelationship_security_probability": {
                    "anyOf": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "string",
                            "pattern": "^-?[0-9]+(\\.[0-9]*)?$"
                        }
                    ]
        },
        "security_ExploitCatalogVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_ExploitCatalogVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_ExploitCatalogVulnAssessmentRelationship"
            }
        },
        "security_ExploitCatalogVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_ExploitCatalogVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_catalogType": {
                            "$ref": "#/$defs/prop_security_ExploitCatalogVulnAssessmentRelationship_security_catalogType"
                        },
                        "security_exploited": {
                            "$ref": "#/$defs/prop_security_ExploitCatalogVulnAssessmentRelationship_security_exploited"
                        },
                        "security_locator": {
                            "$ref": "#/$defs/prop_security_ExploitCatalogVulnAssessmentRelationship_security_locator"
                        }
                    },
                    "required": [
                        "security_catalogType",
                        "security_exploited",
                        "security_locator"
                    ]
                }
            ]
        },
        "prop_security_ExploitCatalogVulnAssessmentRelationship_security_catalogType": {
                "enum": [
                    "kev",
                    "other"
                ]
        },
        "prop_security_ExploitCatalogVulnAssessmentRelationship_security_exploited": {
                    "type": "boolean"
        },
        "prop_security_ExploitCatalogVulnAssessmentRelationship_security_locator": {
                    "$ref": "#/$defs/anyURI"
        },
        "security_SsvcVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_SsvcVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_SsvcVulnAssessmentRelationship"
            }
        },
        "security_SsvcVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_SsvcVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_decisionType": {
                            "$ref": "#/$defs/prop_security_SsvcVulnAssessmentRelationship_security_decisionType"
                        }
                    },
                    "required": [
                        "security_decisionType"
                    ]
                }
            ]
        },
        "prop_security_SsvcVulnAssessmentRelationship_security_decisionType": {
                "enum": [
                    "act",
                    "attend",
                    "track",
                    "trackStar"
                ]
        },
        "security_VexVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" },
                        { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_statusNotes": {
                            "$ref": "#/$defs/prop_security_VexVulnAssessmentRelationship_security_statusNotes"
                        },
                        "security_vexVersion": {
                            "$ref": "#/$defs/prop_security_VexVulnAssessmentRelationship_security_vexVersion"
                        }
                    }
                }
            ]
        },
        "prop_security_VexVulnAssessmentRelationship_security_statusNotes": {
                    "type": "string"
        },
        "prop_security_VexVulnAssessmentRelationship_security_vexVersion": {
                    "type": "string"
        },
        "security_Vulnerability": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_Vulnerability"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_Vulnerability_props" }
                ]
            },
            "else": {
                "const": "Not a security_Vulnerability"
            }
        },
        "security_Vulnerability_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_Vulnerability" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_Vulnerability_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_modifiedTime": {
                            "$ref": "#/$defs/prop_security_Vulnerability_security_modifiedTime"
                        },
                        "security_publishedTime": {
                            "$ref": "#/$defs/prop_security_Vulnerability_security_publishedTime"
                        },
                        "security_withdrawnTime": {
                            "$ref": "#/$defs/prop_security_Vulnerability_security_withdrawnTime"
                        }
                    }
                }
            ]
        },
        "prop_security_Vulnerability_security_modifiedTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_security_Vulnerability_security_publishedTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_security_Vulnerability_security_withdrawnTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "software_SoftwareArtifact_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_AIPackage" },
                        { "$ref": "#/$defs/dataset_DatasetPackage" },
                        { "$ref": "#/$defs/software_File" },
                        { "$ref": "#/$defs/software_Package" },
                        { "$ref": "#/$defs/software_Snippet" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_SoftwareArtifact_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "software_additionalPurpose": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_software_SoftwareArtifact_software_additionalPurpose"
                                    }
                                }
                            ]
                        },
                        "software_artifactSize": {
                            "$ref": "#/$defs/prop_software_SoftwareArtifact_software_artifactSize"
                        },
                        "software_attributionText": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_software_SoftwareArtifact_software_attributionText"
                                    }
                                }
                            ]
                        },
                        "software_contentIdentifier": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_software_SoftwareArtifact_software_contentIdentifier"
                                    }
                                }
                            ]
                        },
                        "software_copyrightText": {
                            "$ref": "#/$defs/prop_software_SoftwareArtifact_software_copyrightText"
                        },
                        "software_primaryPurpose": {
                            "$ref": "#/$defs/prop_software_SoftwareArtifact_software_primaryPurpose"
                        }
                    }
                }
            ]
        },
        "prop_software_SoftwareArtifact_software_additionalPurpose": {
                "enum": [
                    "application",
                    "archive",
                    "bom",
                    "configuration",
                    "container",
                    "data",
                    "device",
                    "deviceDriver",
                    "diskImage",
                    "documentation",
                    "evidence",
                    "executable",
                    "file",
                    "filesystemImage",
                    "firmware",
                    "framework",
                    "install",
                    "library",
                    "manifest",
                    "model",
                    "module",
                    "operatingSystem",
                    "other",
                    "patch",
                    "platform",
                    "requirement",
                    "source",
                    "specification",
                    "test"
                ]
        },
        "prop_software_SoftwareArtifact_software_artifactSize": {
                    "type": "integer",
                    "minimum": 0
        },
        "prop_software_SoftwareArtifact_software_attributionText": {
                    "type": "string"
        },
        "prop_software_SoftwareArtifact_software_contentIdentifier": {
                "$ref": "#/$defs/software_ContentIdentifier_derived"
        },
        "prop_software_SoftwareArtifact_software_copyrightText": {
                    "type": "string"
        },
        "prop_software_SoftwareArtifact_software_primaryPurpose": {
                "enum": [
                    "application",
                    "archive",
                    "bom",
                    "configuration",
                    "container",
                    "data",
                    "device",
                    "deviceDriver",
                    "diskImage",
                    "documentation",
                    "evidence",
                    "executable",
                    "file",
                    "filesystemImage",
                    "firmware",
                    "framework",
                    "install",
                    "library",
                    "manifest",
                    "model",
                    "module",
                    "operatingSystem",
                    "other",
                    "patch",
                    "platform",
                    "requirement",
                    "source",
                    "specification",
                    "test"
                ]
        },
        "supplychain_BoundaryDefinitionProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_BoundaryDefinitionProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_BoundaryDefinitionProcess"
            }
        },
        "supplychain_BoundaryDefinitionProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_BoundaryDefinitionProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_CreateProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyProcess" },
                        { "$ref": "#/$defs/supplychain_HarvestProcess" },
                        { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" },
                        { "$ref": "#/$defs/supplychain_ManufactureProcess" },
                        { "$ref": "#/$defs/supplychain_ReproduceProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_CreateProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_DestroyProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_DestroyProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_DestroyProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_DestroyProcess"
            }
        },
        "supplychain_DestroyProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_DestroyProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_DestroyProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_HarvestProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_HarvestProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_HarvestProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_HarvestProcess"
            }
        },
        "supplychain_HarvestProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_HarvestProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_HarvestProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_InstantiateVirtualHardwareProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_InstantiateVirtualHardwareProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_InstantiateVirtualHardwareProcess"
            }
        },
        "supplychain_InstantiateVirtualHardwareProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_InstantiateVirtualHardwareProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ManufactureProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ManufactureProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ManufactureProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ManufactureProcess"
            }
        },
        "supplychain_ManufactureProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ManufactureProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ManufactureProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ModifyProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ChangeProcess" },
                        { "$ref": "#/$defs/supplychain_StorageProcess" },
                        { "$ref": "#/$defs/supplychain_TransportProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ModifyProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ReproduceProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ReproduceProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ReproduceProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ReproduceProcess"
            }
        },
        "supplychain_ReproduceProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ReproduceProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ReproduceProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ResponsibilityChangeProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ResponsibilityChangeProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ResponsibilityChangeProcess"
            }
        },
        "supplychain_ResponsibilityChangeProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ResponsibilityChangeProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_plannedCurrent": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedCurrent"
                        },
                        "supplychain_plannedPrevious": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedPrevious"
                        },
                        "supplychain_plannedProductOfResponsibilityChange": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedProductOfResponsibilityChange"
                                    }
                                }
                            ]
                        },
                        "supplychain_responsibilityCategory": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeProcess_supplychain_responsibilityCategory"
                        }
                    },
                    "required": [
                        "supplychain_responsibilityCategory"
                    ]
                }
            ]
        },
        "prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedCurrent": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedPrevious": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_supplychain_ResponsibilityChangeProcess_supplychain_plannedProductOfResponsibilityChange": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_supplychain_ResponsibilityChangeProcess_supplychain_responsibilityCategory": {
                "enum": [
                    "custody",
                    "ownership"
                ]
        },
        "supplychain_State": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_State"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_State_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_State"
            }
        },
        "supplychain_State_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_State" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_State_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_StorageProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_StorageProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_StorageProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_StorageProcess"
            }
        },
        "supplychain_StorageProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_StorageProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_StorageProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyProcess_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_plannedStorageLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_StorageProcess_supplychain_plannedStorageLocation"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_supplychain_StorageProcess_supplychain_plannedStorageLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "supplychain_TransportProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_TransportProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_TransportProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_TransportProcess"
            }
        },
        "supplychain_TransportProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_TransportProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_TransportProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyProcess_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_forDropoffLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportProcess_supplychain_forDropoffLocation"
                                    }
                                }
                            ]
                        },
                        "supplychain_forPickupLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportProcess_supplychain_forPickupLocation"
                                    }
                                }
                            ]
                        },
                        "supplychain_plannedTransportRoutes": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportProcess_supplychain_plannedTransportRoutes"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_supplychain_TransportProcess_supplychain_forDropoffLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportProcess_supplychain_forPickupLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportProcess_supplychain_plannedTransportRoutes": {
                    "type": "string"
        },
        "supplychain_UseProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_DefinedStateProcess" },
                        { "$ref": "#/$defs/supplychain_InspectionProcess" },
                        { "$ref": "#/$defs/supplychain_PlanProcess" },
                        { "$ref": "#/$defs/supplychain_TestProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_UseProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/DefinedProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Action_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" },
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction" },
                        { "$ref": "#/$defs/supplychain_ChangeAction" },
                        { "$ref": "#/$defs/supplychain_DestroyAction" },
                        { "$ref": "#/$defs/supplychain_HarvestAction" },
                        { "$ref": "#/$defs/supplychain_InspectionAction" },
                        { "$ref": "#/$defs/supplychain_ManufactureAction" },
                        { "$ref": "#/$defs/supplychain_OutOfSpecAction" },
                        { "$ref": "#/$defs/supplychain_PlanAction" },
                        { "$ref": "#/$defs/supplychain_ReproduceAction" },
                        { "$ref": "#/$defs/supplychain_ResolutionAction" },
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction" },
                        { "$ref": "#/$defs/supplychain_StateAction" },
                        { "$ref": "#/$defs/supplychain_StorageAction" },
                        { "$ref": "#/$defs/supplychain_TestAction" },
                        { "$ref": "#/$defs/supplychain_TransportAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Action_props": {
            "allOf": [
                { "$ref": "#/$defs/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "actionLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Action_actionLocation"
                                    }
                                }
                            ]
                        },
                        "additionalInformation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Action_additionalInformation"
                                    }
                                }
                            ]
                        },
                        "endTime": {
                            "$ref": "#/$defs/prop_Action_endTime"
                        },
                        "startTime": {
                            "$ref": "#/$defs/prop_Action_startTime"
                        }
                    }
                }
            ]
        },
        "prop_Action_actionLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_Action_additionalInformation": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_Action_endTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_Action_startTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "Bom": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Bom"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Bom_props" }
                ]
            },
            "else": {
                "const": "Not a Bom"
            }
        },
        "Bom_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_Sbom" },
                        { "$ref": "#/$defs/Bom" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Bom_props": {
            "allOf": [
                { "$ref": "#/$defs/Bundle_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Regulation": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Regulation"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Regulation_props" }
                ]
            },
            "else": {
                "const": "Not a Regulation"
            }
        },
        "Regulation_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Regulation" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Regulation_props": {
            "allOf": [
                { "$ref": "#/$defs/Specification_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "expandedlicensing_CustomLicense": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "expandedlicensing_CustomLicense"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/expandedlicensing_CustomLicense_props" }
                ]
            },
            "else": {
                "const": "Not a expandedlicensing_CustomLicense"
            }
        },
        "expandedlicensing_CustomLicense_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/expandedlicensing_CustomLicense" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "expandedlicensing_CustomLicense_props": {
            "allOf": [
                { "$ref": "#/$defs/expandedlicensing_License_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "hardware_BulkHardware": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "hardware_BulkHardware"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/hardware_BulkHardware_props" }
                ]
            },
            "else": {
                "const": "Not a hardware_BulkHardware"
            }
        },
        "hardware_BulkHardware_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/hardware_BulkHardware" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "hardware_BulkHardware_props": {
            "allOf": [
                { "$ref": "#/$defs/hardware_Hardware_props" },
                {
                    "type": "object",
                    "properties": {
                        "hardware_bulkQuantity": {
                            "$ref": "#/$defs/prop_hardware_BulkHardware_hardware_bulkQuantity"
                        }
                    },
                    "required": [
                        "hardware_bulkQuantity"
                    ]
                }
            ]
        },
        "prop_hardware_BulkHardware_hardware_bulkQuantity": {
                "$ref": "#/$defs/UnitOfMeasure_derived"
        },
        "security_VexAffectedVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_VexAffectedVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_VexAffectedVulnAssessmentRelationship"
            }
        },
        "security_VexAffectedVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexAffectedVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VexVulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_actionStatement": {
                            "$ref": "#/$defs/prop_security_VexAffectedVulnAssessmentRelationship_security_actionStatement"
                        },
                        "security_actionStatementTime": {
                            "$ref": "#/$defs/prop_security_VexAffectedVulnAssessmentRelationship_security_actionStatementTime"
                        }
                    },
                    "required": [
                        "security_actionStatement"
                    ]
                }
            ]
        },
        "prop_security_VexAffectedVulnAssessmentRelationship_security_actionStatement": {
                    "type": "string"
        },
        "prop_security_VexAffectedVulnAssessmentRelationship_security_actionStatementTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "security_VexFixedVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_VexFixedVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_VexFixedVulnAssessmentRelationship"
            }
        },
        "security_VexFixedVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexFixedVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VexVulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "security_VexNotAffectedVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_VexNotAffectedVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_VexNotAffectedVulnAssessmentRelationship"
            }
        },
        "security_VexNotAffectedVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexNotAffectedVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VexVulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "security_impactStatement": {
                            "$ref": "#/$defs/prop_security_VexNotAffectedVulnAssessmentRelationship_security_impactStatement"
                        },
                        "security_impactStatementTime": {
                            "$ref": "#/$defs/prop_security_VexNotAffectedVulnAssessmentRelationship_security_impactStatementTime"
                        },
                        "security_justificationType": {
                            "$ref": "#/$defs/prop_security_VexNotAffectedVulnAssessmentRelationship_security_justificationType"
                        }
                    }
                }
            ]
        },
        "prop_security_VexNotAffectedVulnAssessmentRelationship_security_impactStatement": {
                    "type": "string"
        },
        "prop_security_VexNotAffectedVulnAssessmentRelationship_security_impactStatementTime": {
                    "type": "string",
                    "allOf": [
                        {
                            "pattern": "^[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})$"
                        },
                        {
                            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                        }
                    ]
        },
        "prop_security_VexNotAffectedVulnAssessmentRelationship_security_justificationType": {
                "enum": [
                    "componentNotPresent",
                    "inlineMitigationsAlreadyExist",
                    "vulnerableCodeCannotBeControlledByAdversary",
                    "vulnerableCodeNotInExecutePath",
                    "vulnerableCodeNotPresent"
                ]
        },
        "security_VexUnderInvestigationVulnAssessmentRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "security_VexUnderInvestigationVulnAssessmentRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a security_VexUnderInvestigationVulnAssessmentRelationship"
            }
        },
        "security_VexUnderInvestigationVulnAssessmentRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "security_VexUnderInvestigationVulnAssessmentRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/security_VexVulnAssessmentRelationship_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "software_File": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_File"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/software_File_props" }
                ]
            },
            "else": {
                "const": "Not a software_File"
            }
        },
        "software_File_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_File" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_File_props": {
            "allOf": [
                { "$ref": "#/$defs/software_SoftwareArtifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "contentType": {
                            "$ref": "#/$defs/prop_software_File_contentType"
                        },
                        "software_fileKind": {
                            "$ref": "#/$defs/prop_software_File_software_fileKind"
                        }
                    }
                }
            ]
        },
        "prop_software_File_contentType": {
                    "pattern": "^[^\\/]+\\/[^\\/]+$",
                    "type": "string"
        },
        "prop_software_File_software_fileKind": {
                "enum": [
                    "directory",
                    "file"
                ]
        },
        "software_Package": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_Package"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/software_Package_props" }
                ]
            },
            "else": {
                "const": "Not a software_Package"
            }
        },
        "software_Package_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_AIPackage" },
                        { "$ref": "#/$defs/dataset_DatasetPackage" },
                        { "$ref": "#/$defs/software_Package" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_Package_props": {
            "allOf": [
                { "$ref": "#/$defs/software_SoftwareArtifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "software_downloadLocation": {
                            "$ref": "#/$defs/prop_software_Package_software_downloadLocation"
                        },
                        "software_homePage": {
                            "$ref": "#/$defs/prop_software_Package_software_homePage"
                        },
                        "software_packageUrl": {
                            "$ref": "#/$defs/prop_software_Package_software_packageUrl"
                        },
                        "software_packageVersion": {
                            "$ref": "#/$defs/prop_software_Package_software_packageVersion"
                        },
                        "software_sourceInfo": {
                            "$ref": "#/$defs/prop_software_Package_software_sourceInfo"
                        }
                    }
                }
            ]
        },
        "prop_software_Package_software_downloadLocation": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_software_Package_software_homePage": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_software_Package_software_packageUrl": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_software_Package_software_packageVersion": {
                    "type": "string"
        },
        "prop_software_Package_software_sourceInfo": {
                    "type": "string"
        },
        "software_Sbom": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_Sbom"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/software_Sbom_props" }
                ]
            },
            "else": {
                "const": "Not a software_Sbom"
            }
        },
        "software_Sbom_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_Sbom" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_Sbom_props": {
            "allOf": [
                { "$ref": "#/$defs/Bom_props" },
                {
                    "type": "object",
                    "properties": {
                        "software_sbomType": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_software_Sbom_software_sbomType"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_software_Sbom_software_sbomType": {
                "enum": [
                    "analyzed",
                    "build",
                    "deployed",
                    "design",
                    "runtime",
                    "source"
                ]
        },
        "software_Snippet": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "software_Snippet"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/software_Snippet_props" }
                ]
            },
            "else": {
                "const": "Not a software_Snippet"
            }
        },
        "software_Snippet_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/software_Snippet" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "software_Snippet_props": {
            "allOf": [
                { "$ref": "#/$defs/software_SoftwareArtifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "software_byteRange": {
                            "$ref": "#/$defs/prop_software_Snippet_software_byteRange"
                        },
                        "software_lineRange": {
                            "$ref": "#/$defs/prop_software_Snippet_software_lineRange"
                        },
                        "software_snippetFromFile": {
                            "$ref": "#/$defs/prop_software_Snippet_software_snippetFromFile"
                        }
                    },
                    "required": [
                        "software_snippetFromFile"
                    ]
                }
            ]
        },
        "prop_software_Snippet_software_byteRange": {
                "$ref": "#/$defs/PositiveIntegerRange_derived"
        },
        "prop_software_Snippet_software_lineRange": {
                "$ref": "#/$defs/PositiveIntegerRange_derived"
        },
        "prop_software_Snippet_software_snippetFromFile": {
                "$ref": "#/$defs/software_File_derived"
        },
        "supplychain_AssemblyProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_AssemblyProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_AssemblyProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_AssemblyProcess"
            }
        },
        "supplychain_AssemblyProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_AssemblyProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_BoundaryDefinitionAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_BoundaryDefinitionAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_BoundaryDefinitionAction"
            }
        },
        "supplychain_BoundaryDefinitionAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_BoundaryDefinitionAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_boundaryParameter": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_BoundaryDefinitionAction_supplychain_boundaryParameter"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "supplychain_boundaryParameter"
                    ]
                }
            ]
        },
        "prop_supplychain_BoundaryDefinitionAction_supplychain_boundaryParameter": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "supplychain_ChangeProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ChangeProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ChangeProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ChangeProcess"
            }
        },
        "supplychain_ChangeProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ChangeProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ChangeProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_CreateAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyAction" },
                        { "$ref": "#/$defs/supplychain_HarvestAction" },
                        { "$ref": "#/$defs/supplychain_ManufactureAction" },
                        { "$ref": "#/$defs/supplychain_ReproduceAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_CreateAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_DefinedStateProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_DefinedStateProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_DefinedStateProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_DefinedStateProcess"
            }
        },
        "supplychain_DefinedStateProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_DefinedStateProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_DefinedStateProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseProcess_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_validState": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_DefinedStateProcess_supplychain_validState"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "supplychain_validState"
                    ]
                }
            ]
        },
        "prop_supplychain_DefinedStateProcess_supplychain_validState": {
                "$ref": "#/$defs/supplychain_State_derived"
        },
        "supplychain_DestroyAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_DestroyAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_DestroyAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_DestroyAction"
            }
        },
        "supplychain_DestroyAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_DestroyAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_DestroyAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_destructionPerformedBy": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_DestroyAction_supplychain_destructionPerformedBy"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "supplychain_destructionPerformedBy"
                    ]
                }
            ]
        },
        "prop_supplychain_DestroyAction_supplychain_destructionPerformedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "supplychain_HarvestAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_HarvestAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_HarvestAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_HarvestAction"
            }
        },
        "supplychain_HarvestAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_HarvestAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_HarvestAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_InspectionProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_InspectionProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_InspectionProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_InspectionProcess"
            }
        },
        "supplychain_InspectionProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_InspectionProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_InspectionProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseProcess_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_plannedInspectionLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_InspectionProcess_supplychain_plannedInspectionLocation"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_supplychain_InspectionProcess_supplychain_plannedInspectionLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "supplychain_ManufactureAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ManufactureAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ManufactureAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ManufactureAction"
            }
        },
        "supplychain_ManufactureAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ManufactureAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ManufactureAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ModifyAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ChangeAction" },
                        { "$ref": "#/$defs/supplychain_StorageAction" },
                        { "$ref": "#/$defs/supplychain_TransportAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ModifyAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_PlanProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_PlanProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_PlanProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_PlanProcess"
            }
        },
        "supplychain_PlanProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_PlanProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_PlanProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ReproduceAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ReproduceAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ReproduceAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ReproduceAction"
            }
        },
        "supplychain_ReproduceAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ReproduceAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ReproduceAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ResponsibilityChangeAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ResponsibilityChangeAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ResponsibilityChangeAction"
            }
        },
        "supplychain_ResponsibilityChangeAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ResponsibilityChangeAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_current": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeAction_supplychain_current"
                        },
                        "supplychain_previous": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeAction_supplychain_previous"
                        },
                        "supplychain_responsibilityCategory": {
                            "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeAction_supplychain_responsibilityCategory"
                        },
                        "supplychain_responsibilityChangedOn": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_ResponsibilityChangeAction_supplychain_responsibilityChangedOn"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "supplychain_current",
                        "supplychain_responsibilityCategory",
                        "supplychain_responsibilityChangedOn"
                    ]
                }
            ]
        },
        "prop_supplychain_ResponsibilityChangeAction_supplychain_current": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_supplychain_ResponsibilityChangeAction_supplychain_previous": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_supplychain_ResponsibilityChangeAction_supplychain_responsibilityCategory": {
                "enum": [
                    "custody",
                    "ownership"
                ]
        },
        "prop_supplychain_ResponsibilityChangeAction_supplychain_responsibilityChangedOn": {
                "$ref": "#/$defs/Element_derived"
        },
        "supplychain_StorageAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_StorageAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_StorageAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_StorageAction"
            }
        },
        "supplychain_StorageAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_StorageAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_StorageAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_TestProcess": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_TestProcess"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_TestProcess_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_TestProcess"
            }
        },
        "supplychain_TestProcess_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_TestProcess" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_TestProcess_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseProcess_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_TransportAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_TransportAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_TransportAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_TransportAction"
            }
        },
        "supplychain_TransportAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_TransportAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_TransportAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyAction_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_dropoffLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportAction_supplychain_dropoffLocation"
                                    }
                                }
                            ]
                        },
                        "supplychain_pickupLocation": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportAction_supplychain_pickupLocation"
                                    }
                                }
                            ]
                        },
                        "supplychain_transportRoute": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportAction_supplychain_transportRoute"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "supplychain_pickupLocation"
                    ]
                }
            ]
        },
        "prop_supplychain_TransportAction_supplychain_dropoffLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportAction_supplychain_pickupLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportAction_supplychain_transportRoute": {
                    "type": "string"
        },
        "supplychain_UseAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" },
                        { "$ref": "#/$defs/supplychain_InspectionAction" },
                        { "$ref": "#/$defs/supplychain_OutOfSpecAction" },
                        { "$ref": "#/$defs/supplychain_PlanAction" },
                        { "$ref": "#/$defs/supplychain_ResolutionAction" },
                        { "$ref": "#/$defs/supplychain_StateAction" },
                        { "$ref": "#/$defs/supplychain_TestAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_UseAction_props": {
            "allOf": [
                { "$ref": "#/$defs/Action_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "ai_AIPackage": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "ai_AIPackage"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/ai_AIPackage_props" }
                ]
            },
            "else": {
                "const": "Not a ai_AIPackage"
            }
        },
        "ai_AIPackage_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/ai_AIPackage" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "ai_AIPackage_props": {
            "allOf": [
                { "$ref": "#/$defs/software_Package_props" },
                {
                    "type": "object",
                    "properties": {
                        "ai_autonomyType": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_autonomyType"
                        },
                        "ai_domain": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_domain"
                                    }
                                }
                            ]
                        },
                        "ai_energyConsumption": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_energyConsumption"
                        },
                        "ai_hyperparameter": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_hyperparameter"
                                    }
                                }
                            ]
                        },
                        "ai_informationAboutApplication": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_informationAboutApplication"
                        },
                        "ai_informationAboutTraining": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_informationAboutTraining"
                        },
                        "ai_limitation": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_limitation"
                        },
                        "ai_metric": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_metric"
                                    }
                                }
                            ]
                        },
                        "ai_metricDecisionThreshold": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_metricDecisionThreshold"
                                    }
                                }
                            ]
                        },
                        "ai_modelDataPreprocessing": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_modelDataPreprocessing"
                                    }
                                }
                            ]
                        },
                        "ai_modelExplainability": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_modelExplainability"
                                    }
                                }
                            ]
                        },
                        "ai_safetyRiskAssessment": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_safetyRiskAssessment"
                        },
                        "ai_standardCompliance": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_standardCompliance"
                                    }
                                }
                            ]
                        },
                        "ai_typeOfModel": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_ai_AIPackage_ai_typeOfModel"
                                    }
                                }
                            ]
                        },
                        "ai_useSensitivePersonalInformation": {
                            "$ref": "#/$defs/prop_ai_AIPackage_ai_useSensitivePersonalInformation"
                        },
                        "isoAutomationLevel": {
                            "$ref": "#/$defs/prop_ai_AIPackage_isoAutomationLevel"
                        }
                    }
                }
            ]
        },
        "prop_ai_AIPackage_ai_autonomyType": {
                "enum": [
                    "no",
                    "noAssertion",
                    "yes"
                ]
        },
        "prop_ai_AIPackage_ai_domain": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_energyConsumption": {
                "$ref": "#/$defs/ai_EnergyConsumption_derived"
        },
        "prop_ai_AIPackage_ai_hyperparameter": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_ai_AIPackage_ai_informationAboutApplication": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_informationAboutTraining": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_limitation": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_metric": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_ai_AIPackage_ai_metricDecisionThreshold": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "prop_ai_AIPackage_ai_modelDataPreprocessing": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_modelExplainability": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_safetyRiskAssessment": {
                "enum": [
                    "high",
                    "low",
                    "medium",
                    "serious"
                ]
        },
        "prop_ai_AIPackage_ai_standardCompliance": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_typeOfModel": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_useSensitivePersonalInformation": {
                "enum": [
                    "no",
                    "noAssertion",
                    "yes"
                ]
        },
        "prop_ai_AIPackage_isoAutomationLevel": {
                "enum": [
                    "assistiveAutomation",
                    "autonomous",
                    "conditionalAutomation",
                    "fullAutomation",
                    "highAutomation",
                    "notAutomated",
                    "partialAutomation"
                ]
        },
        "dataset_DatasetPackage": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "dataset_DatasetPackage"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/dataset_DatasetPackage_props" }
                ]
            },
            "else": {
                "const": "Not a dataset_DatasetPackage"
            }
        },
        "dataset_DatasetPackage_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/dataset_DatasetPackage" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "dataset_DatasetPackage_props": {
            "allOf": [
                { "$ref": "#/$defs/software_Package_props" },
                {
                    "type": "object",
                    "properties": {
                        "inLanguage": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_inLanguage"
                                    }
                                }
                            ]
                        },
                        "dataset_anonymizationMethodUsed": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_anonymizationMethodUsed"
                                    }
                                }
                            ]
                        },
                        "dataset_confidentialityLevel": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_confidentialityLevel"
                        },
                        "dataset_dataCollectionProcess": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_dataCollectionProcess"
                        },
                        "dataset_dataPreprocessing": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_dataPreprocessing"
                                    }
                                }
                            ]
                        },
                        "dataset_datasetAvailability": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_datasetAvailability"
                        },
                        "dataset_datasetNoise": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_datasetNoise"
                        },
                        "dataset_datasetSize": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_datasetSize"
                        },
                        "dataset_datasetType": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_datasetType"
                                    }
                                }
                            ]
                        },
                        "dataset_datasetUpdateMechanism": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_datasetUpdateMechanism"
                        },
                        "dataset_hasSensitivePersonalInformation": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_hasSensitivePersonalInformation"
                        },
                        "dataset_intendedUse": {
                            "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_intendedUse"
                        },
                        "dataset_knownBias": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_knownBias"
                                    }
                                }
                            ]
                        },
                        "dataset_sensor": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_dataset_DatasetPackage_dataset_sensor"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "dataset_datasetType"
                    ]
                }
            ]
        },
        "prop_dataset_DatasetPackage_inLanguage": {
                    "pattern": "^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$",
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_anonymizationMethodUsed": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_confidentialityLevel": {
                "enum": [
                    "amber",
                    "clear",
                    "green",
                    "red"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_dataCollectionProcess": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_dataPreprocessing": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_datasetAvailability": {
                "enum": [
                    "clickthrough",
                    "directDownload",
                    "query",
                    "registration",
                    "scrapingScript"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_datasetNoise": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_datasetSize": {
                    "type": "integer",
                    "minimum": 0
        },
        "prop_dataset_DatasetPackage_dataset_datasetType": {
                "enum": [
                    "audio",
                    "categorical",
                    "graph",
                    "image",
                    "noAssertion",
                    "numeric",
                    "other",
                    "sensor",
                    "structured",
                    "syntactic",
                    "text",
                    "timeseries",
                    "timestamp",
                    "video"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_datasetUpdateMechanism": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_hasSensitivePersonalInformation": {
                "enum": [
                    "no",
                    "noAssertion",
                    "yes"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_intendedUse": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_knownBias": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_sensor": {
                "$ref": "#/$defs/DictionaryEntry_derived"
        },
        "supplychain_AssemblyAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_AssemblyAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_AssemblyAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_AssemblyAction"
            }
        },
        "supplychain_AssemblyAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_AssemblyAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_AssemblyAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_CreateAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_BoundaryCrossingAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_BoundaryCrossingAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_BoundaryCrossingAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_BoundaryCrossingAction"
            }
        },
        "supplychain_BoundaryCrossingAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_BoundaryCrossingAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ChangeAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ChangeAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ChangeAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ChangeAction"
            }
        },
        "supplychain_ChangeAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ChangeAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ChangeAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_ModifyAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_InspectionAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_InspectionAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_InspectionAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_InspectionAction"
            }
        },
        "supplychain_InspectionAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_InspectionAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_InspectionAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_OutOfSpecAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_OutOfSpecAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_OutOfSpecAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_OutOfSpecAction"
            }
        },
        "supplychain_OutOfSpecAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_OutOfSpecAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_OutOfSpecAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_PlanAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_PlanAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_PlanAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_PlanAction"
            }
        },
        "supplychain_PlanAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_PlanAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_PlanAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_ResolutionAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_ResolutionAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_ResolutionAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_ResolutionAction"
            }
        },
        "supplychain_ResolutionAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_ResolutionAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_ResolutionAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "supplychain_StateAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_StateAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_StateAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_StateAction"
            }
        },
        "supplychain_StateAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_StateAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_StateAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                        "supplychain_currentState": {
                            "$ref": "#/$defs/prop_supplychain_StateAction_supplychain_currentState"
                        },
                        "supplychain_decisionProcess": {
                            "$ref": "#/$defs/prop_supplychain_StateAction_supplychain_decisionProcess"
                        }
                    },
                    "required": [
                        "supplychain_currentState",
                        "supplychain_decisionProcess"
                    ]
                }
            ]
        },
        "prop_supplychain_StateAction_supplychain_currentState": {
                "$ref": "#/$defs/supplychain_State_derived"
        },
        "prop_supplychain_StateAction_supplychain_decisionProcess": {
                "$ref": "#/$defs/supplychain_DefinedStateProcess_derived"
        },
        "supplychain_TestAction": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "supplychain_TestAction"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/supplychain_TestAction_props" }
                ]
            },
            "else": {
                "const": "Not a supplychain_TestAction"
            }
        },
        "supplychain_TestAction_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/supplychain_TestAction" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "supplychain_TestAction_props": {
            "allOf": [
                { "$ref": "#/$defs/supplychain_UseAction_props" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "IRI": {
            "type": "string",
            "pattern": "^(?!_:).+:.+"
        },
        "BlankNode": {
            "type": "string",
            "pattern": "^_:.+"
        },
        "BlankNodeOrIRI": {
            "anyOf": [
                { "$ref": "#/$defs/IRI" },
                { "$ref": "#/$defs/BlankNode" }
            ]
        },
        "anyURI": {
            "type": "string"
        },
        "SHACLClass": {
            "type": "object",
            "properties": {
                "type": {
                    "anyOf": [
                        { "$ref": "#/$defs/IRI" },
                        {
                            "enum": [
                                "ai_EnergyConsumption",
                                "ai_EnergyConsumptionDescription",
                                "ai_EnergyUnitType",
                                "ai_SafetyRiskAssessmentType",
                                "AnnotationType",
                                "ContactPointRelationshipType",
                                "CreationInfo",
                                "DefinedType",
                                "DictionaryEntry",
                                "ElementMap",
                                "ExternalIdentifier",
                                "ExternalIdentifierType",
                                "ExternalMap",
                                "ExternalRef",
                                "ExternalRefType",
                                "HashAlgorithm",
                                "IndividualElement",
                                "IsoAutomationLevel",
                                "LifecycleScopeType",
                                "NamespaceMap",
                                "PackageVerificationCode",
                                "PhysicalLocation",
                                "PositiveIntegerRange",
                                "PresenceType",
                                "ProcessReadinessType",
                                "ProfileIdentifierType",
                                "Relationship",
                                "RelationshipCompleteness",
                                "RelationshipType",
                                "Requirement",
                                "SpdxDocument",
                                "SpecificationType",
                                "SupportRelationship",
                                "SupportType",
                                "Tool",
                                "UnitOfMeasure",
                                "dataset_ConfidentialityLevelType",
                                "dataset_DatasetAvailabilityType",
                                "dataset_DatasetType",
                                "expandedlicensing_ListedLicenseException",
                                "extension_CdxPropertyEntry",
                                "functionalsafety_Assumption",
                                "functionalsafety_EvaluationResult",
                                "functionalsafety_EvaluationResultType",
                                "functionalsafety_EvidenceRelationship",
                                "functionalsafety_EvidenceType",
                                "functionalsafety_RequirementVerification",
                                "functionalsafety_VerificationType",
                                "hardware_Dimensions",
                                "hardware_VirtualHardwareModelType",
                                "operations_ExportControlClassification",
                                "security_CvssSeverityType",
                                "security_ExploitCatalogType",
                                "security_SsvcDecisionType",
                                "security_VexJustificationType",
                                "service_AuthenticationProtocolType",
                                "service_SoftwareService",
                                "simplelicensing_LicenseExpression",
                                "simplelicensing_SimpleLicensingText",
                                "software_ContentIdentifier",
                                "software_ContentIdentifierType",
                                "software_FileKindType",
                                "software_SbomType",
                                "software_SoftwarePurpose",
                                "supplychain_ResponsibilityType",
                                "build_Build",
                                "Agent",
                                "Annotation",
                                "Bundle",
                                "ContactPointRelationship",
                                "Hash",
                                "LifecycleScopedRelationship",
                                "MeasureOfLength",
                                "MeasureOfMass",
                                "Organization",
                                "Person",
                                "SoftwareAgent",
                                "Specification",
                                "expandedlicensing_ConjunctiveLicenseSet",
                                "expandedlicensing_CustomLicenseAddition",
                                "expandedlicensing_DisjunctiveLicenseSet",
                                "expandedlicensing_IndividualLicensingInfo",
                                "expandedlicensing_ListedLicense",
                                "expandedlicensing_OrLaterOperator",
                                "expandedlicensing_WithAdditionOperator",
                                "extension_CdxPropertiesExtension",
                                "hardware_PhysicalHardware",
                                "hardware_ProductSpecification",
                                "hardware_VirtualHardware",
                                "operations_ExportControlClassificationAssessment",
                                "operations_Project",
                                "security_CvssV2VulnAssessmentRelationship",
                                "security_CvssV3VulnAssessmentRelationship",
                                "security_CvssV4VulnAssessmentRelationship",
                                "security_EpssVulnAssessmentRelationship",
                                "security_ExploitCatalogVulnAssessmentRelationship",
                                "security_SsvcVulnAssessmentRelationship",
                                "security_Vulnerability",
                                "supplychain_BoundaryDefinitionProcess",
                                "supplychain_DestroyProcess",
                                "supplychain_HarvestProcess",
                                "supplychain_InstantiateVirtualHardwareProcess",
                                "supplychain_ManufactureProcess",
                                "supplychain_ReproduceProcess",
                                "supplychain_ResponsibilityChangeProcess",
                                "supplychain_State",
                                "supplychain_StorageProcess",
                                "supplychain_TransportProcess",
                                "Bom",
                                "Regulation",
                                "expandedlicensing_CustomLicense",
                                "hardware_BulkHardware",
                                "security_VexAffectedVulnAssessmentRelationship",
                                "security_VexFixedVulnAssessmentRelationship",
                                "security_VexNotAffectedVulnAssessmentRelationship",
                                "security_VexUnderInvestigationVulnAssessmentRelationship",
                                "software_File",
                                "software_Package",
                                "software_Sbom",
                                "software_Snippet",
                                "supplychain_AssemblyProcess",
                                "supplychain_BoundaryDefinitionAction",
                                "supplychain_ChangeProcess",
                                "supplychain_DefinedStateProcess",
                                "supplychain_DestroyAction",
                                "supplychain_HarvestAction",
                                "supplychain_InspectionProcess",
                                "supplychain_ManufactureAction",
                                "supplychain_PlanProcess",
                                "supplychain_ReproduceAction",
                                "supplychain_ResponsibilityChangeAction",
                                "supplychain_StorageAction",
                                "supplychain_TestProcess",
                                "supplychain_TransportAction",
                                "ai_AIPackage",
                                "dataset_DatasetPackage",
                                "supplychain_AssemblyAction",
                                "supplychain_BoundaryCrossingAction",
                                "supplychain_ChangeAction",
                                "supplychain_InspectionAction",
                                "supplychain_OutOfSpecAction",
                                "supplychain_PlanAction",
                                "supplychain_ResolutionAction",
                                "supplychain_StateAction",
                                "supplychain_TestAction"
                            ]
                        }
                    ]
                }
            },
            "required": ["type"]
        },
        "AnyClass": {
            "anyOf": [
                { "$ref": "#/$defs/ai_EnergyConsumption" },
                { "$ref": "#/$defs/ai_EnergyConsumptionDescription" },
                { "$ref": "#/$defs/ai_EnergyUnitType" },
                { "$ref": "#/$defs/ai_SafetyRiskAssessmentType" },
                { "$ref": "#/$defs/AnnotationType" },
                { "$ref": "#/$defs/ContactPointRelationshipType" },
                { "$ref": "#/$defs/CreationInfo" },
                { "$ref": "#/$defs/DefinedType" },
                { "$ref": "#/$defs/DictionaryEntry" },
                { "$ref": "#/$defs/ElementMap" },
                { "$ref": "#/$defs/ExternalIdentifier" },
                { "$ref": "#/$defs/ExternalIdentifierType" },
                { "$ref": "#/$defs/ExternalMap" },
                { "$ref": "#/$defs/ExternalRef" },
                { "$ref": "#/$defs/ExternalRefType" },
                { "$ref": "#/$defs/HashAlgorithm" },
                { "$ref": "#/$defs/IndividualElement" },
                { "$ref": "#/$defs/IsoAutomationLevel" },
                { "$ref": "#/$defs/LifecycleScopeType" },
                { "$ref": "#/$defs/NamespaceMap" },
                { "$ref": "#/$defs/PackageVerificationCode" },
                { "$ref": "#/$defs/PhysicalLocation" },
                { "$ref": "#/$defs/PositiveIntegerRange" },
                { "$ref": "#/$defs/PresenceType" },
                { "$ref": "#/$defs/ProcessReadinessType" },
                { "$ref": "#/$defs/ProfileIdentifierType" },
                { "$ref": "#/$defs/Relationship" },
                { "$ref": "#/$defs/RelationshipCompleteness" },
                { "$ref": "#/$defs/RelationshipType" },
                { "$ref": "#/$defs/Requirement" },
                { "$ref": "#/$defs/SpdxDocument" },
                { "$ref": "#/$defs/SpecificationType" },
                { "$ref": "#/$defs/SupportRelationship" },
                { "$ref": "#/$defs/SupportType" },
                { "$ref": "#/$defs/Tool" },
                { "$ref": "#/$defs/UnitOfMeasure" },
                { "$ref": "#/$defs/dataset_ConfidentialityLevelType" },
                { "$ref": "#/$defs/dataset_DatasetAvailabilityType" },
                { "$ref": "#/$defs/dataset_DatasetType" },
                { "$ref": "#/$defs/expandedlicensing_ListedLicenseException" },
                { "$ref": "#/$defs/extension_CdxPropertyEntry" },
                { "$ref": "#/$defs/functionalsafety_Assumption" },
                { "$ref": "#/$defs/functionalsafety_EvaluationResult" },
                { "$ref": "#/$defs/functionalsafety_EvaluationResultType" },
                { "$ref": "#/$defs/functionalsafety_EvidenceRelationship" },
                { "$ref": "#/$defs/functionalsafety_EvidenceType" },
                { "$ref": "#/$defs/functionalsafety_RequirementVerification" },
                { "$ref": "#/$defs/functionalsafety_VerificationType" },
                { "$ref": "#/$defs/hardware_Dimensions" },
                { "$ref": "#/$defs/hardware_VirtualHardwareModelType" },
                { "$ref": "#/$defs/operations_ExportControlClassification" },
                { "$ref": "#/$defs/security_CvssSeverityType" },
                { "$ref": "#/$defs/security_ExploitCatalogType" },
                { "$ref": "#/$defs/security_SsvcDecisionType" },
                { "$ref": "#/$defs/security_VexJustificationType" },
                { "$ref": "#/$defs/service_AuthenticationProtocolType" },
                { "$ref": "#/$defs/service_SoftwareService" },
                { "$ref": "#/$defs/simplelicensing_LicenseExpression" },
                { "$ref": "#/$defs/simplelicensing_SimpleLicensingText" },
                { "$ref": "#/$defs/software_ContentIdentifier" },
                { "$ref": "#/$defs/software_ContentIdentifierType" },
                { "$ref": "#/$defs/software_FileKindType" },
                { "$ref": "#/$defs/software_SbomType" },
                { "$ref": "#/$defs/software_SoftwarePurpose" },
                { "$ref": "#/$defs/supplychain_ResponsibilityType" },
                { "$ref": "#/$defs/build_Build" },
                { "$ref": "#/$defs/Agent" },
                { "$ref": "#/$defs/Annotation" },
                { "$ref": "#/$defs/Bundle" },
                { "$ref": "#/$defs/ContactPointRelationship" },
                { "$ref": "#/$defs/Hash" },
                { "$ref": "#/$defs/LifecycleScopedRelationship" },
                { "$ref": "#/$defs/MeasureOfLength" },
                { "$ref": "#/$defs/MeasureOfMass" },
                { "$ref": "#/$defs/Organization" },
                { "$ref": "#/$defs/Person" },
                { "$ref": "#/$defs/SoftwareAgent" },
                { "$ref": "#/$defs/Specification" },
                { "$ref": "#/$defs/expandedlicensing_ConjunctiveLicenseSet" },
                { "$ref": "#/$defs/expandedlicensing_CustomLicenseAddition" },
                { "$ref": "#/$defs/expandedlicensing_DisjunctiveLicenseSet" },
                { "$ref": "#/$defs/expandedlicensing_IndividualLicensingInfo" },
                { "$ref": "#/$defs/expandedlicensing_ListedLicense" },
                { "$ref": "#/$defs/expandedlicensing_OrLaterOperator" },
                { "$ref": "#/$defs/expandedlicensing_WithAdditionOperator" },
                { "$ref": "#/$defs/extension_CdxPropertiesExtension" },
                { "$ref": "#/$defs/hardware_PhysicalHardware" },
                { "$ref": "#/$defs/hardware_ProductSpecification" },
                { "$ref": "#/$defs/hardware_VirtualHardware" },
                { "$ref": "#/$defs/operations_ExportControlClassificationAssessment" },
                { "$ref": "#/$defs/operations_Project" },
                { "$ref": "#/$defs/security_CvssV2VulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_CvssV3VulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_CvssV4VulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_EpssVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_ExploitCatalogVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_SsvcVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_Vulnerability" },
                { "$ref": "#/$defs/supplychain_BoundaryDefinitionProcess" },
                { "$ref": "#/$defs/supplychain_DestroyProcess" },
                { "$ref": "#/$defs/supplychain_HarvestProcess" },
                { "$ref": "#/$defs/supplychain_InstantiateVirtualHardwareProcess" },
                { "$ref": "#/$defs/supplychain_ManufactureProcess" },
                { "$ref": "#/$defs/supplychain_ReproduceProcess" },
                { "$ref": "#/$defs/supplychain_ResponsibilityChangeProcess" },
                { "$ref": "#/$defs/supplychain_State" },
                { "$ref": "#/$defs/supplychain_StorageProcess" },
                { "$ref": "#/$defs/supplychain_TransportProcess" },
                { "$ref": "#/$defs/Bom" },
                { "$ref": "#/$defs/Regulation" },
                { "$ref": "#/$defs/expandedlicensing_CustomLicense" },
                { "$ref": "#/$defs/hardware_BulkHardware" },
                { "$ref": "#/$defs/security_VexAffectedVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_VexFixedVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_VexNotAffectedVulnAssessmentRelationship" },
                { "$ref": "#/$defs/security_VexUnderInvestigationVulnAssessmentRelationship" },
                { "$ref": "#/$defs/software_File" },
                { "$ref": "#/$defs/software_Package" },
                { "$ref": "#/$defs/software_Sbom" },
                { "$ref": "#/$defs/software_Snippet" },
                { "$ref": "#/$defs/supplychain_AssemblyProcess" },
                { "$ref": "#/$defs/supplychain_BoundaryDefinitionAction" },
                { "$ref": "#/$defs/supplychain_ChangeProcess" },
                { "$ref": "#/$defs/supplychain_DefinedStateProcess" },
                { "$ref": "#/$defs/supplychain_DestroyAction" },
                { "$ref": "#/$defs/supplychain_HarvestAction" },
                { "$ref": "#/$defs/supplychain_InspectionProcess" },
                { "$ref": "#/$defs/supplychain_ManufactureAction" },
                { "$ref": "#/$defs/supplychain_PlanProcess" },
                { "$ref": "#/$defs/supplychain_ReproduceAction" },
                { "$ref": "#/$defs/supplychain_ResponsibilityChangeAction" },
                { "$ref": "#/$defs/supplychain_StorageAction" },
                { "$ref": "#/$defs/supplychain_TestProcess" },
                { "$ref": "#/$defs/supplychain_TransportAction" },
                { "$ref": "#/$defs/ai_AIPackage" },
                { "$ref": "#/$defs/dataset_DatasetPackage" },
                { "$ref": "#/$defs/supplychain_AssemblyAction" },
                { "$ref": "#/$defs/supplychain_BoundaryCrossingAction" },
                { "$ref": "#/$defs/supplychain_ChangeAction" },
                { "$ref": "#/$defs/supplychain_InspectionAction" },
                { "$ref": "#/$defs/supplychain_OutOfSpecAction" },
                { "$ref": "#/$defs/supplychain_PlanAction" },
                { "$ref": "#/$defs/supplychain_ResolutionAction" },
                { "$ref": "#/$defs/supplychain_StateAction" },
                { "$ref": "#/$defs/supplychain_TestAction" }
            ]
        },
        "Context": {
            "anyOf": [
                { "const": "https://spdx.org/rdf/3.1/spdx-context.jsonld" },
                {
                    "type": "object",
                    "patternProperties": {
                        ".*": { "type": "string" }
                    }
                }
            ]
        }
    }
}
