has tag
comment: Links a package to its RPM tags
IAO_0000115: Associates an RPM package with its metadata tags stored in the package header.
range: RPM Tag
type: ObjectProperty
domain: RPM Package

SRPM Creation
subclass of: PackagingActivity
comment: The process of creating a source RPM package
IAO_0000115: An activity that packages source code, patches, and spec file into a source RPM (SRPM) package.
type: Class

file name
range: string
comment: Name of a file contained in the package
domain: RPM Package
IAO_0000115: Specifies the full path and name of a file contained within the RPM package.
type: DatatypeProperty

release
IAO_0000115: Specifies the release number of the package, used to distinguish between different builds of the same version.
type: FunctionalProperty
type: DatatypeProperty
comment: The release number of the package
domain: Version
range: string
sub property of: release

RPM Package
subclass of: Restriction
  cardinality: 1
  on property: build time
type: Class
subclass of: Restriction
  cardinality: 1
  on property: has NEVR
IAO_0000115: A software package in Red Hat Package Manager (RPM) format that can be managed by RPM-based package managers like YUM, DNF, or Zypper.
subclass of: Restriction
  on property: partOfDistribution
  some values from: Distribution
subclass of: Package
subclass of: Restriction
  on property: release
  cardinality: 1
comment: A package in RPM format

patch count
type: DatatypeProperty
domain: Source RPM
comment: Total number of patches in the SRPM
IAO_0000115: The total number of patch files contained in the source RPM package, providing a quick measure of divergence from the upstream source.
range: integer

repomd
range: string
IAO_0000115: The repository metadata in repomd.xml format that describes the repository structure and contents.
comment: Repository metadata (repomd.xml) content
type: DatatypeProperty
domain: RPM Repository

has NEVR
domain: RPM Package
comment: Links a package to its NEVR identifier
range: NEVR
IAO_0000115: Associates an RPM package with its Name-Epoch-Version-Release identifier.
type: ObjectProperty

epoch
IAO_0000115: An optional integer that allows package maintainers to force a version ordering when the normal version comparison would be incorrect.
domain: Version
sub property of: epoch
range: int
comment: The epoch version number (optional, defaults to 0)
type: FunctionalProperty
type: DatatypeProperty

packager
domain: RPM Package
type: DatatypeProperty
IAO_0000115: Identifies the person or organization responsible for creating the RPM package, typically including name and email address.
comment: The person or entity who packaged the software
range: string

payload compressor
type: DatatypeProperty
domain: RPM Package
IAO_0000115: Specifies the compression algorithm used to compress the package payload, such as gzip, bzip2, or xz.
range: string
comment: The compression method used for the payload

vendor
comment: The vendor of the package
IAO_0000115: Identifies the vendor or organization that distributed this RPM package.
domain: RPM Package
range: string
type: DatatypeProperty

Source RPM
subclass of: RPM Package
comment: An RPM source package (SRPM) containing source code and spec file
IAO_0000115: An RPM source package containing source code, patches, and a spec file with build instructions used to create one or more binary RPM packages.
subclass of: SourcePackage
type: Class

on package
domain: RPM Dependency
comment: Links a dependency relationship to the target package
range: RPM Package
IAO_0000115: The target package of a dependency relationship.
type: ObjectProperty

RPM Tag
comment: A metadata tag in an RPM header
IAO_0000115: A metadata field in the RPM package header that stores specific information about the package, such as name, version, dependencies, or file attributes.
subclass of: Thing
type: Class

build requires
IAO_0000115: Specifies packages that must be installed to build this source RPM package.
type: ObjectProperty
domain: Source RPM
sub property of: buildDependsOn
range: RPM Package
comment: Build-time dependency relationship

provides
IAO_0000115: Indicates that this RPM package provides the functionality of another package or virtual package name.
type: ObjectProperty
sub property of: provides
comment: Virtual package provision

file size
domain: RPM Package
IAO_0000115: Specifies the size in bytes of a file contained in the RPM package.
type: DatatypeProperty
range: long
comment: Size of a file in bytes

