SPDX 2.2
type: Ontology
version IRI: http://spdx.org/rdf/terms/2.2
comment: This specification describes the SPDX® language, defined as a dictionary of named properties and classes using W3C's RDF Technology. SPDX® is a designed to allow the exchange of data about software packages. This information includes general information about the package, licensing information about the package as a whole, a manifest of files contained in the package and licensing information related to the contained files. Known issues:
version info: 2.2

term status
type: AnnotationProperty
term status: stable

algorithm
type: ObjectProperty
domain: Checksum
comment: Identifies the algorithm used to produce the subject Checksum. Currently, SHA-1 is the only supported algorithm. It is anticipated that other algorithms will be supported at a later time.
term status: stable

annotation
type: ObjectProperty
domain: SpdxElement
range: Annotation
comment: Provide additional information about an SpdxElement.
term status: stable

annotationType
type: ObjectProperty
domain: Annotation
range: Class
  union of: Restriction
    on property: annotationType
    has value: annotationType other
  union of: Restriction
    on property: annotationType
    has value: annotationType review
comment: Type of the annotation.
term status: stable

artifactOf
type: ObjectProperty
domain: SpdxElement
range: Project
comment: Indicates the project in which the SpdxElement originated. Tools must preserve doap:homepage and doap:name properties and the URI (if one is known) of doap:Project resources that are values of this property. All other properties of doap:Projects are not directly supported by SPDX and may be dropped when translating to or from some SPDX formats.
deprecated property: Deprecated as of version 2.1
term status: stable

checksum
type: ObjectProperty
domain: Class
  union of: File
  union of: Package
range: Checksum
comment: The checksum property provides a mechanism that can be used to verify that the contents of a File or Package have not changed.
term status: stable

creationInfo
type: ObjectProperty
domain: SpdxDocument
range: CreationInfo
comment: The creationInfo property relates an SpdxDocument to a set of information about the creation of the SpdxDocument.
term status: stable

crossRef
type: ObjectProperty
range: SimpleLicensingInfo
comment: Cross Reference Detail for a license SeeAlso URL

dataLicense
type: ObjectProperty
type: FunctionalProperty
domain: SpdxDocument
range: Restriction
  on property: dataLicense
  has value: CC0-1.0
comment: Compliance with the SPDX specification includes populating the SPDX fields therein with data related to such fields ("SPDX-Metadata"). The SPDX specification contains numerous fields where an SPDX document creator may provide relevant explanatory text in SPDX-Metadata. Without opining on the lawfulness of "database rights" (in jurisdictions where applicable), such explanatory text is copyrightable subject matter in most Berne Convention countries. By using the SPDX specification, or any portion hereof, you hereby agree that any copyright rights (as determined by your jurisdiction) in any SPDX-Metadata, including without limitation explanatory text, shall be subject to the terms of the Creative Commons CC0 1.0 Universal license. For SPDX-Metadata not containing any copyright rights, you hereby agree and acknowledge that the SPDX-Metadata is provided to you "as-is" and without any representations or warranties of any kind concerning the SPDX-Metadata, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non-infringement, or the absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
term status: stable

describesPackage
type: ObjectProperty
domain: SpdxDocument
range: Package
comment: The describesPackage property relates an SpdxDocument to the package which it describes.
term status: stable

externalDocumentRef
type: ObjectProperty
domain: SpdxDocument
comment: Identify any external SPDX documents referenced within this SPDX document.
term status: stable

externalRef
type: ObjectProperty
domain: Package
range: ExternalRef
comment: An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package.
term status: stable

fileDependency
type: ObjectProperty
domain: File
range: File
deprecated: This field is deprecated since SPDX 2.0 in favor of using Section 7 which provides more granularity about relationships.

fileType
type: ObjectProperty
domain: File
range: Class
  union of: Restriction
    on property: fileType
    has value: fileType archive
  union of: Restriction
    on property: fileType
    has value: fileType binary
  union of: Restriction
    on property: fileType
    has value: fileType other
  union of: Restriction
    on property: fileType
    has value: fileType source
comment: The type of the file.
term status: stable

hasExtractedLicensingInfo
type: ObjectProperty
domain: ExtractedLicensingInfo
domain: SpdxDocument
comment: Indicates that a particular ExtractedLicensingInfo was defined in the subject SpdxDocument.
term status: stable

hasFile
type: ObjectProperty
domain: Package
range: File
comment: Indicates that a particular file belongs to a package.
term status: stable

licenseConcluded
type: ObjectProperty
type: FunctionalProperty
domain: SpdxItem
range: Class
  union of: AnyLicenseInfo
  union of: Restriction
    on property: licenseConcluded
    has value: noassertion
  union of: Restriction
    on property: licenseConcluded
    has value: none
comment: The licensing that the preparer of this SPDX document has concluded, based on the evidence, actually applies to the package.
term status: stable

licenseDeclared
type: ObjectProperty
domain: SpdxItem
range: AnyLicenseInfo
comment: The licensing that the creators of the software in the package, or the packager, have declared. Declarations by the original software creator should be preferred, if they exist.
term status: stable

licenseException
type: ObjectProperty
domain: WithExceptionOperator
range: LicenseException
comment: An exception to a license.
term status: stable

licenseInfoFromFiles
type: ObjectProperty
domain: Package
range: Class
  union of: SimpleLicensingInfo
  union of: Restriction
    on property: licenseInfoFromFiles
    has value: noassertion
  union of: Restriction
    on property: licenseInfoFromFiles
    has value: none
comment: The licensing information that was discovered directly within the package. There will be an instance of this property for each distinct value of alllicenseInfoInFile properties of all files contained in the package.
term status: stable

