{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$comment": "This file was auto-generated by shacl2code 1.1.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": [
                    "ai_:EnergyUnitType/kilowattHour",
                    "ai_:EnergyUnitType/megajoule",
                    "ai_:EnergyUnitType/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": "EnergyUnitType_kilowattHour" },
                { "const": "EnergyUnitType_megajoule" },
                { "const": "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": "SafetyRiskAssessmentType_high" },
                { "const": "SafetyRiskAssessmentType_low" },
                { "const": "SafetyRiskAssessmentType_medium" },
                { "const": "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": "AnnotationType_other" },
                { "const": "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": "ContactPointRelationshipType_compliance" },
                { "const": "ContactPointRelationshipType_other" },
                { "const": "ContactPointRelationshipType_securityVulnerability" },
                { "const": "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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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/Role" },
                        { "$ref": "#/$defs/RoleRelationship" },
                        { "$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": [
                    ":ProfileIdentifierType/ai",
                    ":ProfileIdentifierType/build",
                    ":ProfileIdentifierType/core",
                    ":ProfileIdentifierType/dataset",
                    ":ProfileIdentifierType/expandedLicensing",
                    ":ProfileIdentifierType/extension",
                    ":ProfileIdentifierType/functionalSafety",
                    ":ProfileIdentifierType/hardware",
                    ":ProfileIdentifierType/lite",
                    ":ProfileIdentifierType/operations",
                    ":ProfileIdentifierType/security",
                    ":ProfileIdentifierType/service",
                    ":ProfileIdentifierType/simpleLicensing",
                    ":ProfileIdentifierType/software",
                    ":ProfileIdentifierType/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": [
                    ":ExternalIdentifierType/ark",
                    ":ExternalIdentifierType/bic",
                    ":ExternalIdentifierType/cpe22",
                    ":ExternalIdentifierType/cpe23",
                    ":ExternalIdentifierType/cve",
                    ":ExternalIdentifierType/doi",
                    ":ExternalIdentifierType/duns",
                    ":ExternalIdentifierType/ecli",
                    ":ExternalIdentifierType/eli",
                    ":ExternalIdentifierType/email",
                    ":ExternalIdentifierType/eori",
                    ":ExternalIdentifierType/evidenceUID",
                    ":ExternalIdentifierType/gitoid",
                    ":ExternalIdentifierType/gln",
                    ":ExternalIdentifierType/glue",
                    ":ExternalIdentifierType/gtin",
                    ":ExternalIdentifierType/hsCodes",
                    ":ExternalIdentifierType/iban",
                    ":ExternalIdentifierType/ibid",
                    ":ExternalIdentifierType/ibrn",
                    ":ExternalIdentifierType/isan",
                    ":ExternalIdentifierType/isbn",
                    ":ExternalIdentifierType/iscc",
                    ":ExternalIdentifierType/isci",
                    ":ExternalIdentifierType/isil",
                    ":ExternalIdentifierType/ismn",
                    ":ExternalIdentifierType/isni",
                    ":ExternalIdentifierType/isrc",
                    ":ExternalIdentifierType/issn",
                    ":ExternalIdentifierType/iswc",
                    ":ExternalIdentifierType/lei",
                    ":ExternalIdentifierType/lexid",
                    ":ExternalIdentifierType/nli",
                    ":ExternalIdentifierType/orcidid",
                    ":ExternalIdentifierType/other",
                    ":ExternalIdentifierType/packageUrl",
                    ":ExternalIdentifierType/phoneNumber",
                    ":ExternalIdentifierType/requirementUID",
                    ":ExternalIdentifierType/rorid",
                    ":ExternalIdentifierType/securityOther",
                    ":ExternalIdentifierType/swhid",
                    ":ExternalIdentifierType/swid",
                    ":ExternalIdentifierType/urlScheme",
                    ":ExternalIdentifierType/vatNumber",
                    ":ExternalIdentifierType/verificationUID",
                    ":ExternalIdentifierType/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": "ExternalIdentifierType_ark" },
                { "const": "ExternalIdentifierType_bic" },
                { "const": "ExternalIdentifierType_cpe22" },
                { "const": "ExternalIdentifierType_cpe23" },
                { "const": "ExternalIdentifierType_cve" },
                { "const": "ExternalIdentifierType_doi" },
                { "const": "ExternalIdentifierType_duns" },
                { "const": "ExternalIdentifierType_ecli" },
                { "const": "ExternalIdentifierType_eli" },
                { "const": "ExternalIdentifierType_email" },
                { "const": "ExternalIdentifierType_eori" },
                { "const": "ExternalIdentifierType_evidenceUID" },
                { "const": "ExternalIdentifierType_gitoid" },
                { "const": "ExternalIdentifierType_gln" },
                { "const": "ExternalIdentifierType_glue" },
                { "const": "ExternalIdentifierType_gtin" },
                { "const": "ExternalIdentifierType_hsCodes" },
                { "const": "ExternalIdentifierType_iban" },
                { "const": "ExternalIdentifierType_ibid" },
                { "const": "ExternalIdentifierType_ibrn" },
                { "const": "ExternalIdentifierType_isan" },
                { "const": "ExternalIdentifierType_isbn" },
                { "const": "ExternalIdentifierType_iscc" },
                { "const": "ExternalIdentifierType_isci" },
                { "const": "ExternalIdentifierType_isil" },
                { "const": "ExternalIdentifierType_ismn" },
                { "const": "ExternalIdentifierType_isni" },
                { "const": "ExternalIdentifierType_isrc" },
                { "const": "ExternalIdentifierType_issn" },
                { "const": "ExternalIdentifierType_iswc" },
                { "const": "ExternalIdentifierType_lei" },
                { "const": "ExternalIdentifierType_lexid" },
                { "const": "ExternalIdentifierType_nli" },
                { "const": "ExternalIdentifierType_orcidid" },
                { "const": "ExternalIdentifierType_other" },
                { "const": "ExternalIdentifierType_packageUrl" },
                { "const": "ExternalIdentifierType_phoneNumber" },
                { "const": "ExternalIdentifierType_requirementUID" },
                { "const": "ExternalIdentifierType_rorid" },
                { "const": "ExternalIdentifierType_securityOther" },
                { "const": "ExternalIdentifierType_swhid" },
                { "const": "ExternalIdentifierType_swid" },
                { "const": "ExternalIdentifierType_urlScheme" },
                { "const": "ExternalIdentifierType_vatNumber" },
                { "const": "ExternalIdentifierType_verificationUID" },
                { "const": "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": [
                    ":ExternalRefType/altDownloadLocation",
                    ":ExternalRefType/altWebPage",
                    ":ExternalRefType/binaryArtifact",
                    ":ExternalRefType/bom",
                    ":ExternalRefType/bower",
                    ":ExternalRefType/buildMeta",
                    ":ExternalRefType/buildSystem",
                    ":ExternalRefType/certificationReport",
                    ":ExternalRefType/chat",
                    ":ExternalRefType/componentAnalysisReport",
                    ":ExternalRefType/cwe",
                    ":ExternalRefType/documentation",
                    ":ExternalRefType/dynamicAnalysisReport",
                    ":ExternalRefType/eolNotice",
                    ":ExternalRefType/exportControlAssessment",
                    ":ExternalRefType/funding",
                    ":ExternalRefType/issueTracker",
                    ":ExternalRefType/license",
                    ":ExternalRefType/mailingList",
                    ":ExternalRefType/mavenCentral",
                    ":ExternalRefType/metrics",
                    ":ExternalRefType/npm",
                    ":ExternalRefType/nuget",
                    ":ExternalRefType/other",
                    ":ExternalRefType/privacyAssessment",
                    ":ExternalRefType/productMetadata",
                    ":ExternalRefType/purchaseOrder",
                    ":ExternalRefType/qualityAssessmentReport",
                    ":ExternalRefType/releaseHistory",
                    ":ExternalRefType/releaseNotes",
                    ":ExternalRefType/riskAssessment",
                    ":ExternalRefType/runtimeAnalysisReport",
                    ":ExternalRefType/secureSoftwareAttestation",
                    ":ExternalRefType/securityAdversaryModel",
                    ":ExternalRefType/securityAdvisory",
                    ":ExternalRefType/securityFix",
                    ":ExternalRefType/securityOther",
                    ":ExternalRefType/securityPenTestReport",
                    ":ExternalRefType/securityPolicy",
                    ":ExternalRefType/securityThreatModel",
                    ":ExternalRefType/socialMedia",
                    ":ExternalRefType/sourceArtifact",
                    ":ExternalRefType/staticAnalysisReport",
                    ":ExternalRefType/support",
                    ":ExternalRefType/vcs",
                    ":ExternalRefType/vulnerabilityDisclosureReport",
                    ":ExternalRefType/vulnerabilityExploitabilityAssessment",
                    ":ExternalRefType/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": "ExternalRefType_altDownloadLocation" },
                { "const": "ExternalRefType_altWebPage" },
                { "const": "ExternalRefType_binaryArtifact" },
                { "const": "ExternalRefType_bom" },
                { "const": "ExternalRefType_bower" },
                { "const": "ExternalRefType_buildMeta" },
                { "const": "ExternalRefType_buildSystem" },
                { "const": "ExternalRefType_certificationReport" },
                { "const": "ExternalRefType_chat" },
                { "const": "ExternalRefType_componentAnalysisReport" },
                { "const": "ExternalRefType_cwe" },
                { "const": "ExternalRefType_documentation" },
                { "const": "ExternalRefType_dynamicAnalysisReport" },
                { "const": "ExternalRefType_eolNotice" },
                { "const": "ExternalRefType_exportControlAssessment" },
                { "const": "ExternalRefType_funding" },
                { "const": "ExternalRefType_issueTracker" },
                { "const": "ExternalRefType_license" },
                { "const": "ExternalRefType_mailingList" },
                { "const": "ExternalRefType_mavenCentral" },
                { "const": "ExternalRefType_metrics" },
                { "const": "ExternalRefType_npm" },
                { "const": "ExternalRefType_nuget" },
                { "const": "ExternalRefType_other" },
                { "const": "ExternalRefType_privacyAssessment" },
                { "const": "ExternalRefType_productMetadata" },
                { "const": "ExternalRefType_purchaseOrder" },
                { "const": "ExternalRefType_qualityAssessmentReport" },
                { "const": "ExternalRefType_releaseHistory" },
                { "const": "ExternalRefType_releaseNotes" },
                { "const": "ExternalRefType_riskAssessment" },
                { "const": "ExternalRefType_runtimeAnalysisReport" },
                { "const": "ExternalRefType_secureSoftwareAttestation" },
                { "const": "ExternalRefType_securityAdversaryModel" },
                { "const": "ExternalRefType_securityAdvisory" },
                { "const": "ExternalRefType_securityFix" },
                { "const": "ExternalRefType_securityOther" },
                { "const": "ExternalRefType_securityPenTestReport" },
                { "const": "ExternalRefType_securityPolicy" },
                { "const": "ExternalRefType_securityThreatModel" },
                { "const": "ExternalRefType_socialMedia" },
                { "const": "ExternalRefType_sourceArtifact" },
                { "const": "ExternalRefType_staticAnalysisReport" },
                { "const": "ExternalRefType_support" },
                { "const": "ExternalRefType_vcs" },
                { "const": "ExternalRefType_vulnerabilityDisclosureReport" },
                { "const": "ExternalRefType_vulnerabilityExploitabilityAssessment" },
                { "const": "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": "HashAlgorithm_adler32" },
                { "const": "HashAlgorithm_blake2b256" },
                { "const": "HashAlgorithm_blake2b384" },
                { "const": "HashAlgorithm_blake2b512" },
                { "const": "HashAlgorithm_blake3" },
                { "const": "HashAlgorithm_crystalsDilithium" },
                { "const": "HashAlgorithm_crystalsKyber" },
                { "const": "HashAlgorithm_falcon" },
                { "const": "HashAlgorithm_md2" },
                { "const": "HashAlgorithm_md4" },
                { "const": "HashAlgorithm_md5" },
                { "const": "HashAlgorithm_md6" },
                { "const": "HashAlgorithm_other" },
                { "const": "HashAlgorithm_sha1" },
                { "const": "HashAlgorithm_sha224" },
                { "const": "HashAlgorithm_sha256" },
                { "const": "HashAlgorithm_sha384" },
                { "const": "HashAlgorithm_sha3_224" },
                { "const": "HashAlgorithm_sha3_256" },
                { "const": "HashAlgorithm_sha3_384" },
                { "const": "HashAlgorithm_sha3_512" },
                { "const": "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": "IsoAutomationLevel_assistiveAutomation" },
                { "const": "IsoAutomationLevel_autonomous" },
                { "const": "IsoAutomationLevel_conditionalAutomation" },
                { "const": "IsoAutomationLevel_fullAutomation" },
                { "const": "IsoAutomationLevel_highAutomation" },
                { "const": "IsoAutomationLevel_notAutomated" },
                { "const": "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": "LifecycleScopeType_build" },
                { "const": "LifecycleScopeType_decommission" },
                { "const": "LifecycleScopeType_design" },
                { "const": "LifecycleScopeType_development" },
                { "const": "LifecycleScopeType_other" },
                { "const": "LifecycleScopeType_runtime" },
                { "const": "LifecycleScopeType_test" },
                { "const": "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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": [
                    ":HashAlgorithm/adler32",
                    ":HashAlgorithm/blake2b256",
                    ":HashAlgorithm/blake2b384",
                    ":HashAlgorithm/blake2b512",
                    ":HashAlgorithm/blake3",
                    ":HashAlgorithm/crystalsDilithium",
                    ":HashAlgorithm/crystalsKyber",
                    ":HashAlgorithm/falcon",
                    ":HashAlgorithm/md2",
                    ":HashAlgorithm/md4",
                    ":HashAlgorithm/md5",
                    ":HashAlgorithm/md6",
                    ":HashAlgorithm/other",
                    ":HashAlgorithm/sha1",
                    ":HashAlgorithm/sha224",
                    ":HashAlgorithm/sha256",
                    ":HashAlgorithm/sha384",
                    ":HashAlgorithm/sha3_224",
                    ":HashAlgorithm/sha3_256",
                    ":HashAlgorithm/sha3_384",
                    ":HashAlgorithm/sha3_512",
                    ":HashAlgorithm/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": "PresenceType_no" },
                { "const": "PresenceType_noAssertion" },
                { "const": "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": "ProcessReadinessType_active" },
                { "const": "ProcessReadinessType_draft" },
                { "const": "ProcessReadinessType_obsoleted" },
                { "const": "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": "ProfileIdentifierType_ai" },
                { "const": "ProfileIdentifierType_build" },
                { "const": "ProfileIdentifierType_core" },
                { "const": "ProfileIdentifierType_dataset" },
                { "const": "ProfileIdentifierType_expandedLicensing" },
                { "const": "ProfileIdentifierType_extension" },
                { "const": "ProfileIdentifierType_functionalSafety" },
                { "const": "ProfileIdentifierType_hardware" },
                { "const": "ProfileIdentifierType_lite" },
                { "const": "ProfileIdentifierType_operations" },
                { "const": "ProfileIdentifierType_security" },
                { "const": "ProfileIdentifierType_service" },
                { "const": "ProfileIdentifierType_simpleLicensing" },
                { "const": "ProfileIdentifierType_software" },
                { "const": "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/RoleRelationship" },
                        { "$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": [
                    ":RelationshipCompleteness/complete",
                    ":RelationshipCompleteness/incomplete",
                    ":RelationshipCompleteness/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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)Z$"
                        }
                    ]
        },
        "prop_Relationship_from_": {
                "$ref": "#/$defs/Element_derived"
        },
        "prop_Relationship_relationshipType": {
                "enum": [
                    ":RelationshipType/affects",
                    ":RelationshipType/amendedBy",
                    ":RelationshipType/ancestorOf",
                    ":RelationshipType/assumes",
                    ":RelationshipType/availableFrom",
                    ":RelationshipType/configures",
                    ":RelationshipType/conformsTo",
                    ":RelationshipType/contains",
                    ":RelationshipType/coordinatedBy",
                    ":RelationshipType/copiedTo",
                    ":RelationshipType/createdBy",
                    ":RelationshipType/delegatedTo",
                    ":RelationshipType/dependsOn",
                    ":RelationshipType/descendantOf",
                    ":RelationshipType/describes",
                    ":RelationshipType/doesNotAffect",
                    ":RelationshipType/evaluatedOn",
                    ":RelationshipType/expandsTo",
                    ":RelationshipType/exploitCreatedBy",
                    ":RelationshipType/finetunedOn",
                    ":RelationshipType/fixedBy",
                    ":RelationshipType/fixedIn",
                    ":RelationshipType/follows",
                    ":RelationshipType/foundBy",
                    ":RelationshipType/generates",
                    ":RelationshipType/hasAddedFile",
                    ":RelationshipType/hasAssessmentFor",
                    ":RelationshipType/hasAssociatedVulnerability",
                    ":RelationshipType/hasConcludedLicense",
                    ":RelationshipType/hasContactPoint",
                    ":RelationshipType/hasDataFile",
                    ":RelationshipType/hasDeclaredLicense",
                    ":RelationshipType/hasDeletedFile",
                    ":RelationshipType/hasDependencyManifest",
                    ":RelationshipType/hasDistributionArtifact",
                    ":RelationshipType/hasDocumentation",
                    ":RelationshipType/hasDynamicLink",
                    ":RelationshipType/hasEvidence",
                    ":RelationshipType/hasExample",
                    ":RelationshipType/hasHost",
                    ":RelationshipType/hasInput",
                    ":RelationshipType/hasMetadata",
                    ":RelationshipType/hasOptionalComponent",
                    ":RelationshipType/hasOptionalDependency",
                    ":RelationshipType/hasOutput",
                    ":RelationshipType/hasPrerequisite",
                    ":RelationshipType/hasProvidedDependency",
                    ":RelationshipType/hasRequirement",
                    ":RelationshipType/hasResolution",
                    ":RelationshipType/hasRoleIn",
                    ":RelationshipType/hasSpecification",
                    ":RelationshipType/hasStaticLink",
                    ":RelationshipType/hasTest",
                    ":RelationshipType/hasTestCase",
                    ":RelationshipType/hasVariant",
                    ":RelationshipType/implementedBy",
                    ":RelationshipType/invokedBy",
                    ":RelationshipType/locatedAt",
                    ":RelationshipType/modifiedBy",
                    ":RelationshipType/other",
                    ":RelationshipType/packagedBy",
                    ":RelationshipType/patchedBy",
                    ":RelationshipType/performedBy",
                    ":RelationshipType/pretrainedOn",
                    ":RelationshipType/providesSupportFor",
                    ":RelationshipType/publishedBy",
                    ":RelationshipType/reportedBy",
                    ":RelationshipType/republishedBy",
                    ":RelationshipType/resolved",
                    ":RelationshipType/runsOn",
                    ":RelationshipType/serializedInArtifact",
                    ":RelationshipType/testedOn",
                    ":RelationshipType/tracedToDetail",
                    ":RelationshipType/trainedOn",
                    ":RelationshipType/underInvestigationFor",
                    ":RelationshipType/usesTool",
                    ":RelationshipType/validatedOn",
                    ":RelationshipType/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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": "RelationshipCompleteness_complete" },
                { "const": "RelationshipCompleteness_incomplete" },
                { "const": "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": "RelationshipType_affects" },
                { "const": "RelationshipType_amendedBy" },
                { "const": "RelationshipType_ancestorOf" },
                { "const": "RelationshipType_assumes" },
                { "const": "RelationshipType_availableFrom" },
                { "const": "RelationshipType_configures" },
                { "const": "RelationshipType_conformsTo" },
                { "const": "RelationshipType_contains" },
                { "const": "RelationshipType_coordinatedBy" },
                { "const": "RelationshipType_copiedTo" },
                { "const": "RelationshipType_createdBy" },
                { "const": "RelationshipType_delegatedTo" },
                { "const": "RelationshipType_dependsOn" },
                { "const": "RelationshipType_descendantOf" },
                { "const": "RelationshipType_describes" },
                { "const": "RelationshipType_doesNotAffect" },
                { "const": "RelationshipType_evaluatedOn" },
                { "const": "RelationshipType_expandsTo" },
                { "const": "RelationshipType_exploitCreatedBy" },
                { "const": "RelationshipType_finetunedOn" },
                { "const": "RelationshipType_fixedBy" },
                { "const": "RelationshipType_fixedIn" },
                { "const": "RelationshipType_follows" },
                { "const": "RelationshipType_foundBy" },
                { "const": "RelationshipType_generates" },
                { "const": "RelationshipType_hasAddedFile" },
                { "const": "RelationshipType_hasAssessmentFor" },
                { "const": "RelationshipType_hasAssociatedVulnerability" },
                { "const": "RelationshipType_hasConcludedLicense" },
                { "const": "RelationshipType_hasContactPoint" },
                { "const": "RelationshipType_hasDataFile" },
                { "const": "RelationshipType_hasDeclaredLicense" },
                { "const": "RelationshipType_hasDeletedFile" },
                { "const": "RelationshipType_hasDependencyManifest" },
                { "const": "RelationshipType_hasDistributionArtifact" },
                { "const": "RelationshipType_hasDocumentation" },
                { "const": "RelationshipType_hasDynamicLink" },
                { "const": "RelationshipType_hasEvidence" },
                { "const": "RelationshipType_hasExample" },
                { "const": "RelationshipType_hasHost" },
                { "const": "RelationshipType_hasInput" },
                { "const": "RelationshipType_hasMetadata" },
                { "const": "RelationshipType_hasOptionalComponent" },
                { "const": "RelationshipType_hasOptionalDependency" },
                { "const": "RelationshipType_hasOutput" },
                { "const": "RelationshipType_hasPrerequisite" },
                { "const": "RelationshipType_hasProvidedDependency" },
                { "const": "RelationshipType_hasRequirement" },
                { "const": "RelationshipType_hasResolution" },
                { "const": "RelationshipType_hasRoleIn" },
                { "const": "RelationshipType_hasSpecification" },
                { "const": "RelationshipType_hasStaticLink" },
                { "const": "RelationshipType_hasTest" },
                { "const": "RelationshipType_hasTestCase" },
                { "const": "RelationshipType_hasVariant" },
                { "const": "RelationshipType_implementedBy" },
                { "const": "RelationshipType_invokedBy" },
                { "const": "RelationshipType_locatedAt" },
                { "const": "RelationshipType_modifiedBy" },
                { "const": "RelationshipType_other" },
                { "const": "RelationshipType_packagedBy" },
                { "const": "RelationshipType_patchedBy" },
                { "const": "RelationshipType_performedBy" },
                { "const": "RelationshipType_pretrainedOn" },
                { "const": "RelationshipType_providesSupportFor" },
                { "const": "RelationshipType_publishedBy" },
                { "const": "RelationshipType_reportedBy" },
                { "const": "RelationshipType_republishedBy" },
                { "const": "RelationshipType_resolved" },
                { "const": "RelationshipType_runsOn" },
                { "const": "RelationshipType_serializedInArtifact" },
                { "const": "RelationshipType_testedOn" },
                { "const": "RelationshipType_tracedToDetail" },
                { "const": "RelationshipType_trainedOn" },
                { "const": "RelationshipType_underInvestigationFor" },
                { "const": "RelationshipType_usesTool" },
                { "const": "RelationshipType_validatedOn" },
                { "const": "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"
                        },
                        "requirementStatus": {
                            "$ref": "#/$defs/prop_Requirement_requirementStatus"
                        },
                        "requirementUID": {
                            "$ref": "#/$defs/prop_Requirement_requirementUID"
                        }
                    },
                    "required": [
                        "requirementStatement"
                    ]
                }
            ]
        },
        "prop_Requirement_devLifecycleStage": {
                "enum": [
                    ":LifecycleScopeType/build",
                    ":LifecycleScopeType/decommission",
                    ":LifecycleScopeType/design",
                    ":LifecycleScopeType/development",
                    ":LifecycleScopeType/other",
                    ":LifecycleScopeType/runtime",
                    ":LifecycleScopeType/test",
                    ":LifecycleScopeType/update"
                ]
        },
        "prop_Requirement_rationale": {
                    "type": "string"
        },
        "prop_Requirement_requirementStatement": {
                    "type": "string"
        },
        "prop_Requirement_requirementStatus": {
                "enum": [
                    ":RequirementStatusType/active",
                    ":RequirementStatusType/backlog",
                    ":RequirementStatusType/draft",
                    ":RequirementStatusType/retired",
                    ":RequirementStatusType/reviewable"
                ]
        },
        "prop_Requirement_requirementUID": {
                "$ref": "#/$defs/ExternalIdentifier_derived"
        },
        "RequirementStatusType": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "RequirementStatusType"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "@id": { "$ref": "#/$defs/BlankNodeOrIRI" },
                            "type": { "type": "string" }
                        }
                    },
                    { "$ref": "#/$defs/RequirementStatusType_props" }
                ]
            },
            "else": {
                "const": "Not a RequirementStatusType"
            }
        },
        "RequirementStatusType_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/RequirementStatusType" }
                    ]
                },
                { "const": "RequirementStatusType_active" },
                { "const": "RequirementStatusType_backlog" },
                { "const": "RequirementStatusType_draft" },
                { "const": "RequirementStatusType_retired" },
                { "const": "RequirementStatusType_reviewable" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "RequirementStatusType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "Role": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "Role"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/Role_props" }
                ]
            },
            "else": {
                "const": "Not a Role"
            }
        },
        "Role_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/Role" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "Role_props": {
            "allOf": [
                { "$ref": "#/$defs/Element_props" },
                {
                    "type": "object",
                    "properties": {
                        "authorization": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Role_authorization"
                                    }
                                }
                            ]
                        },
                        "referenceSpecification": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Role_referenceSpecification"
                                    }
                                }
                            ]
                        },
                        "responsibility": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_Role_responsibility"
                                    }
                                }
                            ]
                        },
                        "roleQualification": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_Role_roleQualification"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "roleQualification"
                    ]
                }
            ]
        },
        "prop_Role_authorization": {
                    "type": "string"
        },
        "prop_Role_referenceSpecification": {
                "$ref": "#/$defs/DefinedType_derived"
        },
        "prop_Role_responsibility": {
                "$ref": "#/$defs/Requirement_derived"
        },
        "prop_Role_roleQualification": {
                "$ref": "#/$defs/Requirement_derived"
        },
        "RoleRelationship": {
            "if": {
                "type": "object",
                "properties": {
                    "type": {
                        "const": "RoleRelationship"
                    }
                },
                "required": ["type"]
            },
            "then": {
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "spdxId": { "$ref": "#/$defs/IRI" },
                            "type": { "type": "string" }
                        },
                        "required": ["spdxId"]
                    },
                    { "$ref": "#/$defs/RoleRelationship_props" }
                ]
            },
            "else": {
                "const": "Not a RoleRelationship"
            }
        },
        "RoleRelationship_derived": {
            "anyOf": [
                {
                    "type": "object",
                    "unevaluatedProperties": false,
                    "anyOf": [
                        { "$ref": "#/$defs/RoleRelationship" }
                    ]
                },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "RoleRelationship_props": {
            "allOf": [
                { "$ref": "#/$defs/Relationship_props" },
                {
                    "type": "object",
                    "properties": {
                        "assignedBy": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_RoleRelationship_assignedBy"
                                    }
                                }
                            ]
                        },
                        "givenRole": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_RoleRelationship_givenRole"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "givenRole"
                    ]
                }
            ]
        },
        "prop_RoleRelationship_assignedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_RoleRelationship_givenRole": {
                "$ref": "#/$defs/Role_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": "SpecificationType_formalStandard" },
                { "const": "SpecificationType_other" },
                { "const": "SpecificationType_regulation" },
                { "const": "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": [
                    ":SupportType/deployed",
                    ":SupportType/development",
                    ":SupportType/endOfSupport",
                    ":SupportType/limitedSupport",
                    ":SupportType/noAssertion",
                    ":SupportType/noSupport",
                    ":SupportType/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": "SupportType_deployed" },
                { "const": "SupportType_development" },
                { "const": "SupportType_endOfSupport" },
                { "const": "SupportType_limitedSupport" },
                { "const": "SupportType_noAssertion" },
                { "const": "SupportType_noSupport" },
                { "const": "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": {
                        "version": {
                            "$ref": "#/$defs/prop_Tool_version"
                        }
                    }
                }
            ]
        },
        "prop_Tool_version": {
                    "type": "string"
        },
        "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": "ConfidentialityLevelType_amber" },
                { "const": "ConfidentialityLevelType_amberStrict" },
                { "const": "ConfidentialityLevelType_clear" },
                { "const": "ConfidentialityLevelType_green" },
                { "const": "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": "DatasetAvailabilityType_clickthrough" },
                { "const": "DatasetAvailabilityType_directDownload" },
                { "const": "DatasetAvailabilityType_query" },
                { "const": "DatasetAvailabilityType_registration" },
                { "const": "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": "DatasetType_audio" },
                { "const": "DatasetType_categorical" },
                { "const": "DatasetType_graph" },
                { "const": "DatasetType_image" },
                { "const": "DatasetType_noAssertion" },
                { "const": "DatasetType_numeric" },
                { "const": "DatasetType_other" },
                { "const": "DatasetType_sensor" },
                { "const": "DatasetType_structured" },
                { "const": "DatasetType_syntactic" },
                { "const": "DatasetType_text" },
                { "const": "DatasetType_timeseries" },
                { "const": "DatasetType_timestamp" },
                { "const": "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_assumptionUID": {
                            "$ref": "#/$defs/prop_functionalsafety_Assumption_functionalsafety_assumptionUID"
                        }
                    },
                    "required": [
                        "functionalsafety_assumptionStatement"
                    ]
                }
            ]
        },
        "prop_functionalsafety_Assumption_rationale": {
                    "type": "string"
        },
        "prop_functionalsafety_Assumption_functionalsafety_assumptionStatement": {
                    "type": "string"
        },
        "prop_functionalsafety_Assumption_functionalsafety_assumptionUID": {
                "$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": [
                    "functionalsafety_:EvaluationResultType/fail",
                    "functionalsafety_:EvaluationResultType/inconclusive",
                    "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": "EvaluationResultType_fail" },
                { "const": "EvaluationResultType_inconclusive" },
                { "const": "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_evidenceUID": {
                            "$ref": "#/$defs/prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceUID"
                        }
                    }
                }
            ]
        },
        "prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceCategory": {
                "enum": [
                    "functionalsafety_:EvidenceType/log",
                    "functionalsafety_:EvidenceType/observation",
                    "functionalsafety_:EvidenceType/other",
                    "functionalsafety_:EvidenceType/recording",
                    "functionalsafety_:EvidenceType/report"
                ]
        },
        "prop_functionalsafety_EvidenceRelationship_functionalsafety_evidenceUID": {
                "$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": "EvidenceType_log" },
                { "const": "EvidenceType_observation" },
                { "const": "EvidenceType_other" },
                { "const": "EvidenceType_recording" },
                { "const": "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_verificationUID": {
                            "$ref": "#/$defs/prop_functionalsafety_RequirementVerification_functionalsafety_verificationUID"
                        }
                    }
                }
            ]
        },
        "prop_functionalsafety_RequirementVerification_rationale": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationMethod": {
                "enum": [
                    "functionalsafety_:VerificationType/analysis",
                    "functionalsafety_:VerificationType/assessment",
                    "functionalsafety_:VerificationType/audit",
                    "functionalsafety_:VerificationType/demonstration",
                    "functionalsafety_:VerificationType/inspection",
                    "functionalsafety_:VerificationType/other",
                    "functionalsafety_:VerificationType/review",
                    "functionalsafety_:VerificationType/test"
                ]
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationPostcondition": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationPrecondition": {
                    "type": "string"
        },
        "prop_functionalsafety_RequirementVerification_functionalsafety_verificationUID": {
                "$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": "VerificationType_analysis" },
                { "const": "VerificationType_assessment" },
                { "const": "VerificationType_audit" },
                { "const": "VerificationType_demonstration" },
                { "const": "VerificationType_inspection" },
                { "const": "VerificationType_other" },
                { "const": "VerificationType_review" },
                { "const": "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": "VirtualHardwareModelType_cycle" },
                { "const": "VirtualHardwareModelType_function" },
                { "const": "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": "CvssSeverityType_critical" },
                { "const": "CvssSeverityType_high" },
                { "const": "CvssSeverityType_low" },
                { "const": "CvssSeverityType_medium" },
                { "const": "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": "ExploitCatalogType_kev" },
                { "const": "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": "SsvcDecisionType_act" },
                { "const": "SsvcDecisionType_attend" },
                { "const": "SsvcDecisionType_track" },
                { "const": "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": "VexJustificationType_componentNotPresent" },
                { "const": "VexJustificationType_inlineMitigationsAlreadyExist" },
                { "const": "VexJustificationType_vulnerableCodeCannotBeControlledByAdversary" },
                { "const": "VexJustificationType_vulnerableCodeNotInExecutePath" },
                { "const": "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/Artifact_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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": "AuthenticationProtocolType_crl" },
                { "const": "AuthenticationProtocolType_ocsp" },
                { "const": "AuthenticationProtocolType_other" },
                { "const": "AuthenticationProtocolType_tls" },
                { "$ref": "#/$defs/BlankNodeOrIRI" }
            ]
        },
        "service_AuthenticationProtocolType_props": {
            "allOf": [
                { "$ref": "#/$defs/SHACLClass" },
                {
                    "type": "object",
                    "properties": {
                    }
                }
            ]
        },
        "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": [
                    "software_:ContentIdentifierType/gitoid",
                    "software_:ContentIdentifierType/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": "ContentIdentifierType_gitoid" },
                { "const": "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": "FileKindType_directory" },
                { "const": "FileKindType_file" },
                { "const": "FileKindType_symlink" },
                { "$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": "SbomType_analyzed" },
                { "const": "SbomType_build" },
                { "const": "SbomType_deployed" },
                { "const": "SbomType_design" },
                { "const": "SbomType_runtime" },
                { "const": "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": "SoftwarePurpose_application" },
                { "const": "SoftwarePurpose_archive" },
                { "const": "SoftwarePurpose_bom" },
                { "const": "SoftwarePurpose_configuration" },
                { "const": "SoftwarePurpose_container" },
                { "const": "SoftwarePurpose_data" },
                { "const": "SoftwarePurpose_device" },
                { "const": "SoftwarePurpose_deviceDriver" },
                { "const": "SoftwarePurpose_diskImage" },
                { "const": "SoftwarePurpose_documentation" },
                { "const": "SoftwarePurpose_evidence" },
                { "const": "SoftwarePurpose_executable" },
                { "const": "SoftwarePurpose_file" },
                { "const": "SoftwarePurpose_filesystemImage" },
                { "const": "SoftwarePurpose_firmware" },
                { "const": "SoftwarePurpose_framework" },
                { "const": "SoftwarePurpose_install" },
                { "const": "SoftwarePurpose_library" },
                { "const": "SoftwarePurpose_manifest" },
                { "const": "SoftwarePurpose_model" },
                { "const": "SoftwarePurpose_module" },
                { "const": "SoftwarePurpose_operatingSystem" },
                { "const": "SoftwarePurpose_other" },
                { "const": "SoftwarePurpose_patch" },
                { "const": "SoftwarePurpose_platform" },
                { "const": "SoftwarePurpose_requirement" },
                { "const": "SoftwarePurpose_source" },
                { "const": "SoftwarePurpose_specification" },
                { "const": "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": "ResponsibilityType_custody" },
                { "const": "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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": [
                    ":AnnotationType/other",
                    ":AnnotationType/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/service_SoftwareService" },
                        { "$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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)Z$"
                        }
                    ]
        },
        "prop_Artifact_standardName": {
                    "type": "string"
        },
        "prop_Artifact_suppliedBy": {
                "$ref": "#/$defs/Agent_derived"
        },
        "prop_Artifact_supportLevel": {
                "enum": [
                    ":SupportType/deployed",
                    ":SupportType/development",
                    ":SupportType/endOfSupport",
                    ":SupportType/limitedSupport",
                    ":SupportType/noAssertion",
                    ":SupportType/noSupport",
                    ":SupportType/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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": [
                    ":ContactPointRelationshipType/compliance",
                    ":ContactPointRelationshipType/other",
                    ":ContactPointRelationshipType/securityVulnerability",
                    ":ContactPointRelationshipType/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"
                        },
                        "rationale": {
                            "$ref": "#/$defs/prop_DefinedProcess_rationale"
                        },
                        "version": {
                            "$ref": "#/$defs/prop_DefinedProcess_version"
                        }
                    },
                    "required": [
                        "version"
                    ]
                }
            ]
        },
        "prop_DefinedProcess_processReadiness": {
                "enum": [
                    ":ProcessReadinessType/active",
                    ":ProcessReadinessType/draft",
                    ":ProcessReadinessType/obsoleted",
                    ":ProcessReadinessType/other"
                ]
        },
        "prop_DefinedProcess_rationale": {
                    "type": "string"
        },
        "prop_DefinedProcess_version": {
                    "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": [
                    ":HashAlgorithm/adler32",
                    ":HashAlgorithm/blake2b256",
                    ":HashAlgorithm/blake2b384",
                    ":HashAlgorithm/blake2b512",
                    ":HashAlgorithm/blake3",
                    ":HashAlgorithm/crystalsDilithium",
                    ":HashAlgorithm/crystalsKyber",
                    ":HashAlgorithm/falcon",
                    ":HashAlgorithm/md2",
                    ":HashAlgorithm/md4",
                    ":HashAlgorithm/md5",
                    ":HashAlgorithm/md6",
                    ":HashAlgorithm/other",
                    ":HashAlgorithm/sha1",
                    ":HashAlgorithm/sha224",
                    ":HashAlgorithm/sha256",
                    ":HashAlgorithm/sha384",
                    ":HashAlgorithm/sha3_224",
                    ":HashAlgorithm/sha3_256",
                    ":HashAlgorithm/sha3_384",
                    ":HashAlgorithm/sha3_512",
                    ":HashAlgorithm/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": [
                    ":LifecycleScopeType/build",
                    ":LifecycleScopeType/decommission",
                    ":LifecycleScopeType/design",
                    ":LifecycleScopeType/development",
                    ":LifecycleScopeType/other",
                    ":LifecycleScopeType/runtime",
                    ":LifecycleScopeType/test",
                    ":LifecycleScopeType/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": [
                    ":SpecificationType/formalStandard",
                    ":SpecificationType/other",
                    ":SpecificationType/regulation",
                    ":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": {
                        "version": {
                            "$ref": "#/$defs/prop_hardware_Hardware_version"
                        },
                        "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_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_version": {
                    "type": "string"
        },
        "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_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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": {
                        "version": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_version"
                                    }
                                }
                            ]
                        },
                        "hardware_hazard": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_hardware_hazard"
                                    }
                                }
                            ]
                        },
                        "hardware_partNumber": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/$defs/prop_hardware_ProductSpecification_hardware_partNumber"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "hardware_partNumber"
                    ]
                }
            ]
        },
        "prop_hardware_ProductSpecification_version": {
                    "type": "string"
        },
        "prop_hardware_ProductSpecification_hardware_hazard": {
                "$ref": "#/$defs/DefinedType_derived"
        },
        "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": [
                    "hardware_:VirtualHardwareModelType/cycle",
                    "hardware_:VirtualHardwareModelType/function",
                    "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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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": [
                    "security_:CvssSeverityType/critical",
                    "security_:CvssSeverityType/high",
                    "security_:CvssSeverityType/low",
                    "security_:CvssSeverityType/medium",
                    "security_:CvssSeverityType/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": [
                    "security_:CvssSeverityType/critical",
                    "security_:CvssSeverityType/high",
                    "security_:CvssSeverityType/low",
                    "security_:CvssSeverityType/medium",
                    "security_:CvssSeverityType/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": [
                    "security_:ExploitCatalogType/kev",
                    "security_:ExploitCatalogType/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": [
                    "security_:SsvcDecisionType/act",
                    "security_:SsvcDecisionType/attend",
                    "security_:SsvcDecisionType/track",
                    "security_:SsvcDecisionType/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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)Z$"
                        }
                    ]
        },
        "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/Artifact_props" },
                {
                    "type": "object",
                    "properties": {
                        "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"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_service_SoftwareService_service_serverAuthenticationProtocol": {
                "enum": [
                    "service_:AuthenticationProtocolType/crl",
                    "service_:AuthenticationProtocolType/ocsp",
                    "service_:AuthenticationProtocolType/other",
                    "service_:AuthenticationProtocolType/tls"
                ]
        },
        "prop_service_SoftwareService_service_serviceHostingCountry": {
                    "pattern": "^[A-Z]{3}$",
                    "type": "string"
        },
        "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_downloadLocation": {
                            "$ref": "#/$defs/prop_software_SoftwareArtifact_software_downloadLocation"
                        },
                        "software_primaryPurpose": {
                            "$ref": "#/$defs/prop_software_SoftwareArtifact_software_primaryPurpose"
                        }
                    }
                }
            ]
        },
        "prop_software_SoftwareArtifact_software_additionalPurpose": {
                "enum": [
                    "software_:SoftwarePurpose/application",
                    "software_:SoftwarePurpose/archive",
                    "software_:SoftwarePurpose/bom",
                    "software_:SoftwarePurpose/configuration",
                    "software_:SoftwarePurpose/container",
                    "software_:SoftwarePurpose/data",
                    "software_:SoftwarePurpose/device",
                    "software_:SoftwarePurpose/deviceDriver",
                    "software_:SoftwarePurpose/diskImage",
                    "software_:SoftwarePurpose/documentation",
                    "software_:SoftwarePurpose/evidence",
                    "software_:SoftwarePurpose/executable",
                    "software_:SoftwarePurpose/file",
                    "software_:SoftwarePurpose/filesystemImage",
                    "software_:SoftwarePurpose/firmware",
                    "software_:SoftwarePurpose/framework",
                    "software_:SoftwarePurpose/install",
                    "software_:SoftwarePurpose/library",
                    "software_:SoftwarePurpose/manifest",
                    "software_:SoftwarePurpose/model",
                    "software_:SoftwarePurpose/module",
                    "software_:SoftwarePurpose/operatingSystem",
                    "software_:SoftwarePurpose/other",
                    "software_:SoftwarePurpose/patch",
                    "software_:SoftwarePurpose/platform",
                    "software_:SoftwarePurpose/requirement",
                    "software_:SoftwarePurpose/source",
                    "software_:SoftwarePurpose/specification",
                    "software_:SoftwarePurpose/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_downloadLocation": {
                    "$ref": "#/$defs/anyURI"
        },
        "prop_software_SoftwareArtifact_software_primaryPurpose": {
                "enum": [
                    "software_:SoftwarePurpose/application",
                    "software_:SoftwarePurpose/archive",
                    "software_:SoftwarePurpose/bom",
                    "software_:SoftwarePurpose/configuration",
                    "software_:SoftwarePurpose/container",
                    "software_:SoftwarePurpose/data",
                    "software_:SoftwarePurpose/device",
                    "software_:SoftwarePurpose/deviceDriver",
                    "software_:SoftwarePurpose/diskImage",
                    "software_:SoftwarePurpose/documentation",
                    "software_:SoftwarePurpose/evidence",
                    "software_:SoftwarePurpose/executable",
                    "software_:SoftwarePurpose/file",
                    "software_:SoftwarePurpose/filesystemImage",
                    "software_:SoftwarePurpose/firmware",
                    "software_:SoftwarePurpose/framework",
                    "software_:SoftwarePurpose/install",
                    "software_:SoftwarePurpose/library",
                    "software_:SoftwarePurpose/manifest",
                    "software_:SoftwarePurpose/model",
                    "software_:SoftwarePurpose/module",
                    "software_:SoftwarePurpose/operatingSystem",
                    "software_:SoftwarePurpose/other",
                    "software_:SoftwarePurpose/patch",
                    "software_:SoftwarePurpose/platform",
                    "software_:SoftwarePurpose/requirement",
                    "software_:SoftwarePurpose/source",
                    "software_:SoftwarePurpose/specification",
                    "software_:SoftwarePurpose/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": [
                    "supplychain_:ResponsibilityType/custody",
                    "supplychain_:ResponsibilityType/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_plannedTransportRoute": {
                            "anyOf": [
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/$defs/prop_supplychain_TransportProcess_supplychain_plannedTransportRoute"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "prop_supplychain_TransportProcess_supplychain_forDropoffLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportProcess_supplychain_forPickupLocation": {
                "$ref": "#/$defs/Location_derived"
        },
        "prop_supplychain_TransportProcess_supplychain_plannedTransportRoute": {
                    "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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)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[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|23:59:60)Z$"
                        }
                    ]
        },
        "prop_security_VexNotAffectedVulnAssessmentRelationship_security_justificationType": {
                "enum": [
                    "security_:VexJustificationType/componentNotPresent",
                    "security_:VexJustificationType/inlineMitigationsAlreadyExist",
                    "security_:VexJustificationType/vulnerableCodeCannotBeControlledByAdversary",
                    "security_:VexJustificationType/vulnerableCodeNotInExecutePath",
                    "security_:VexJustificationType/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": [
                    "software_:FileKindType/directory",
                    "software_:FileKindType/file",
                    "software_:FileKindType/symlink"
                ]
        },
        "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": {
                        "version": {
                            "$ref": "#/$defs/prop_software_Package_version"
                        },
                        "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_version": {
                    "type": "string"
        },
        "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": [
                    "software_:SbomType/analyzed",
                    "software_:SbomType/build",
                    "software_:SbomType/deployed",
                    "software_:SbomType/design",
                    "software_:SbomType/runtime",
                    "software_:SbomType/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": [
                    "supplychain_:ResponsibilityType/custody",
                    "supplychain_:ResponsibilityType/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": [
                    ":PresenceType/no",
                    ":PresenceType/noAssertion",
                    ":PresenceType/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": [
                    "ai_:SafetyRiskAssessmentType/high",
                    "ai_:SafetyRiskAssessmentType/low",
                    "ai_:SafetyRiskAssessmentType/medium",
                    "ai_:SafetyRiskAssessmentType/serious"
                ]
        },
        "prop_ai_AIPackage_ai_standardCompliance": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_typeOfModel": {
                    "type": "string"
        },
        "prop_ai_AIPackage_ai_useSensitivePersonalInformation": {
                "enum": [
                    ":PresenceType/no",
                    ":PresenceType/noAssertion",
                    ":PresenceType/yes"
                ]
        },
        "prop_ai_AIPackage_isoAutomationLevel": {
                "enum": [
                    ":IsoAutomationLevel/assistiveAutomation",
                    ":IsoAutomationLevel/autonomous",
                    ":IsoAutomationLevel/conditionalAutomation",
                    ":IsoAutomationLevel/fullAutomation",
                    ":IsoAutomationLevel/highAutomation",
                    ":IsoAutomationLevel/notAutomated",
                    ":IsoAutomationLevel/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": [
                    "dataset_:ConfidentialityLevelType/amber",
                    "dataset_:ConfidentialityLevelType/amberStrict",
                    "dataset_:ConfidentialityLevelType/clear",
                    "dataset_:ConfidentialityLevelType/green",
                    "dataset_:ConfidentialityLevelType/red"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_dataCollectionProcess": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_dataPreprocessing": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_datasetAvailability": {
                "enum": [
                    "dataset_:DatasetAvailabilityType/clickthrough",
                    "dataset_:DatasetAvailabilityType/directDownload",
                    "dataset_:DatasetAvailabilityType/query",
                    "dataset_:DatasetAvailabilityType/registration",
                    "dataset_:DatasetAvailabilityType/scrapingScript"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_datasetNoise": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_datasetSize": {
                    "type": "integer",
                    "minimum": 0
        },
        "prop_dataset_DatasetPackage_dataset_datasetType": {
                "enum": [
                    "dataset_:DatasetType/audio",
                    "dataset_:DatasetType/categorical",
                    "dataset_:DatasetType/graph",
                    "dataset_:DatasetType/image",
                    "dataset_:DatasetType/noAssertion",
                    "dataset_:DatasetType/numeric",
                    "dataset_:DatasetType/other",
                    "dataset_:DatasetType/sensor",
                    "dataset_:DatasetType/structured",
                    "dataset_:DatasetType/syntactic",
                    "dataset_:DatasetType/text",
                    "dataset_:DatasetType/timeseries",
                    "dataset_:DatasetType/timestamp",
                    "dataset_:DatasetType/video"
                ]
        },
        "prop_dataset_DatasetPackage_dataset_datasetUpdateMechanism": {
                    "type": "string"
        },
        "prop_dataset_DatasetPackage_dataset_hasSensitivePersonalInformation": {
                "enum": [
                    ":PresenceType/no",
                    ":PresenceType/noAssertion",
                    ":PresenceType/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",
                                "RequirementStatusType",
                                "Role",
                                "RoleRelationship",
                                "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",
                                "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",
                                "service_SoftwareService",
                                "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/RequirementStatusType" },
                { "$ref": "#/$defs/Role" },
                { "$ref": "#/$defs/RoleRelationship" },
                { "$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/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/service_SoftwareService" },
                { "$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" }
                    }
                }
            ]
        }
    }
}