changelog author
domain: Changelog
type: DatatypeProperty
range: string
IAO_0000115: Identifies the person who authored a specific changelog entry, typically including name and email address.
comment: The author of a changelog entry

platform
type: DatatypeProperty
comment: The platform string (arch-os-vendor)
domain: RPM Package
IAO_0000115: Specifies the target platform for the package in the format architecture-operating_system-vendor.
range: string

in group
domain: RPM Package
range: RPM Group
IAO_0000115: Associates an RPM package with its functional group classification.
comment: Links a package to its RPM group
type: ObjectProperty

upstream status
type: DatatypeProperty
domain: Patch
range: string
comment: Status of the patch relative to upstream (backport, forwardPort, vendorSpecific, upstreamAccepted, upstreamRejected)
IAO_0000115: The status of the patch relative to the upstream project, indicating whether it is a backport from a newer version, a forward port, a vendor-specific change, or has been accepted or rejected upstream. Valid values: backport, forwardPort, vendorSpecific, upstreamAccepted, upstreamRejected.

NEVR
subclass of: Thing
type: Class
IAO_0000115: A unique identifier for RPM packages consisting of Name, Epoch, Version, and Release components that determines package ordering and upgrade relationships.
comment: Name-Epoch-Version-Release identifier for RPM packages

RPM signature
range: string
domain: RPM Package
IAO_0000115: The cryptographic signature used to verify the authenticity and integrity of the RPM package.
type: DatatypeProperty
comment: The cryptographic signature of the RPM package

RPM version
domain: RPM Package
comment: The version of RPM used to build the package
type: DatatypeProperty
range: string
IAO_0000115: Specifies the version of the RPM package manager that was used to create this package.

build host
comment: The hostname where the package was built
domain: RPM Package
type: DatatypeProperty
IAO_0000115: Specifies the hostname of the machine where the RPM package was compiled and built.
range: string

file group
domain: RPM Package
range: string
type: DatatypeProperty
comment: Unix group of a file
IAO_0000115: Specifies the Unix group ownership of a file contained in the RPM package.

makes obsolete
sub property of: replaces
IAO_0000115: Indicates that this RPM package makes another package obsolete and should replace it during upgrades.
comment: Package obsolescence relationship
type: ObjectProperty

Binary RPM
IAO_0000115: A compiled RPM package containing executable binaries, libraries, configuration files, and metadata that can be installed using YUM, DNF, or rpm command.
subclass of: BinaryPackage
subclass of: RPM Package
comment: A binary RPM package containing compiled software
subclass of: Restriction
  cardinality: 1
  on property: source RPM
type: Class

RPM Package Ontology
description: A comprehensive ontology for modeling RPM packages, YUM/DNF repositories, NEVR identifiers, and RPM-specific metadata including build information, changelogs, and file attributes.
creator: packagegraph.github.io
created: 2025-09-05
comment: Ontology for representing RPM packages and YUM/DNF repositories
imports: core#
imports: vcs#
version info: 0.7.0
license: https://creativecommons.org/publicdomain/zero/1.0/
modified: 2026-04-21
prior version: https://purl.org/packagegraph/ontology/rpm/0.6.0
abstract: The RPM extension specializes PackageGraph Core for Fedora, RHEL, CentOS, and other RPM-based distributions. It models NEVRA (Name-Epoch-Version-Release-Architecture) identifiers, source RPMs, RPM groups, build changelogs, and file attributes. Packages are dual-typed as both pkg:BinaryPackage and rpm:BinaryRPM, enabling unified queries across RPM and Debian ecosystems.
version IRI: https://purl.org/packagegraph/ontology/rpm/0.7.0
type: Ontology

generated by
range: RPM Build Activity
IAO_0000115: Associates an RPM package with the specific build activity that created it using rpmbuild.
type: ObjectProperty
comment: Links an RPM package to the build activity that created it
sub property of: wasGeneratedBy
domain: RPM Package