licenseInfoInFile
type: ObjectProperty
sub property of: licenseInfoFromFiles
domain: File
range: Class
  union of: SimpleLicensingInfo
  union of: Restriction
    on property: licenseInfoInFile
    has value: noassertion
  union of: Restriction
    on property: licenseInfoInFile
    has value: none
comment: Licensing information that was discovered directly in the subject file. This is also considered a declared license for the file.
term status: deprecated

licenseInfoInSnippet
type: ObjectProperty
sub property of: licenseInfoFromFiles
domain: Snippet
range: Class
  union of: SimpleLicensingInfo
  union of: Restriction
    on property: licenseInfoInFile
    has value: noassertion
  union of: Restriction
    on property: licenseInfoInFile
    has value: none
comment: Licensing information that was discovered directly in the subject snippet. This is also considered a declared license for the snippet.
term status: stable

member
type: ObjectProperty
domain: Class
  union of: ConjunctiveLicenseSet
  union of: DisjunctiveLicenseSet
  union of: WithExceptionOperator
range: AnyLicenseInfo
comment: A license, or other licensing information, that is a member of the subject license set.
term status: stable

packageVerificationCode
type: ObjectProperty
domain: Package
range: PackageVerificationCode
comment: A manifest based verification code (the algorithm is defined in section 3.9.4 of the full specification) of the package. This allows consumers of this data and/or database to determine if a package they have in hand is identical to the package from which the data was produced. This algorithm works even if the SPDX document is included in the package.
term status: stable

range
type: ObjectProperty
domain: Snippet
range: CompoundPointer
comment: This field defines the byte range in the original host file (in X.2) that the snippet information applies to
term status: stable

referenceCategory
type: ObjectProperty
domain: ExternalRef
comment: Category for the external reference
term status: stable

referenceType
type: ObjectProperty
domain: ExternalRef
range: ReferenceType
comment: Type of the external reference. These are definined in an appendix in the SPDX specification.
term status: stable

referencesFile
type: ObjectProperty
domain: SpdxDocument
range: File
comment: Indicates that a particular file belongs as part of the set of analyzed files in the SpdxDocument.
deprecated property: This property has been replaced by a relationship between the SPDX document and file with a "contains" relationship type.
term status: deprecated

relatedSpdxElement
type: ObjectProperty
domain: Relationship
range: SpdxElement
comment: A related SpdxElement.
term status: stable

relationship
type: ObjectProperty
domain: SpdxElement
range: Relationship
comment: Defines a relationship between two SPDX elements. The SPDX element may be a Package, File, or SpdxDocument.
term status: stable

relationshipType
type: ObjectProperty
domain: Relationship
range: Class
  union of: Restriction
    on property: relationshipType
    has value: relationshipType amendment
  union of: Restriction
    on property: relationshipType
    has value: relationshipType ancestorOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType buildToolOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType containedBy
  union of: Restriction
    on property: relationshipType
    has value: relationshipType contains
  union of: Restriction
    on property: relationshipType
    has value: relationshipType copyOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType dataFile
  union of: Restriction
    on property: relationshipType
    has value: relationshipType dataFileOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType descendantOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType describedBy
  union of: Restriction
    on property: relationshipType
    has value: relationshipType describes
  union of: Restriction
    on property: relationshipType
    has value: relationshipType distributionArtifact
  union of: Restriction
    on property: relationshipType
    has value: relationshipType documentation
  union of: Restriction
    on property: relationshipType
    has value: relationshipType dynamicLink
  union of: Restriction
    on property: relationshipType
    has value: relationshipType expandedFromArchive
  union of: Restriction
    on property: relationshipType
    has value: relationshipType fileAdded
  union of: Restriction
    on property: relationshipType
    has value: relationshipType fileDeleted
  union of: Restriction
    on property: relationshipType
    has value: relationshipType fileModified
  union of: Restriction
    on property: relationshipType
    has value: relationshipType generatedFrom
  union of: Restriction
    on property: relationshipType
    has value: relationshipType generates
  union of: Restriction
    on property: relationshipType
    has value: relationshipType hasPrerequisite
  union of: Restriction
    on property: relationshipType
    has value: relationshipType metafileOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType optionalComponentOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType other
  union of: Restriction
    on property: relationshipType
    has value: relationshipType packageOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType patchApplied
  union of: Restriction
    on property: relationshipType
    has value: relationshipType patchFor
  union of: Restriction
    on property: relationshipType
    has value: relationshipType prerequisiteFor
  union of: Restriction
    on property: relationshipType
    has value: relationshipType staticLink
  union of: Restriction
    on property: relationshipType
    has value: relationshipType testcaseOf
  union of: Restriction
    on property: relationshipType
    has value: relationshipType variantOf
comment: Describes the type of relationship between two SPDX elements.
term status: stable

reviewed
type: ObjectProperty
domain: SpdxDocument
range: Review
type: NamedIndividual
comment: Reviewed
term status: deprecated
deprecated property: This property has been deprecated since SPDX version 2.0. It has been replaced by an Annotation with an annotation type review.

snippetFromFile
type: ObjectProperty
domain: Snippet
range: File
comment: File containing the SPDX element (e.g. the file contaning a snippet).
term status: stable

spdxDocument
type: ObjectProperty
domain: ExternalDocumentRef
range: SpdxDocument
comment: A property containing an SPDX document.
term status: stable

endPointer
type: ObjectProperty
domain: CompoundPointer
range: SinglePointer
term status: stable

reference
type: ObjectProperty
domain: SinglePointer
term status: stable

startPointer
type: ObjectProperty
domain: CompoundPointer
range: SinglePointer
term status: stable

annotationDate
type: DatatypeProperty
sub property of: date
domain: Annotation
range: dateTime
comment: Identify when the comment was made. This is to be specified according to the combined date and time in the UTC format, as specified in the ISO 8601 standard.
term status: stable

