AbstractPackage
Summary
Refers to an abstract, conceptual software entity.
Description
An AbstractPackage represents an abstract, conceptual software entity, independent of any specific version, supplier, or packaging format. It serves as a high-level identifier for a piece of software, such as "Linux kernel", "OpenSSL," or "Log4j".
The primary purpose of a AbstractPackage is to group multiple related software Packages and to be able to act as a central point for storing metadata that is common across all those packages. This might include information like the project's primary license, its official homepage, or its originating author or organization.
Since there might be relationships between AbstractPackages and between AbstractPackages and Packages, values of different properties might be different. The precedence rule is that every attribute of a more specific entity overwrites attribute values of a more general entity. This way, property values of a Package are always valid; if they do not exist and the package is an instanceOf an AbstractPackage, then the properties of this AbstractPackage are taken. The chain may continue further to more AbstractPackages, as long as there are "parent" AbstractPackage and no values have been specified.
A Package shall have no more than one hasInstance relationship from AbstractPackage Elements.
It should be noted that this class will rarely appear in SBOMs, where exact Packages should be listed.
Metadata
https://spdx.org/rdf/3/terms/Software/AbstractPackage
| Name | AbstractPackage |
| Instantiability | Concrete |
| SubclassOf | /Core/Element |
Class hierarchy
/Core/Element
/Software/AbstractPackage
Properties
| Property | Type | minCount | maxCount |
|---|---|---|---|
| attributionText | xsd:string | 0 | * |
| copyrightText | xsd:string | 0 | * |
| homePage | xsd:anyURI | 0 | * |
| packageVersion | xsd:string | 0 | 1 |
| sourceInfo | xsd:string | 0 | 1 |
External properties cardinality updates
| Property | minCount | maxCount |
|---|---|---|
| name from /Core/Element | 1 |
All properties
| Property | Type | minCount | maxCount |
|---|---|---|---|
| attributionText | xsd:string | 0 | * |
| comment | xsd:string | 0 | 1 |
| copyrightText | xsd:string | 0 | * |
| creationInfo | CreationInfo | 1 | 1 |
| description | xsd:string | 0 | 1 |
| extension | Extension | 0 | * |
| externalIdentifier | ExternalIdentifier | 0 | * |
| externalRef | ExternalRef | 0 | * |
| homePage | xsd:anyURI | 0 | * |
| name | xsd:string | 1 | 1 |
| packageVersion | xsd:string | 0 | 1 |
| sourceInfo | xsd:string | 0 | 1 |
| spdxId | xsd:anyURI | 1 | 1 |
| summary | xsd:string | 0 | 1 |
| verifiedUsing | IntegrityMethod | 0 | * |