file mode
comment: Unix file permissions mode
IAO_0000115: Specifies the Unix file permissions (mode bits) for a file contained in the RPM package.
type: DatatypeProperty
domain: RPM Package
range: int

file digest
domain: RPM Package
comment: Cryptographic digest of a file
type: DatatypeProperty
IAO_0000115: A cryptographic hash (typically MD5, SHA1, or SHA256) of a file contained in the RPM package for integrity verification.
range: string

mirror list
range: anyURI
domain: RPM Repository
comment: URL to the list of repository mirrors
type: DatatypeProperty
IAO_0000115: The URL that provides a list of mirror servers for this repository.

built from SRPM
sub property of: wasGeneratedBy
comment: Links a binary RPM to the SRPM creation activity that produced its source
type: ObjectProperty
IAO_0000115: Associates a binary RPM with the SRPM creation activity that produced the source package from which it was built.
domain: Binary RPM
range: SRPM Creation

requires
IAO_0000115: Specifies packages or capabilities that must be available for this RPM package to function properly at runtime.
comment: Runtime dependency relationship
sub property of: dependsOn
type: ObjectProperty

build time
type: DatatypeProperty
comment: The timestamp when the package was built
IAO_0000115: Records the date and time when the RPM package was compiled and built.
domain: RPM Package
type: FunctionalProperty
range: dateTime

source RPM
range: string
comment: The filename of the source RPM this package was built from
domain: Binary RPM
IAO_0000115: Specifies the filename of the source RPM package from which this binary RPM was built.
type: DatatypeProperty

RPM Dependency
comment: A dependency relationship in RPM, potentially with version constraints
subclass of: Dependency
type: Class
IAO_0000115: Represents a dependency relationship between RPM packages, which can include version constraints and flags.

Changelog
comment: A changelog entry for an RPM package
IAO_0000115: A record of changes made to an RPM package, including version updates, bug fixes, and feature additions, with associated timestamps and author information.
subclass of: Thing
type: Class

patch name
IAO_0000115: The filename of the patch as it appears in the SRPM and spec file.
domain: Patch
range: string
type: FunctionalProperty
comment: The filename of the patch
type: DatatypeProperty

distribution tag
domain: RPM Package
range: string
comment: The distribution tag (e.g., fc35, el8)
IAO_0000115: A short identifier indicating the specific distribution version for which the package was built, such as fc35 for Fedora 35 or el8 for RHEL 8.
type: DatatypeProperty

version constraint
type: DatatypeProperty
range: string
IAO_0000115: A string specifying the version constraint for a dependency, such as '>= 1.2.3', '< 2.0', or '= 1.5'.
comment: A version constraint for a dependency (e.g., '>= 1.2.3')
domain: RPM Dependency

RPM signature key ID
domain: RPM Package
IAO_0000115: The identifier of the GPG key used to sign the RPM package.
type: DatatypeProperty
comment: The key ID used to sign the RPM package
range: string

cookie
type: DatatypeProperty
domain: RPM Package
range: string
type: FunctionalProperty
comment: An opaque identifier for tracking packages from the same build
IAO_0000115: An opaque identifier used to group packages that were built together in the same build session or batch.

install time
comment: When this package was installed (if applicable)
IAO_0000115: The date and time when this RPM package was installed on a system.
range: dateTime
domain: RPM Package
type: DatatypeProperty

changelog text
IAO_0000115: Contains the descriptive text of a changelog entry detailing the changes made in a package version.
domain: Changelog
type: DatatypeProperty
comment: The text content of a changelog entry
range: string

NEVR string
domain: NEVR
range: string
comment: The complete NEVR string representation
IAO_0000115: The complete Name-Epoch-Version-Release string in standard RPM format.
type: DatatypeProperty

GPG key URL
comment: URL to the repository's GPG signing key
range: anyURI
domain: RPM Repository
type: DatatypeProperty
IAO_0000115: The URL where the GPG public key for verifying repository packages can be downloaded.

file owner
range: string
domain: RPM Package
type: DatatypeProperty
IAO_0000115: Specifies the Unix user ownership of a file contained in the RPM package.
comment: Unix owner of a file