annotator
type: DatatypeProperty
domain: Annotation
range: string
type: NamedIndividual
term status: stable
comment: This field identifies the person, organization, or tool that has commented on a file, package, snippet, or the entire document.

attributionText
type: DatatypeProperty
domain: SpdxItem
range: string
comment: This field provides a place for the SPDX data creator to record acknowledgements that may be required to be communicated in some contexts. This is not meant to include the actual complete license text (see licenseConculded and licenseDeclared), and may or may not include copyright notices (see also copyrightText). The SPDX data creator may use this field to record other acknowledgements, such as particular clauses from license texts, which may be necessary or desirable to reproduce.
term status: stable

checksumValue
type: DatatypeProperty
type: FunctionalProperty
domain: Checksum
range: hexBinary
comment: The checksumValue property provides a lower case hexidecimal encoded digest value produced using a specific algorithm.
term status: stable

contextualExample
type: DatatypeProperty
domain: ReferenceType
range: anyURI
comment: Example for use of the external repository identifier
term status: stable

copyrightText
type: DatatypeProperty
domain: SpdxItem
range: Literal
range: string
comment: The text of copyright declarations recited in the Package or File.
term status: stable

created
type: DatatypeProperty
sub property of: date
domain: CreationInfo
range: dateTime
comment: Identify when the SPDX file was originally created. The date is to be specified according to combined date and time in UTC format as specified in ISO 8601 standard. This field is distinct from the fields in section 8, which involves the addition of information during a subsequent review.
term status: stable

creator
type: DatatypeProperty
domain: CreationInfo
range: string
comment: Identify who (or what, in the case of a tool) created the SPDX file. If the SPDX file was created by an individual, indicate the person's name. If the SPDX file was created on behalf of a company or organization, indicate the entity name. If the SPDX file was created using a software tool, indicate the name and version for that tool. If multiple participants or tools were involved, use multiple instances of this field. Person name or organization name may be designated as “anonymous” if appropriate.
term status: stable

date
type: DatatypeProperty
domain: Class
  union of: Annotation
  union of: CreationInfo
range: dateTime
comment: A date-time stamp.
term status: stable

deprecatedVersion
type: DatatypeProperty
domain: Class
  union of: ListedLicense
  union of: ListedLicenseException
range: string
comment: License list version where this license was decprecated
term status: stable

description
type: DatatypeProperty
domain: Package
range: string
comment: Provides a detailed description of the package.
term status: stable

documentation
type: DatatypeProperty
domain: ReferenceType
range: anyURI
comment: Website containing the documentation related to the repository identifier
term status: stable

downloadLocation
type: DatatypeProperty
domain: Package
range: anyURI
comment: The URI at which this package is available for download. Private (i.e., not publicly reachable) URIs are acceptable as values of this property. The values http://spdx.org/rdf/terms#none and http://spdx.org/rdf/terms#noassertion may be used to specify that the package is not downloadable or that no attempt was made to determine its download location, respectively.
term status: stable

example
type: DatatypeProperty
domain: LicenseException
range: string
comment: Text for examples in describing an SPDX element.
term status: stable

exceptionTextHtml
type: DatatypeProperty
domain: ListedLicenseException
range: string
comment: HTML representation of the License Exception Text
term status: stable

externalDocumentId
type: DatatypeProperty
domain: ExternalDocumentRef
range: anyURI
comment: externalDocumentId is a string containing letters, numbers, ., - and/or + which uniquely identifies an external document within this document.
term status: stable

externalReferenceSite
type: DatatypeProperty
domain: ReferenceType
range: anyURI
comment: Website for the maintainers of the external reference site
term status: stable

extractedText
type: DatatypeProperty
domain: ExtractedLicensingInfo
range: string
comment: Verbatim license or licensing notice text that was discovered.
term status: stable

fileContributor
type: DatatypeProperty
domain: File
range: string
comment: This field provides a place for the SPDX file creator to record file contributors. Contributors could include names of copyright holders and/or authors who may not be copyright holders yet contributed to the file content.
term status: stable

fileName
type: DatatypeProperty
sub property of: name
domain: File
range: string
comment: The name of the file relative to the root of the package.
term status: stable

filesAnalyzed
type: DatatypeProperty
domain: Package
range: boolean
comment: Indicates whether the file content of this package has been available for or subjected to analysis when creating the SPDX document. If false indicates packages that represent metadata or URI references to a project, product, artifact, distribution or a component. If set to false, the package must not contain any files.
term status: stable

isLive
type: DatatypeProperty
domain: CrossRef
range: boolean
comment: Indicate a URL is still a live accessible location on the public internet

isOsiApproved
type: DatatypeProperty
domain: License
range: boolean
comment: Indicates if the OSI has approved the license.
term status: stable

isValid
type: DatatypeProperty
domain: CrossRef
range: boolean
comment: True if the URL is a valid well formed URL

isWayBackLink
type: DatatypeProperty
domain: CrossRef
range: boolean
comment: True if the License SeeAlso URL points to a Wayback archive

licenseComments
type: DatatypeProperty
domain: SpdxItem
range: string
comment: The licenseComments property allows the preparer of the SPDX document to describe why the licensing in spdx:licenseConcluded was chosen.
term status: stable

licenseExceptionId
type: DatatypeProperty
domain: LicenseException
range: string
comment: Short form license exception identifier in Appendix I.2 of the SPDX specification.
term status: stable

licenseExceptionTemplate
type: DatatypeProperty
domain: LicenseException
range: string
comment: Template for matching license exception text
term status: stable

licenseExceptionText
type: DatatypeProperty
domain: LicenseException
range: string
comment: Full text of the license exception.
term status: stable

licenseId
type: DatatypeProperty
domain: SimpleLicensingInfo
range: string
comment: A human readable short form license identifier for a license. The license ID is either on the standard license list or the form "LicenseRef-"[idString] where [idString] is a unique string containing letters, numbers, ".", "-" or "+".
term status: stable

licenseListVersion
type: DatatypeProperty
type: FunctionalProperty
domain: CreationInfo
range: string
comment: An optional field for creators of the SPDX file to provide the version of the SPDX License List used when the SPDX file was created.
term status: stable

licenseText
type: DatatypeProperty
domain: License
range: string
comment: Full text of the license.
term status: stable

licenseTextHtml
type: DatatypeProperty
domain: ListedLicense
range: string
comment: License text in HTML format
term status: stable

match
type: DatatypeProperty
domain: CrossRef
range: string
comment: Status of a License List SeeAlso URL reference if it refers to a website that matches the license text.

name
type: DatatypeProperty
domain: SpdxElement
range: string
comment: Identify name of this SpdxElement.
term status: stable

noticeText
type: DatatypeProperty
domain: File
range: string
comment: This field provides a place for the SPDX file creator to record potential legal notices found in the file. This may or may not include copyright statements.
term status: stable

order
type: DatatypeProperty
range: nonNegativeInteger
comment: The ordinal order of this element within a list

originator
type: DatatypeProperty
domain: Package
range: string
comment: The name and, optionally, contact information of the person or organization that originally created the package. Values of this property must conform to the agent and tool syntax.

packageFileName
type: DatatypeProperty
domain: Package
range: string
comment: The base name of the package file name. For example, zlib-1.2.5.tar.gz.
term status: stable

packageName
type: DatatypeProperty
sub property of: name
domain: Package
range: string
comment: Identify the full name of the package as given by Package Originator.
term status: stable

packageVerificationCodeExcludedFile
type: DatatypeProperty
domain: PackageVerificationCode
range: string
comment: A file that was excluded when calculating the package verification code. This is usually a file containing SPDX data regarding the package. If a package contains more than one SPDX file all SPDX files must be excluded from the package verification code. If this is not done it would be impossible to correctly calculate the verification codes in both files.
term status: stable

packageVerificationCodeValue
type: DatatypeProperty
domain: PackageVerificationCode
range: hexBinary
comment: The actual package verification code as a hex encoded value.
term status: stable

referenceLocator
type: DatatypeProperty
domain: ExternalRef
range: anyURI
comment: The unique string with no spaces necessary to access the package-specific information, metadata, or content within the target location. The format of the locator is subject to constraints defined by the <type>.
term status: stable

reviewDate
type: DatatypeProperty
domain: Review
range: dateTime
comment: The date and time at which the SpdxDocument was reviewed. This value must be in UTC and have 'Z' as its timezone indicator.
deprecated property: Deprecated in favor of Annotation with an annotationType_review.
term status: deprecated

reviewer
type: DatatypeProperty
domain: Review
range: string
comment: The name and, optionally, contact information of the person who performed the review. Values of this property must conform to the agent and tool syntax.
deprecated property: The reviewer property is deprecated in favor of Annotation with an annotationType review.
term status: depcrecated

snippetName
type: DatatypeProperty
sub property of: name
domain: Snippet
range: string
comment: Identify a specific snippet in a human convenient manner.
term status: stable

sourceInfo
type: DatatypeProperty
domain: Package
range: string
comment: Allows the producer(s) of the SPDX document to describe how the package was acquired and/or changed from the original source.
term status: stable

specVersion
type: DatatypeProperty
domain: SpdxDocument
range: string
comment: Provide a reference number that can be used to understand how to parse and interpret the rest of the file. It will enable both future changes to the specification and to support backward compatibility. The version number consists of a major and minor version indicator. The major field will be incremented when incompatible changes between versions are made (one or more sections are created, modified or deleted). The minor field will be incremented when backwards compatible changes are made.

standardLicenseHeader
type: DatatypeProperty
domain: License
range: string
comment: License author's preferred text to indicated that a file is covered by the license.
term status: stable

standardLicenseHeaderHtml
type: DatatypeProperty
domain: ListedLicense
range: string
comment: HTML representation of the standard license header
term status: stable

standardLicenseHeaderTemplate
type: DatatypeProperty
domain: ListedLicense
range: string
comment: License template which describes sections of the license header which can be varied. See License Template section of the specification for format information.
term status: stable

standardLicenseTemplate
type: DatatypeProperty
domain: License
range: string
comment: License template which describes sections of the license which can be varied. See License Template section of the specification for format information.
term status: stable

summary
type: DatatypeProperty
domain: Package
range: string
comment: Provides a short description of the package.
term status: stable

supplier
type: DatatypeProperty
domain: Package
range: string
comment: The name and, optionally, contact information of the person or organization who was the immediate supplier of this package to the recipient. The supplier may be different than originator when the software has been repackaged. Values of this property must conform to the agent and tool syntax.
term status: stable

timestamp
type: DatatypeProperty
domain: CrossRef
range: dateTime
comment: Timestamp

url
type: DatatypeProperty
domain: CrossRef
range: anyURI
comment: URL Reference

versionInfo
type: DatatypeProperty
domain: Package
range: string
comment: Provides an indication of the version of the package that is described by this SpdxDocument.
term status: stable

homepage
type: DatatypeProperty
domain: Package
range: anyURI
term status: stable

lineNumber
type: DatatypeProperty
domain: LineCharPointer
range: positiveInteger
term status: stable

offset
type: DatatypeProperty
domain: OffsetPointer
range: positiveInteger
term status: stable

Annotation
type: Class
subclass of: Restriction
  on property: annotationType
  qualified cardinality: 1
  on class: AnnotationType
subclass of: Restriction
  on property: annotationDate
  qualified cardinality: 1
  on data range: dateTime
subclass of: Restriction
  on property: annotator
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  qualified cardinality: 1
  on data range: string
comment: An Annotation is a comment on an SpdxItem by an agent.
term status: stable