optimization flags
IAO_0000115: Specifies the compiler optimization flags that were used when building the software in this RPM package.
type: DatatypeProperty
range: string
comment: The compiler optimization flags used during build
domain: RPM Package

conflicts
sub property of: conflicts
comment: Package conflict relationship
IAO_0000115: Indicates that this RPM package conflicts with another package and they cannot be installed simultaneously.
type: ObjectProperty

RPM Repository
subclass of: Restriction
  some values from: Repository
  on property: hasUpstreamRepository
IAO_0000115: A repository containing RPM packages that can be accessed and managed through YUM, DNF, or other RPM-based package managers.
comment: A repository containing RPM packages accessible via YUM/DNF
type: Class
subclass of: Repository

build architecture
comment: The architecture this RPM was built on
type: DatatypeProperty
range: string
domain: RPM Package
IAO_0000115: The architecture of the build system where this RPM package was compiled.

relocatable
domain: RPM Package
IAO_0000115: Indicates whether the RPM package can be installed to a different location than its default prefix.
comment: Whether the package can be relocated during installation
type: DatatypeProperty
range: boolean

version comparison
domain: NEVR
IAO_0000115: A numeric representation that allows for proper version ordering and comparison of NEVR identifiers.
comment: Numeric value for version comparison ordering
range: long
type: DatatypeProperty

RPM Build Activity
IAO_0000115: An activity that uses rpmbuild to compile source code and create an RPM package from a spec file and source materials.
type: Class
comment: The process of building an RPM package using rpmbuild
subclass of: BuildActivity

changelog time
range: dateTime
domain: Changelog
IAO_0000115: Records the date and time when a changelog entry was created or when the associated changes were made.
type: DatatypeProperty
comment: The timestamp of a changelog entry

has patch
comment: Links an SRPM to a patch it contains
domain: Source RPM
range: Patch
IAO_0000115: Associates a source RPM with an individual patch file it contains.
type: ObjectProperty

has changelog
IAO_0000115: Associates an RPM package with its changelog entries that document the history of changes.
type: ObjectProperty
comment: Links a package to its changelog entries
range: Changelog
domain: RPM Package

distribution
type: DatatypeProperty
range: string
domain: RPM Package
comment: The distribution name (e.g., Fedora, RHEL)
IAO_0000115: Identifies the Linux distribution for which this RPM package was built, such as Fedora, Red Hat Enterprise Linux, or CentOS.

Documentation
type: RPM Group
comment: Documentation files

Applications
comment: Application software group
type: RPM Group

used spec file
IAO_0000115: Associates an RPM build activity with the spec file that contained the build instructions.
type: ObjectProperty
domain: RPM Build Activity
sub property of: used
comment: Links an RPM build activity to the spec file it used

Patch
IAO_0000115: An individual patch file applied on top of upstream source code in an SRPM, representing a distro-specific modification such as a backport, configuration change, or vendor-specific customization.
type: Class
subclass of: Thing
comment: A distro-specific patch applied to upstream source in an SRPM

Spec File Processing
IAO_0000115: An activity that parses an RPM spec file and executes its build instructions to create an RPM package.
comment: The process of parsing and executing an RPM spec file
type: Class
subclass of: Activity

patch description
domain: Patch
IAO_0000115: A human-readable description of what the patch modifies and why.
range: string
comment: Description of what the patch does
type: DatatypeProperty

payload format
type: DatatypeProperty
range: string
comment: The format of the package payload (typically cpio)
domain: RPM Package
IAO_0000115: Specifies the archive format used for the package payload, typically cpio.

RPM Group
IAO_0000115: A hierarchical classification system for organizing RPM packages by functionality or purpose, such as Applications, Development, or System Environment.
subclass of: Thing
type: Class
comment: A categorical grouping of RPM packages (e.g., Development/Tools)

Development
comment: Development tools and libraries
type: RPM Group

System Environment
comment: System environment software
type: RPM Group