AnnotationType
type: Class
comment: This type describes the type of annotation. Annotations are usually created when someone reviews the file, and if this is the case the annotation type should be REVIEW.
term status: stable

AnyLicenseInfo
type: Class
comment: The AnyLicenseInfo class includes all resources that represent licensing information.
term status: stable

Checksum
type: Class
subclass of: Restriction
  on property: algorithm
  qualified cardinality: 1
  on class: ChecksumAlgorithm
subclass of: Restriction
  on property: checksumValue
  qualified cardinality: 1
  on data range: hexBinary
comment: A Checksum is value that allows the contents of a file to be authenticated. Even small changes to the content of the file will change its checksum. This class allows the results of a variety of checksum and cryptographic message digest algorithms to be represented.
term status: stable

ChecksumAlgorithm
type: Class
comment: Algorighm for Checksums.
term status: stable

ConjunctiveLicenseSet
type: Class
subclass of: AnyLicenseInfo
subclass of: Container
subclass of: Restriction
  on property: member
  min qualified cardinality: 2
  on class: AnyLicenseInfo
comment: A ConjunctiveLicenseSet represents a set of licensing information all of which apply.
term status: stable

CreationInfo
type: Class
subclass of: Restriction
  on property: creator
  min qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: created
  qualified cardinality: 1
  on data range: dateTimeStamp
subclass of: Restriction
  on property: licenseListVersion
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
comment: One instance is required for each SPDX file produced. It provides the necessary information for forward and backward compatibility for processing tools.
term status: stable

CrossRef
type: Class
subclass of: Restriction
  on property: url
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: isLive
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: isValid
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: isWayBackLink
  max qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: match
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: order
  max qualified cardinality: 1
  on data range: nonNegativeInteger
subclass of: Restriction
  on property: timestamp
  max qualified cardinality: 1
  on data range: dateTime
comment: Cross reference details for the a URL reference
term status: stable

DisjunctiveLicenseSet
type: Class
subclass of: AnyLicenseInfo
subclass of: Container
subclass of: Restriction
  on property: member
  min qualified cardinality: 2
  on class: AnyLicenseInfo
comment: A DisjunctiveLicenseSet represents a set of licensing information where only one license applies at a time. This class implies that the recipient gets to choose one of these licenses they would prefer to use.
term status: stable

ExternalDocumentRef
type: Class
subclass of: Restriction
  on property: checksum
  qualified cardinality: 1
  on class: Checksum
subclass of: Restriction
  on property: spdxDocument
  qualified cardinality: 1
  on class: SpdxDocument
subclass of: Restriction
  on property: externalDocumentId
  qualified cardinality: 1
  on data range: anyURI
comment: Information about an external SPDX document reference including the checksum. This allows for verification of the external references.
term status: stable

ExternalRef
type: Class
subclass of: Restriction
  on property: referenceCategory
  qualified cardinality: 1
  on class: ReferenceCategory
subclass of: Restriction
  on property: referenceType
  qualified cardinality: 1
  on class: ReferenceType
subclass of: Restriction
  on property: referenceLocator
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
comment: An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package.
term status: stable

ExtractedLicensingInfo
type: Class
subclass of: SimpleLicensingInfo
subclass of: Restriction
  on property: extractedText
  qualified cardinality: 1
  on data range: string
comment: An ExtractedLicensingInfo represents a license or licensing notice that was found in a package, file or snippet. Any license text that is recognized as a license may be represented as a License rather than an ExtractedLicensingInfo.
term status: stable

File
type: Class
subclass of: SpdxItem
subclass of: Restriction
  on property: artifactOf
  min qualified cardinality: 0
  on class: Project
subclass of: Restriction
  on property: checksum
  min qualified cardinality: 1
  on class: Checksum
subclass of: Restriction
  on property: fileDependency
  min qualified cardinality: 0
  on class: File
subclass of: Restriction
  on property: fileType
  min qualified cardinality: 0
  on class: FileType
subclass of: Restriction
  on property: licenseInfoInFile
  min qualified cardinality: 1
  on class: AnyLicenseInfo
subclass of: Restriction
  on property: fileContributor
  min qualified cardinality: 0
  on data range: string
subclass of: Restriction
  on property: fileName
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: noticeText
  max qualified cardinality: 1
  on data range: string
disjoint with: Snippet
comment: A File represents a named sequence of information that is contained in a software package.
term status: stable

FileType
type: Class
comment: Type of file.
term status: stable

License
type: Class
subclass of: SimpleLicensingInfo
subclass of: Restriction
  on property: isOsiApproved
  qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: licenseText
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: isDeprecatedLicenseId
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: isFsfLibre
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: standardLicenseHeader
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: standardLicenseHeaderTemplate
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: standardLicenseTemplate
  max qualified cardinality: 1
  on data range: string
comment: A License represents a copyright license. The SPDX license list website is annotated with these properties (using RDFa) to allow license data published there to be easily processed. The license list is populated in accordance with the License List fields guidelines. These guidelines are not normative and may change over time. SPDX tooling should not rely on values in the license list conforming to the current guidelines.
term status: stable

LicenseException
type: Class
subclass of: Restriction
  on property: seeAlso
  min qualified cardinality: 0
  on data range: anyURI
subclass of: Restriction
  on property: licenseExceptionId
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: licenseExceptionText
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: name
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: example
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: licenseExceptionTemplate
  max qualified cardinality: 1
  on data range: string
comment: An exception to a license.
term status: stable

ListedLicense
type: Class
subclass of: License
subclass of: Restriction
  on property: deprecatedVersion
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: isDeprecatedLicenseId
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: licenseTextHtml
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: standardLicenseHeaderHtml
  max qualified cardinality: 1
  on data range: string
comment: A license which is included in the SPDX License List (http://spdx.org/licenses).
term status: stable

ListedLicenseException
type: Class
subclass of: LicenseException
subclass of: Restriction
  on property: exceptionTextHtml
  max qualified cardinality: 1
  on data range: string
comment: License exception specific to ListedLicenses

OrLaterOperator
type: Class
subclass of: AnyLicenseInfo
subclass of: Restriction
  on property: member
  qualified cardinality: 1
  on class: SimpleLicensingInfo
comment: A license with an or later operator indicating this license version or any later version of the license
term status: stable

Package
type: Class
subclass of: SpdxItem
subclass of: Class
  union of: Restriction
    on property: licenseDeclared
    has value: noassertion
  union of: Restriction
    on property: licenseDeclared
    has value: none
  union of: Restriction
    on property: licenseDeclared
    qualified cardinality: 1
    on class: AnyLicenseInfo
subclass of: Restriction
  on property: checksum
  min qualified cardinality: 0
  on class: Checksum
subclass of: Restriction
  on property: externalRef
  min qualified cardinality: 0
  on class: ExternalRef
subclass of: Restriction
  on property: hasFile
  min qualified cardinality: 0
  on class: File
subclass of: Restriction
  on property: packageVerificationCode
  max qualified cardinality: 1
  on class: PackageVerificationCode
subclass of: Restriction
  on property: downloadLocation
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: description
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: filesAnalyzed
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: originator
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: packageFileName
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: sourceInfo
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: summary
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: supplier
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: versionInfo
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: homepage
  max qualified cardinality: 1
  on data range: anyURI
comment: A Package represents a collection of software files that are delivered as a single functional component.
term status: stable

PackageVerificationCode
type: Class
subclass of: Restriction
  on property: packageVerificationCodeExcludedFile
  min qualified cardinality: 0
  on data range: string
subclass of: Restriction
  on property: packageVerificationCodeValue
  qualified cardinality: 1
  on data range: hexBinary
comment: A manifest based verification code (the algorithm is defined in section 4.7 of the full specification) of the SPDX Item. This allows consumers of this data and/or database to determine if an SPDX item they have in hand is identical to the SPDX item from which the data was produced. This algorithm works even if the SPDX document is included in the SPDX item.
term status: stable

ReferenceCategory
type: Class
comment: Category used for ExternalRef
term status: stable

ReferenceType
type: Class
subclass of: Restriction
  on property: contextualExample
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: documentation
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: externalReferenceSite
  qualified cardinality: 1
  on data range: anyURI
comment: Types used to external reference identifiers.
term status: stable

Relationship
type: Class
subclass of: Restriction
  on property: relatedSpdxElement
  qualified cardinality: 1
  on class: SpdxElement
subclass of: Restriction
  on property: relationshipType
  qualified cardinality: 1
  on class: RelationshipType
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
comment: A Relationship represents a relationship between two SpdxElements.
term status: stable

RelationshipType
type: Class
comment: Type of relationship.
term status: stable

Review
type: Class
subclass of: Restriction
  on property: reviewDate
  qualified cardinality: 1
  on data range: dateTime
subclass of: Restriction
  on property: reviewer
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
deprecated class: This class has been deprecated in favor of an Annotation with an Annotation type of review.
term status: deprecated

SimpleLicensingInfo
type: Class
subclass of: AnyLicenseInfo
subclass of: Restriction
  on property: crossRef
  min qualified cardinality: 0
  on class: CrossRef
subclass of: Restriction
  on property: seeAlso
  min qualified cardinality: 0
  on data range: anyURI
subclass of: Restriction
  on property: licenseId
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: name
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
comment: The SimpleLicenseInfo class includes all resources that represent simple, atomic, licensing information.
term status: stable

Snippet
type: Class
subclass of: SpdxItem
subclass of: Restriction
  on property: licenseInfoInSnippet
  min qualified cardinality: 0
  on class: AnyLicenseInfo
subclass of: Restriction
  on property: range
  min qualified cardinality: 1
  on class: StartEndPointer
subclass of: Restriction
  on property: snippetFromFile
  qualified cardinality: 1
  on class: File
comment: The set of bytes in a file. The name of the snippet is the name of the file appended with the byte range in parenthesis (ie: "./file/name(2145:5532)")
term status: stable

SpdxDocument
type: Class
subclass of: SpdxElement
subclass of: Restriction
  on property: dataLicense
  has value: CC0-1.0
subclass of: Restriction
  on property: describesPackage
  min qualified cardinality: 0
  on class: Package
subclass of: Restriction
  on property: externalDocumentRef
  min qualified cardinality: 0
  on class: ExternalDocumentRef
subclass of: Restriction
  on property: hasExtractedLicensingInfo
  min qualified cardinality: 0
  on class: ExtractedLicensingInfo
subclass of: Restriction
  on property: reviewed
  min qualified cardinality: 0
  on class: Review
subclass of: Restriction
  on property: creationInfo
  qualified cardinality: 1
  on class: CreationInfo
subclass of: Restriction
  on property: dataLicense
  qualified cardinality: 1
  on class: AnyLicenseInfo
subclass of: Restriction
  on property: specVersion
  qualified cardinality: 1
  on data range: string
comment: An SpdxDocument is a summary of the contents, provenance, ownership and licensing analysis of a specific software package. This is, effectively, the top level of SPDX information.
term status: stable

SpdxElement
type: Class
subclass of: Restriction
  on property: annotation
  min qualified cardinality: 0
  on class: Annotation
subclass of: Restriction
  on property: relationship
  min qualified cardinality: 0
  on class: Relationship
subclass of: Restriction
  on property: name
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: comment
  max qualified cardinality: 1
  on data range: string
comment: An SpdxElement is any thing described in SPDX, either a document or an SpdxItem. SpdxElements can be related to other SpdxElements.
term status: stable

SpdxItem
type: Class
subclass of: SpdxElement
subclass of: Class
  union of: Restriction
    on property: licenseConcluded
    has value: noassertion
  union of: Restriction
    on property: licenseConcluded
    has value: none
  union of: Restriction
    on property: licenseConcluded
    qualified cardinality: 1
    on class: AnyLicenseInfo
subclass of: Restriction
  on property: licenseInfoFromFiles
  min qualified cardinality: 0
  on class: SimpleLicensingInfo
subclass of: Restriction
  on property: attributionText
  min qualified cardinality: 0
  on data range: string
subclass of: Restriction
  on property: copyrightText
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: licenseComments
  max qualified cardinality: 1
  on data range: string
comment: An SpdxItem is a potentially copyrightable work.
term status: stable

WithExceptionOperator
type: Class
subclass of: AnyLicenseInfo
subclass of: Restriction
  on property: licenseException
  qualified cardinality: 1
  on class: LicenseException
subclass of: Restriction
  on property: member
  qualified cardinality: 1
  on class: SimpleLicensingInfo
comment: Sometimes a set of license terms apply except under special circumstances. In this case, use the binary "WITH" operator to construct a new license expression to represent the special exception situation. A valid <license-expression> is where the left operand is a <simple-expression> value and the right operand is a <license-exception-id> that represents the special exception terms.
term status: stable

ByteOffsetPointer
type: Class
subclass of: OffsetPointer
subclass of: Restriction
  on property: offset
  qualified cardinality: 1
  on data range: positiveInteger
term status: stable

CompoundPointer
type: Class
subclass of: Pointer
term status: stable

LineCharPointer
type: Class
subclass of: OffsetPointer
subclass of: Restriction
  on property: lineNumber
  qualified cardinality: 1
  on data range: positiveInteger
term status: stable

OffsetPointer
type: Class
subclass of: SinglePointer
term status: stable

Pointer
type: Class
term status: stable

SinglePointer
type: Class
subclass of: Pointer
subclass of: Restriction
  on property: reference
  qualified cardinality: 1
  on class: File
term status: stable

StartEndPointer
type: Class
subclass of: CompoundPointer
subclass of: Restriction
  on property: endPointer
  qualified cardinality: 1
  on class: SinglePointer
subclass of: Restriction
  on property: startPointer
  qualified cardinality: 1
  on class: SinglePointer
term status: stable

annotationType other
type: NamedIndividual
type: AnnotationType
comment: Type of annotation which does not fit in any of the pre-defined annotation types.
term status: stable

annotationType review
type: NamedIndividual
type: AnnotationType
comment: A Review represents an audit and signoff by an individual, organization or tool on the information for an SpdxElement.
term status: stable

checksumAlgorithm md2
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was MD2
term status: stable

checksumAlgorithm md4
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was MD4
term status: stable

checksumAlgorithm md5
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was MD5
term status: stable

checksumAlgorithm md6
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was MD6
term status: stable

checksumAlgorithm sha1
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was SHA-1
term status: stable

checksumAlgorithm sha224
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was SHA224
term status: stable

checksumAlgorithm sha256
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was SHA256
term status: stable

checksumAlgorithm sha384
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was SHA384
term status: stable

checksumAlgorithm sha512
type: NamedIndividual
type: ChecksumAlgorithm
comment: Indicates the algorithm used was SHA512
term status: stable

fileType application
type: NamedIndividual
type: FileType
comment: The file is associated with a specific application type (MIME type of application/* )
term status: stable

fileType archive
type: NamedIndividual
type: FileType
comment: Indicates the file is an archive file.
term status: stable

fileType audio
type: NamedIndividual
type: FileType
comment: The file is associated with an audio file (MIME type of audio/* , ie. .mp3 ); IMAGE if the file is assoicated with an picture image file (MIME type of image/*, ie. .jpg, .gif )
term status: stable

fileType binary
type: NamedIndividual
type: FileType
comment: Indicates the file is not a text file. spdx:filetype_archive is preferred for archive files even though they are binary.
term status: stable

fileType documentation
type: NamedIndividual
type: FileType
comment: The file serves as documentation.
term status: stable

fileType image
type: NamedIndividual
type: FileType
comment: The file is assoicated with an picture image file (MIME type of image/*, ie. .jpg, .gif ).
term status: stable

fileType other
type: NamedIndividual
type: FileType
comment: Indicates the file is not a source, archive or binary file.
term status: stable

fileType source
type: NamedIndividual
type: FileType
comment: Indicates the file is a source code file.
term status: stable

fileType spdx
type: NamedIndividual
type: FileType
comment: The file is an SPDX document.
term status: stable

fileType text
type: NamedIndividual
type: FileType
comment: The file is human readable text file (MIME type of text/*).
term status: stable

fileType video
type: NamedIndividual
type: FileType
comment: The file is associated with a video file type (MIME type of video/*).
term status: stable

noassertion
type: NamedIndividual
comment: Individual to indiate the creator of the SPDX document does not assert any value for the object.

none
type: NamedIndividual
comment: Individual to indicate that no value is applicable for the Object.

referenceCategory other
type: NamedIndividual
type: ReferenceCategory
term status: stable

referenceCategory packageManager
type: NamedIndividual
type: ReferenceCategory
term status: stable

referenceCategory persistentId
type: NamedIndividual
type: ReferenceCategory
comment: These point to objects present in the Software Heritage archive by the means of persistent identifiers that are guaranteed to remain stable (persistent) over time.
term status: stable

referenceCategory security
type: NamedIndividual
type: ReferenceCategory
term status: stable

relationshipType amendment
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A amends the SPDX information in SPDXRef-B.
term status: stable

relationshipType ancestorOf
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_ancestorOf expresses that an SPDXElement is an ancestor of (same lineage but pre-dates) the relatedSPDXElement. For example, an upstream File is an ancestor of a modified downstream File
term status: stable

relationshipType buildDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a build dependency of SPDXRef-B.
term status: stable

relationshipType buildToolOf
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A is used to to build SPDXRef-B.
term status: stable

relationshipType containedBy
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_containedBy expresses that an SPDXElement is contained by the relatedSPDXElement. For example, a File contained by a Package.
term status: stable

relationshipType contains
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_contains expresses that an SPDXElement contains the relatedSPDXElement. For example, a Package contains a File. (relationshipType_contains introduced in SPDX 2.0 deprecates property 'hasFile' from SPDX 1.2)
term status: stable

relationshipType copyOf
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_copyOf expresses that the SPDXElement is an exact copy of the relatedSDPXElement. For example, a downstream distribution of a binary library which was copied from the upstream package.
term status: stable

relationshipType dataFile
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a data file used in SPDXRef-B. Replaced by relationshipType_dataFileOf
term status: deprecated

relationshipType dataFileOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a data file used in SPDXRef-B.
term status: stable

relationshipType dependencyManifestOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B.
term status: stable

relationshipType dependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is dependency of SPDXRef-B.
term status: stable

relationshipType dependsOn
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A depends on SPDXRef-B.
term status: stable

relationshipType descendantOf
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_descendantOf expresses that an SPDXElement is a descendant of (same lineage but post-dates) the relatedSPDXElement. For example, an downstream File that was modified is a descendant of an upstream File
term status: stable

relationshipType describedBy
type: NamedIndividual
type: RelationshipType
comment: Is to be used an SPDXRef-A is described by SPDXRef-Document.
term status: stable

relationshipType describes
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A.
term status: stable

relationshipType devDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a development dependency of SPDXRef-B.
term status: stable

relationshipType devToolOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a development dependency of SPDXRef-B.
term status: stable

relationshipType distributionArtifact
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_distributionArtifact expresses that distributing the SPDXElement requires that the relatedSPDXElement also be distributed. For example, distributing a binary File may require that a source tarball (another File) be made available with the distribuiton.
term status: stable

relationshipType documentation
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A provides documentation of SPDXRef-B.
term status: stable

relationshipType dynamicLink
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A dynamically links to SPDXRef-B.
term status: stable

relationshipType exampleOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is an example of SPDXRef-B.
term status: stable

relationshipType expandedFromArchive
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_expandedFromArchive expresses that the SPDXElement is a file which was epanded from a relatedSPDXElement file. For example, if there is an archive file xyz.tar.gz containing a file foo.c the archive file was expanded in a directory arch/xyz, the file arch/xyz/foo.c would have a relationshipType_expandedFromArchive with the file xyz.tar.gz.
term status: stable

relationshipType fileAdded
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_fileAdded expresses that the SPDXElement is a file which has been added to the relatedSPDXElement package. For example, a package (the relatedSPDXElement) has been patched to remove a file (the SPDXElement). This relationship is typically used to express the result of a patched package when the actual patchfile is not present.
term status: stable

relationshipType fileDeleted
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_fileDeleted expresses that the SPDXElement is a package where the relatedSPDXElement file has been removed. For example, a package has been patched to remove a file a file (the relatedSPDXElement resulting in the patched package (the SPDXElement). This relationship is typically used to express the result of a patched package when the actual patchfile is not present.
term status: stable

relationshipType fileModified
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_fileModified expresses that the SPDXElement is a file which is a modified version of the relatedSPDXElement file. For example, a file (the SPDXElement) has been patched to modify the contents of the original file (the SPDXElement). This relationship is typically used to express the result of a patched package when the actual patchfile is not present.
term status: stable

relationshipType generatedFrom
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_generatedFrom expresses that an SPDXElement was generated from the relatedSPDXElement. For example, a binary File might have been generated from a source File.
term status: stable

relationshipType generates
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_generates expresses that an SPDXElement generates the relatedSPDXElement. For example, a source File generates a binary File.
term status: stable

relationshipType hasPrerequisite
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B.
term status: stable

relationshipType metafileOf
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A is a metafile of SPDXRef-B.
term status: stable

relationshipType optionalComponentOf
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A is an optional component of SPDXRef-B.
term status: stable

relationshipType optionalDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B.
term status: stable

relationshipType other
type: NamedIndividual
type: RelationshipType
comment: to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field.
term status: stable

relationshipType packageOf
type: NamedIndividual
type: RelationshipType
comment: To be used when SPDXRef-A is used as a package as part of SPDXRef-B.
term status: stable

relationshipType patchApplied
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_patchApplied expresses that the SPDXElement is a 'patchfile' that was applied and produced the relatedSPDXElement. For example, a .diff File relates to a specific file where the diff was applied.
term status: stable

relationshipType patchFor
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_patchFor expresses that the SPDXElement is a 'patchfile' that is designed to patch (apply modifications to) the relatedSPDXElement. For example, relationship from a .diff File to a Package it is designed to patch.
term status: stable

relationshipType prerequisiteFor
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B
term status: stable

relationshipType providedDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B.
term status: stable

relationshipType runtimeDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B.
term status: stable

relationshipType staticLink
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A statically links to SPDXRef-B.
term status: stable

relationshipType testDependencyOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a test dependency of SPDXRef-B.
term status: stable

relationshipType testOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is used for testing SPDXRef-B.
term status: stable

relationshipType testToolOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B.
term status: stable

relationshipType testcaseOf
type: NamedIndividual
type: RelationshipType
comment: Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B.
term status: stable

relationshipType variantOf
type: NamedIndividual
type: RelationshipType
comment: A Relationship of relationshipType_variantOf expresses that an SPDXElement is a variant of the relatedSPDXElement, but it is not clear which came first. For example, if the content of two Files differs by some edit, but there is no way to tell which came first (no reliable date information), then one File is a variant of the other File.
term status: stable

qualified cardinality: 1