Arch Linux Package Ontology
type: Ontology
imports: core#
abstract: The Arch Linux extension models Pacman packages, PKGBUILD build scripts, split packages, package groups, and the Arch User Repository (AUR). It captures Arch-specific metadata such as build options, checksums, packager signatures, and repository tiers (core, extra, multilib).
created: 2025-09-05
creator: PackageGraph Project
description: A comprehensive ontology for modeling Arch Linux packages, PKGBUILD files, AUR packages, and Pacman repositories including build dependencies, split packages, and package groups.
license: https://creativecommons.org/publicdomain/zero/1.0/
modified: 2026-04-21
comment: Ontology for representing Arch Linux packages, PKGBUILD files, and Pacman repositories
prior version: https://purl.org/packagegraph/ontology/pacman/0.6.0
version info: 0.7.0

applicable architecture
type: ObjectProperty
domain: Dependency
range: Architecture
IAO_0000115: Specifies the architecture(s) for which this dependency applies. Many package ecosystems support architecture-conditional dependencies: RPM allows architecture qualifiers in Requires directives (e.g., glibc is required on x86_64 but not wasm), Debian allows architecture restrictions in Build-Depends fields (e.g., [amd64] [arm64]). When omitted, the dependency applies to all architectures.
comment: The architecture(s) for which this dependency applies (architecture-conditional dependencies)

build depends on
type: ObjectProperty
sub property of: depends on
domain: Source Package
range: Package
IAO_0000115: A relationship indicating that one package is required to compile or build a source package from its source code, but is not required for the resulting binary packages to function.
comment: Indicates a build-time dependency that is required to build the source package but not needed at runtime.

built from source
type: ObjectProperty
sub property of: wasDerivedFrom
inverse of: produced binary
type: AsymmetricProperty
domain: Binary Package
range: Source Package
IAO_0000115: Associates a binary package with the source package from which it was compiled, enabling grouping of related binary outputs.
comment: Links a binary package to the source package it was built from

check requires
type: ObjectProperty
sub property of: depends on
domain: Source Package
range: Package
IAO_0000115: A test-time dependency required to run a source package's test suite but not needed for building or runtime. Used in RPM BuildRequires with check context.
comment: Indicates a test-time dependency for running the package's test suite

conflicts
type: ObjectProperty
type: SymmetricProperty
type: IrreflexiveProperty
domain: Package
range: Package
IAO_0000115: A symmetric relationship indicating that two packages cannot be installed simultaneously on the same system due to incompatibilities or resource conflicts. If package A conflicts with package B, then B conflicts with A.
comment: Indicates that a package cannot be installed alongside another package (symmetric relationship)

contained in
type: ObjectProperty
inverse of: contains
domain: Package
range: Repository
IAO_0000115: A relationship that associates a software package with the repository where it is stored and made available for distribution.
comment: Links a package to the repository that contains it

contains
type: ObjectProperty
domain: Repository
range: Package
IAO_0000115: A relationship that associates a repository with the packages it hosts and makes available for distribution.
comment: Links a repository to the packages it contains

contributes to
type: ObjectProperty
domain: Contributor
range: Repository
IAO_0000115: Associates a contributor role with repositories it contributes to, enabling analysis of contributor activity across repositories.
comment: Links a contributor role to repositories it contributes to. Conceptually related to hasContributor (Repository→Agent convenience shortcut), but not formally inverse to avoid OntoClean role/identity collapse.

contributor organization
type: ObjectProperty
domain: Contributor
range: Organization
IAO_0000115: Associates a contributor with the organization they are affiliated with, enabling analysis of contributor diversity and organizational representation in package maintenance.
comment: Links a contributor to their affiliated organization

cross-distribution alternative
type: ObjectProperty
type: SymmetricProperty
domain: Package
range: Package
IAO_0000115: Associates packages from different distributions that provide similar functionality or serve analogous purposes. This is a correspondence assertion, not formal equivalence — it is symmetric but intentionally NOT transitive, as cross-distribution package equivalence is context-dependent (e.g., Debian libssl-dev corresponds to Fedora openssl-devel, but Alpine equivalents may differ in ABI or capabilities).
comment: Links packages that serve similar functions across distributions. Intentionally non-transitive: A~B and B~C does not imply A~C.

dependency target
type: ObjectProperty
domain: Dependency
range: Package
IAO_0000115: Identifies the specific package that satisfies a dependency, linking the reified Dependency to its target Package.
comment: The package that a dependency relationship targets

dependency type
type: ObjectProperty
domain: Dependency
IAO_0000115: Classifies the nature of a dependency relationship by linking the reified Dependency node directly to the formal property predicate that defines its semantics. Values are property URIs (pkg:dependsOn, pkg:buildDependsOn, pkg:recommends, etc.) using OWL 2 punning. This harmonizes the dual-model: the reified node references the exact shortcut predicate it represents, unifying what was previously a disconnected magic string with the traversable property hierarchy.
comment: The type of dependency relationship, represented by the URI of the corresponding shortcut property

depends on
type: ObjectProperty
inverse of: is dependency of
domain: Package
range: Package
IAO_0000115: A relationship indicating that one package requires another package to be present and functional in order to operate correctly.
comment: Indicates that a package requires another package to function

derived from
type: ObjectProperty
domain: Distribution
range: Distribution
IAO_0000115: Specifies that one distribution is based on or derived from another distribution's codebase and package set.
comment: Indicates that one distribution is derived from another

derived from commit
type: ObjectProperty
sub property of: wasDerivedFrom
domain: Package
range: Commit
IAO_0000115: Associates a package with the specific VCS commit from which it was built, enabling precise source-to-binary traceability and build reproducibility verification.
comment: Links a package to the VCS commit it was built from

derived from distribution
type: ObjectProperty
domain: Distribution
range: Distribution
IAO_0000115: Indicates that one distribution is derived from another (e.g., Ubuntu from Debian, CentOS from RHEL), establishing distribution lineage for package tracking.
comment: Indicates that one distribution is derived from another

directly conflicts with
type: ObjectProperty
sub property of: conflicts
type: SymmetricProperty
domain: Package
range: Package
IAO_0000115: A direct conflict relationship between packages, providing an efficient query path for identifying incompatible packages.
comment: Direct conflict relationship between packages for efficient querying

directly depends on
type: ObjectProperty
sub property of: depends on
inverse of: is direct dependency of
domain: Package
range: Package
property chain axiom: has dependency
property chain axiom: dependency target
IAO_0000115: A direct dependency relationship between packages, providing an efficient query path that bypasses the detailed dependency metadata structure. This property is a materialized convenience shortcut semantically grounded by the property chain axiom: if X hasDependency D and D dependencyTarget Y, then X directlyDependsOn Y. For version constraint details, traverse the Dependency reification.
comment: Materialized convenience shortcut of the hasDependency → dependencyTarget chain. For version constraint details, traverse the Dependency reification. NOTE: owl:propertyChainAxiom requires OWL 2 reasoning to materialize — Fuseki without OWL reasoning will not auto-derive this property from hasDependency chains.

directly provides
type: ObjectProperty
sub property of: provides
domain: Package
range: Package
IAO_0000115: A direct provision relationship indicating that one package provides the functionality of another, optimized for efficient dependency resolution queries.
comment: Direct provision relationship between packages for efficient querying

ecosystem package
type: ObjectProperty
domain: Upstream Project
range: Package Identity
IAO_0000115: Links an upstream project to package identities in various ecosystems (PyPI, npm, Cargo, etc.). Enables queries like 'what packages from different ecosystems come from the same project'.
comment: Links an upstream project to a package identity in a specific ecosystem

enhances
type: ObjectProperty
sub property of: depends on
domain: Package
range: Package
IAO_0000115: A reverse-direction weak dependency indicating that installing this package enhances the functionality of the target package. Used in Debian Enhances tag. If package A enhances package B, installing A provides additional features to B.
comment: Indicates that this package enhances another package's functionality

excluded architecture
type: ObjectProperty
domain: Package Identity
range: Architecture
IAO_0000115: Indicates an architecture on which this package is known to be unavailable due to architectural constraints or hardware requirements, not build failures. Used to distinguish missing packages from architecturally impossible ones.
comment: Indicates an architecture on which this package is known to be unavailable due to architectural constraints

has ABI
type: ObjectProperty
domain: Package
range: Application Binary Interface
IAO_0000115: Associates a package with the application binary interface it conforms to.
comment: Links a package to its application binary interface

has account
type: ObjectProperty
domain: Person
range: Contributor Account
IAO_0000115: Associates a person with a ContributorAccount representing their identity on a specific platform (e.g., GitHub username, Fedora Account System login, Debian maintainer email).
comment: Links a person to their platform account identifier

has checksum
type: ObjectProperty
domain: Package
range: Checksum
IAO_0000115: Associates a package with a Checksum instance containing a hash value and algorithm.
comment: Links a package to one of its checksums

has contributor
type: ObjectProperty
domain: Repository
range: Agent
IAO_0000115: Convenience property linking a repository directly to the agents (Person or SoftwareAgent) contributing to it. For detailed role information, traverse via contribution role assignments.
comment: Links a repository directly to contributing agents (persons or software agents). Conceptually related to contributesTo (Contributor→Repository), but not formally inverse to avoid OntoClean role/identity collapse.

has dependency
type: ObjectProperty
domain: Package
range: Dependency
IAO_0000115: Associates a package with a structured dependency that captures the target package, version constraints, and dependency type. Detailed dependency with type and version constraint. The directlyDependsOn shortcut provides a simpler graph traversal path for queries that don't need constraint details.
comment: Links a package to a reified dependency relationship with version constraints. The directlyDependsOn property provides a materialized shortcut (via owl:propertyChainAxiom) for simpler traversal.

has instruction set architecture
type: ObjectProperty
domain: Package
range: Instruction Set Architecture
IAO_0000115: Associates a binary package with the specific instruction set architecture it was compiled for.
comment: Links a package to its instruction set architecture

has license
type: ObjectProperty
domain: Package
range: License
IAO_0000115: A relationship that associates a software package with the legal license under which it is distributed and may be used.
comment: Links a package to its license

has maintainer role
type: ObjectProperty
domain: Maintainer
range: Maintainer Role
IAO_0000115: Associates a maintainer with their specific role and responsibilities for packages.
comment: Links a maintainer to their specific role

has maintenance role
type: ObjectProperty
domain: Package
range: Maintainer
IAO_0000115: Associates a package with a Maintainer role assignment, providing access to role type (via hasMaintainerRole), start date (via maintainerSince), and the agent holding the role (via heldBy).
comment: Links a package to a maintenance role assignment providing detailed role metadata

has package
type: ObjectProperty
domain: Package Identity
range: Binary Package
IAO_0000115: The inverse relationship of isVersionOf, linking a package identity to all versioned binary packages that belong to it. Enables efficient 'list all versions of package X' queries from the identity node.
comment: Links a package identity to its versioned binary package instances.

has release
type: ObjectProperty
domain: Distribution
range: Distribution Release
IAO_0000115: Associates a distribution with a specific versioned release, such as Debian 12 or Fedora 41.
comment: Links a distribution to one of its releases

has upstream project
type: ObjectProperty
domain: Source Package
range: Upstream Project
IAO_0000115: Associates a source package with the upstream open source project that it packages for distribution.
comment: Links a source package to the upstream project it packages

has version
type: ObjectProperty
inverse of: version of
domain: Package
range: Version
IAO_0000115: A relationship that associates a software package with a specific version or release of that package.
comment: Links a package to one of its versions

has version constraint
type: ObjectProperty
domain: Dependency
range: Version Constraint
IAO_0000115: Associates a dependency with a structured version constraint that specifies acceptable version ranges.
comment: Links a dependency to a structured version constraint

held by
type: ObjectProperty
inverse of: holds role
domain: Contributor
range: Agent
IAO_0000115: The inverse of holdsRole — links a role assignment to the agent (Person or SoftwareAgent) holding it, enabling representation of both human maintainers and automated bot contributors.
comment: Links a role assignment back to the agent (person or software agent) who holds it

holds role
type: ObjectProperty
domain: Agent
range: Contributor
IAO_0000115: Associates an agent (Person or SoftwareAgent) with a contribution or maintenance role assignment.
comment: Links an agent (person or software agent) to a contributor or maintainer role they hold

installs file
type: ObjectProperty
domain: Binary Package
range: Installed File
IAO_0000115: Associates a binary package with a file it installs on the target filesystem.
comment: Links a binary package to a file it installs on the system

is dependency of
type: ObjectProperty
domain: Package
range: Package
IAO_0000115: The inverse relationship of dependsOn, indicating that this package is required by another package.
comment: Indicates that this package is a dependency of another package

is direct dependency of
type: ObjectProperty
sub property of: is dependency of
domain: Package
range: Package
IAO_0000115: The inverse relationship of directlyDependsOn, indicating that this package is a direct dependency of another package. Critical for blast radius analysis - enables efficient queries for 'what directly depends on this package'.
comment: Indicates that this package is a direct dependency of another package

is provided by
type: ObjectProperty
inverse of: provides
domain: Package
range: Package
IAO_0000115: The inverse relationship of provides, indicating that this package's functionality is offered by another package.
comment: Indicates that this package's functionality is provided by another package

is replaced by
type: ObjectProperty
inverse of: replaces
domain: Package
range: Package
IAO_0000115: The inverse relationship of replaces, indicating that this package is superseded by another package.
comment: Indicates that this package is replaced by another package

is version of
type: ObjectProperty
inverse of: has package
domain: Binary Package
range: Package Identity
IAO_0000115: Associates a specific versioned binary package with the canonical package identity it belongs to. Enables queries that traverse from a versioned instance to all other versions of the same package.
comment: Links a versioned binary package to its version-agnostic package identity.

maintained by
type: ObjectProperty
sub property of: wasAttributedTo
inverse of: maintains
domain: Package
range: Agent
IAO_0000115: Convenience property linking a package directly to the agent (Person or SoftwareAgent) maintaining it. For detailed role metadata (role type, start date), use hasMaintenanceRole.
comment: Links a package directly to the agent (person or software agent) maintaining it

maintains
type: ObjectProperty
domain: Agent
range: Package
IAO_0000115: The inverse of maintainedBy, linking an agent (Person or SoftwareAgent) to the packages they maintain.
comment: Links an agent (person or software agent) to the packages they maintain

managed by
type: ObjectProperty
inverse of: manages
domain: Repository
range: Package Manager
IAO_0000115: A relationship that associates a package repository with the package management system that controls and provides access to it.
comment: Links a repository to the package manager that manages it

manages
type: ObjectProperty
domain: Package Manager
range: Repository
IAO_0000115: A relationship that associates a package manager with the repositories it controls and provides access to.
comment: Links a package manager to the repositories it manages

member of package set
type: ObjectProperty
domain: Package
range: Package Set
IAO_0000115: Associates a package with a named package set that it belongs to, enabling classification of packages into product-specific or distribution-specific groupings.
comment: Links a package to a package set it belongs to

packaging repository
type: ObjectProperty
domain: Package Identity
range: Source Code Repository
IAO_0000115: Associates a package identity with the distribution-specific repository that contains the packaging metadata (debian/ directory, spec files, patches). Distinct from the upstream repository — packaging repos are distro-specific while upstream repos are universal.
comment: The distribution-specific packaging repository (e.g., Debian Salsa, Fedora dist-git). Contains packaging rules, patches, and build configuration.

part of distribution
type: ObjectProperty
range: Distribution
IAO_0000115: Associates packages, repositories, or other components with their parent distribution.
comment: Links packages or repositories to their parent distribution

part of ecosystem
type: ObjectProperty
domain: Distribution
range: Package Ecosystem
IAO_0000115: Associates a distribution with the broader package ecosystem it belongs to.
comment: Links a distribution to its broader ecosystem

part of release
type: ObjectProperty
range: Distribution Release
IAO_0000115: Associates packages, repositories, or other components with a specific versioned release of a distribution.
comment: Links packages or repositories to a specific distribution release

performed by
type: ObjectProperty
sub property of: wasAssociatedWith
domain: Packaging Activity
range: Agent
IAO_0000115: Associates a packaging activity with the agent (person, organization, or automated system) that performed it.
comment: Links a packaging activity to the agent that performed it

pre-depends
type: ObjectProperty
sub property of: depends on
domain: Package
range: Package
IAO_0000115: A strict dependency that must be fully installed and configured before this package can even be unpacked. Stronger than regular depends. Used in Debian Pre-Depends tag for critical system dependencies.
comment: Indicates a pre-installation dependency (stronger than regular depends)

produced binary
type: ObjectProperty
domain: Source Package
range: Binary Package
IAO_0000115: Associates a source package with the binary packages produced by building it.
comment: Links a source package to binary packages it produces

project repository
type: ObjectProperty
domain: Upstream Project
range: Source Code Repository
IAO_0000115: Links an upstream project to its primary source code repository. Makes UpstreamProject the central hub for cross-ecosystem identity - connect all ecosystem packages to the project, then to the shared repository.
comment: Links an upstream project to its VCS repository

provides
type: ObjectProperty
domain: Package
range: Package
IAO_0000115: A relationship indicating that one package offers the same functionality or interface as another package, potentially serving as a substitute or alternative implementation.
comment: Indicates that a package provides the functionality of another package

provides capability
type: ObjectProperty
domain: Package
range: Capability
IAO_0000115: Associates a package with a capability it provides, such as a shared library (libssl.so.3), virtual package name, or other functionality. Critical for shared library dependency resolution - enables 'what provides this .so' queries.
comment: Links a package to a capability it provides

recommends
type: ObjectProperty
sub property of: depends on
domain: Package
range: Package
IAO_0000115: A weak dependency relationship suggesting that installing the target package enhances functionality but is not required. Used in Debian Recommends and RPM Recommends tags. If package A recommends package B, A works without B but gains features when B is present.
comment: Suggests installing another package for enhanced functionality

release contains
type: ObjectProperty
inverse of: part of release
domain: Distribution Release
range: Package
IAO_0000115: Links a distribution release to packages it contains, enabling efficient 'what packages are in this release' queries.
comment: Links a distribution release to packages it contains

replaces
type: ObjectProperty
type: AsymmetricProperty
type: IrreflexiveProperty
domain: Package
range: Package
IAO_0000115: An asymmetric relationship indicating that one package is intended to supersede and replace another package, typically during system upgrades or package transitions. If package A replaces package B, then package B does not replace package A.
comment: Indicates that a package replaces another package (asymmetric relationship)

requires capability
type: ObjectProperty
domain: Package
range: Capability
IAO_0000115: Associates a package with a capability it requires, such as a shared library (libssl.so.3), virtual package name, or other functionality. Critical for shared library dependency resolution - enables 'what requires this .so' queries and CVE blast radius analysis.
comment: Links a package to a capability it requires

satisfies capability
type: ObjectProperty
domain: Installed File
range: Capability
IAO_0000115: Links an installed file (typically a shared library .so artifact) to the abstract capability it satisfies, closing the loop between filesystem artifacts and package dependency requirements. This shortcut enables efficient queries for shared library resolution analysis: which specific file provides libssl.so.3?
comment: The abstract capability that this installed file satisfies (typically for shared libraries)

suggests
type: ObjectProperty
sub property of: depends on
domain: Package
range: Package
IAO_0000115: An even weaker dependency relationship than recommends, indicating that the target package may be useful in certain contexts but is not typically needed. Used in Debian Suggests and RPM Suggests tags.
comment: Suggests another package that may be useful in some scenarios

superseded by
type: ObjectProperty
domain: Package
range: Package
IAO_0000115: Indicates that this package's functionality has been absorbed into another package due to subpackage reorganization across architectures or builds. Used to track packages that exist on some arches but are merged into others on different arches.
comment: Indicates that this package's functionality has been absorbed into another package (subpackage reorganization)

supersedes
type: ObjectProperty
inverse of: superseded by
domain: Package
range: Package
IAO_0000115: Indicates that this package absorbs the functionality of another package, typically due to subpackage consolidation or reorganization across architectures.
comment: Indicates that this package absorbs the functionality of another package

supplements
type: ObjectProperty
sub property of: depends on
domain: Package
range: Package
IAO_0000115: Indicates that this package supplements the functionality of another package, working in tandem with it. Used in some Debian-derived distributions.
comment: Indicates that this package supplements another package

supported architecture
type: ObjectProperty
domain: Source Package
range: Architecture
IAO_0000115: Associates a source package with an architecture it declares support for building, as declared in the source package control file.
comment: An architecture that the source package can be built for

target architecture
type: ObjectProperty
domain: Package
range: Architecture
IAO_0000115: A relationship that associates a software package with the specific hardware or system architecture for which it has been compiled or designed.
comment: Links a package to the architecture it targets

upstream ecosystem
type: ObjectProperty
domain: Package
range: Package Ecosystem
IAO_0000115: Links a package to the upstream software ecosystem it originates from, enabling ecosystem-level cross-referencing and analysis. The Ecosystem entity allows traversal to all packages from that ecosystem rather than matching string literals.
comment: The upstream package ecosystem entity (cargo, pypi, npm, gomod, etc.)

upstream equivalent
type: ObjectProperty
type: SymmetricProperty
domain: Package Identity
range: Package Identity
IAO_0000115: Symmetric relationship between package identities from different ecosystems that represent the same software (e.g., Debian python3-requests ↔ PyPI requests). Enables bidirectional cross-ecosystem identity queries.
comment: This package identity is equivalent to another package identity from a different ecosystem

upstream package identity
type: ObjectProperty
domain: Package Identity
range: Package Identity
IAO_0000115: Links a distribution package identity to the upstream package identity in the native ecosystem (e.g., Debian python3-requests → PyPI requests). Replaces dead-end upstreamPackageName literal with a traversable object property - critical for supply chain analysis.
comment: Links to the upstream package identity in its native ecosystem

upstream repository
type: ObjectProperty
inverse of: has package
domain: Package Identity
range: Source Code Repository
IAO_0000115: Associates a package identity with the canonical upstream source code repository. This is the primary cross-distribution identity anchor — packages from different distros that share the same upstream repository are the same software, regardless of package name.
comment: The upstream VCS repository this package is built from. Derived from Homepage/URL when it points to a known forge, or from dist-git spec files.

used dependency
type: ObjectProperty
sub property of: used
domain: Build Activity
range: Package
IAO_0000115: Associates a build activity with the packages or dependencies it required during the build process.
comment: Links a build activity to dependencies it required

used source
type: ObjectProperty
sub property of: used
domain: Packaging Activity
range: Entity
IAO_0000115: Associates a packaging activity with the source code, files, or other materials it used as input.
comment: Links a packaging activity to source materials it used

version of
type: ObjectProperty
domain: Version
range: Package
IAO_0000115: The inverse relationship of hasVersion, linking a version back to the package it belongs to. Critical for security queries that start from an affected version and need to find the package.
comment: Links a version to the package it belongs to

was built by
type: ObjectProperty
sub property of: wasGeneratedBy
domain: Package
range: Build Activity
IAO_0000115: Associates a package with the specific build activity that compiled and created it from source materials.
comment: Links a package to the build activity that created it

AUR maintainer
type: ObjectProperty
domain: Arch Package
range: Maintainer
IAO_0000115: Identifies the current maintainer of an AUR package.
comment: Links to the AUR package maintainer

AUR submitter
type: ObjectProperty
domain: Arch Package
range: Contributor
IAO_0000115: Identifies the person who originally submitted the package to the AUR.
comment: Links to the original submitter of the AUR package

built from
type: ObjectProperty
domain: Arch Package
range: PKGBUILD
IAO_0000115: Relates an Arch package to the PKGBUILD file that was used to build it.
comment: Links a package to the PKGBUILD it was built from. Conceptually related to vcs:packagedFromTag (both express 'built from source material') but semantically incompatible ranges (pacman:PKGBUILD vs vcs:Tag).

check depends
type: ObjectProperty
domain: PKGBUILD
range: Arch Package
IAO_0000115: A dependency required only when running the package's test suite during the build process.
comment: Test-time dependency

conflicts
type: ObjectProperty
sub property of: conflicts
IAO_0000115: A package that cannot be installed simultaneously with this package due to file conflicts or incompatibility.
comment: Package conflict

depends
type: ObjectProperty
sub property of: depends on
IAO_0000115: A runtime dependency that must be installed for the package to function correctly.
comment: Runtime dependency

has SRCINFO
type: ObjectProperty
domain: PKGBUILD
range: SRCINFO
IAO_0000115: Relates a PKGBUILD to its corresponding .SRCINFO metadata file that contains parsed package information.
comment: Links a PKGBUILD to its corresponding .SRCINFO file

in group
type: ObjectProperty
domain: Arch Package
range: Package Group
IAO_0000115: Relates a package to the logical group it belongs to for organizational and installation purposes.
comment: Links a package to the group it belongs to

make depends
type: ObjectProperty
sub property of: build depends on
domain: PKGBUILD
range: Arch Package
IAO_0000115: A build-time dependency required to compile the package but not needed at runtime.
comment: Build-time dependency

optional depends
type: ObjectProperty
domain: Arch Package
range: Arch Package
IAO_0000115: An optional dependency that provides additional functionality but is not required for basic operation.
comment: Optional dependency

part of split
type: ObjectProperty
domain: Split Package
range: Split Package
IAO_0000115: Relates split packages that are built from the same PKGBUILD and share the same pkgbase.
comment: Links a split package to other packages in the same split

provides
type: ObjectProperty
sub property of: provides
IAO_0000115: A virtual package or capability that this package provides, allowing it to satisfy dependencies on that virtual package.
comment: Virtual package provision

replaces
type: ObjectProperty
sub property of: replaces
IAO_0000115: A package that this package is intended to replace, typically used during package transitions or renames.
comment: Package replacement

split package base
type: ObjectProperty
domain: Split Package
range: Arch Package
IAO_0000115: Identifies the primary or base package in a group of split packages.
comment: Links to the base package in a split package group

added file
type: ObjectProperty
sub property of: affects file
IAO_0000115: Indicates files that were newly created and added to the repository in this commit.
comment: Files added in this commit

affects file
type: ObjectProperty
domain: Commit
range: File
IAO_0000115: Indicates that a commit modifies, adds, deletes, or otherwise affects the specified file.
comment: Commit affects these files

authored by
type: ObjectProperty
sub property of: wasAttributedTo
domain: Commit
range: Contributor
IAO_0000115: Identifies the person who originally wrote the changes contained in the commit.
comment: Person who authored the commit

committed by
type: ObjectProperty
sub property of: wasAttributedTo
domain: Commit
range: Contributor
IAO_0000115: Identifies the person who applied the changes to the repository, which may differ from the original author.
comment: Person who committed the changes

corresponding package version
type: ObjectProperty
domain: Release
IAO_0000115: Associates a VCS release with the package version that was built from this release.
comment: Links a VCS release to the corresponding package version

deleted file
type: ObjectProperty
sub property of: affects file
IAO_0000115: Indicates files that were removed from the repository in this commit.
comment: Files deleted in this commit

has branch
type: ObjectProperty
domain: Source Code Repository
range: Branch
IAO_0000115: Associates a repository with the branches it contains.
comment: Links repository to branches

has commit
type: ObjectProperty
domain: Source Code Repository
range: Commit
IAO_0000115: Associates a repository or branch with the commits it contains.
comment: Links repository or branch to commits

has file
type: ObjectProperty
range: File
IAO_0000115: Associates a commit or repository with the files it contains or affects.
comment: Links commit or repository to files

has package
type: ObjectProperty
domain: Source Code Repository
range: Package Identity
IAO_0000115: The inverse relationship of pkg:upstreamRepository, linking a VCS repository to the package identities that use it as their upstream source. Enables efficient 'what packages come from this repository' queries.
comment: Links a repository to the packages that are built from it

has release notes
type: ObjectProperty
domain: Release
range: Release Notes
IAO_0000115: Associates a release with its accompanying release notes or changelog documentation.
comment: Links a release to its documentation

has tag
type: ObjectProperty
domain: Source Code Repository
range: Tag
IAO_0000115: Associates a repository with the tags it contains.
comment: Links repository to tags

has target
type: ObjectProperty
domain: Milestone
range: Release
IAO_0000115: Associates a development milestone with its target release.
comment: Links milestone to target release

has upstream repository
type: ObjectProperty
range: Source Code Repository
IAO_0000115: Associates an upstream project or package with the version control repository where its source code is maintained.
comment: Links an upstream project or package to its source repository

modified file
type: ObjectProperty
sub property of: affects file
IAO_0000115: Indicates files that had their content changed in this commit.
comment: Files modified in this commit

next release
type: ObjectProperty
inverse of: previous release
domain: Release
range: Release
IAO_0000115: Identifies the next release in the chronological sequence of releases.
comment: Links to the next release in sequence

packaged from commit
type: ObjectProperty
sub property of: wasDerivedFrom
range: Commit
IAO_0000115: Associates a package with the specific commit from which it was built.
comment: Indicates which commit a package was built from

packaged from tag
type: ObjectProperty
sub property of: wasDerivedFrom
range: Tag
IAO_0000115: Associates a package with the specific VCS tag or release from which it was built.
comment: Indicates which VCS tag a package was built from

parent commit
type: ObjectProperty
sub property of: wasDerivedFrom
domain: Commit
range: Commit
IAO_0000115: Identifies the preceding commit(s) in the repository history from which this commit was derived.
comment: Parent commit(s) of this commit

points to
type: ObjectProperty
domain: VCS Reference
range: Commit
IAO_0000115: Indicates that a reference or tag points to a specific commit in the repository.
comment: Reference or tag points to a commit

previous release
type: ObjectProperty
sub property of: wasDerivedFrom
domain: Release
range: Release
IAO_0000115: Identifies the previous release in the chronological sequence of releases.
comment: Links to the previous release in sequence

released by
type: ObjectProperty
sub property of: wasAttributedTo
domain: Release
range: Contributor
IAO_0000115: Identifies the person or organization responsible for publishing and announcing the release.
comment: Person or organization who published the release

renamed file
type: ObjectProperty
sub property of: affects file
IAO_0000115: Indicates files that were moved or renamed in this commit.
comment: Files renamed in this commit

account platform
type: DatatypeProperty
domain: Contributor Account
range: string
IAO_0000115: Identifies the platform or service where a contributor account is registered, such as GitHub, Debian, Fedora, or GitLab.
comment: The platform or service where the account exists

account URL
type: DatatypeProperty
domain: Contributor Account
range: anyURI
IAO_0000115: The web URL of a contributor's profile page on a specific platform.
comment: The URL of the contributor's profile on the platform

account username
type: DatatypeProperty
domain: Contributor Account
range: string
IAO_0000115: The username, login, or unique identifier of a contributor on a specific platform.
comment: The username or identifier on the platform

active contributor
type: DatatypeProperty
domain: Contributor
range: boolean
IAO_0000115: Indicates whether a contributor is currently active in package development or maintenance.
comment: Whether the contributor is currently active

activity duration
type: DatatypeProperty
domain: Activity
range: duration
IAO_0000115: The total time duration required to complete a packaging-related activity.
comment: How long a packaging activity took to complete

activity end time
type: DatatypeProperty
sub property of: endedAtTime
domain: Activity
range: dateTime
IAO_0000115: Records the date and time when a packaging-related activity was completed.
comment: When a packaging activity completed

activity log output
type: DatatypeProperty
domain: Activity
range: string
IAO_0000115: The textual log output generated during the execution of a packaging activity, useful for debugging and auditing.
comment: Log output generated during a packaging activity

activity start time
type: DatatypeProperty
sub property of: startedAtTime
domain: Activity
range: dateTime
IAO_0000115: Records the date and time when a packaging-related activity was initiated.
comment: When a packaging activity began

capability name
type: DatatypeProperty
domain: Capability
range: string
IAO_0000115: The identifier for a capability, such as a shared library name (libssl.so.3), virtual package name, or other capability identifier.
comment: The name or identifier of a capability

checksum algorithm
type: DatatypeProperty
type: FunctionalProperty
domain: Checksum
range: string
IAO_0000115: The name of the cryptographic hash algorithm used to compute this checksum value.
comment: The hash algorithm (e.g., SHA-256, MD5, SHA-1)

checksum value
type: DatatypeProperty
type: FunctionalProperty
domain: Checksum
range: string
IAO_0000115: The actual cryptographic hash value as a hexadecimal string.
comment: The hexadecimal hash string

dependency weight
type: DatatypeProperty
domain: Dependency
range: float
IAO_0000115: Provides a numeric weight indicating the relative importance or strength of a dependency relationship.
comment: Relative weight or importance of a dependency

description
type: DatatypeProperty
domain: Package
range: string
IAO_0000115: A textual explanation of the package's purpose, functionality, and features, intended to help users understand what the package provides.
comment: A human-readable description of what the package does

download URL
type: DatatypeProperty
domain: Package
range: anyURI
IAO_0000115: The web address from which the package file or archive can be directly downloaded or accessed.
comment: The URL from which the package can be downloaded

end of life date
type: DatatypeProperty
domain: Distribution Release
range: date
IAO_0000115: The date when a distribution release ceases to receive security updates and support.
comment: The date when the distribution release reaches end of life

epoch
type: DatatypeProperty
domain: Version
range: integer
IAO_0000115: A version component used to differentiate between incompatible versioning schemes or to correct mistakes in version ordering.
comment: The epoch of the version, used in some systems to manage version comparison across different numbering schemes.

exit code
type: DatatypeProperty
domain: Activity
range: int
IAO_0000115: The numeric exit code returned by a packaging activity, indicating success (typically 0) or failure (non-zero).
comment: The exit code returned by a packaging activity

homepage
type: DatatypeProperty
domain: Package
range: anyURI
IAO_0000115: The web address of the main website or homepage associated with the software package or its development project.
comment: The homepage URL of the package or project

identity name
type: DatatypeProperty
type: FunctionalProperty
domain: Package Identity
range: string
IAO_0000115: The package name as used for the version-agnostic identity within a distribution and architecture context. This provides a lexical anchor for PackageIdentity instances, distinct from the versioned packageName on Package instances.
comment: The name of the package identity

install size
type: DatatypeProperty
domain: Package
range: long
IAO_0000115: The amount of disk space, measured in bytes, that the package will occupy after being fully installed on the target system.
comment: The disk space required when the package is installed

installed file path
type: DatatypeProperty
domain: Installed File
range: string
IAO_0000115: The absolute filesystem path where a file is installed on the target system, such as /usr/bin/gcc or /usr/lib/libssl.so.3.
comment: The filesystem path where the file is installed

is current
type: DatatypeProperty
type: FunctionalProperty
domain: Data Snapshot
range: boolean
IAO_0000115: A boolean flag indicating whether this snapshot is the most recent for its data source. Used for tiered storage lifecycle management.
comment: Whether this snapshot represents the current active data for its source.

is vendor originated
type: DatatypeProperty
domain: Package
range: boolean
IAO_0000115: Indicates whether the upstream project was originated by the same organization that packages and distributes it, as opposed to being an independent community project.
comment: Whether the upstream project was created by the packaging vendor

ISA-specific code
type: DatatypeProperty
domain: Package
range: boolean
IAO_0000115: Indicates whether the package contains processor-specific optimizations or machine code that is optimized for a particular instruction set architecture.
comment: Indicates whether the package contains ISA-specific optimizations

last commit date
type: DatatypeProperty
domain: Package Identity
range: date
IAO_0000115: The date of the most recent commit to the upstream repository, indicating active development status.
comment: The date of the most recent commit to the upstream repository

last release date
type: DatatypeProperty
domain: Package Identity
range: date
IAO_0000115: The date of the most recent release or version of the package, enabling recency analysis and stale package detection.
comment: The date of the most recent release or version

license name
type: DatatypeProperty
domain: Package
range: string
IAO_0000115: DEPRECATED: A string representation of the package's license. Use hasLicense to link to a License entity instead. The spdxId of the License entity linked via hasLicense is the canonical representation. This property is retained for backward compatibility with existing data but should not be used in new collectors.
comment: DEPRECATED in favor of hasLicense. The SPDX license expression or license name string for the package
deprecated: true

maintainer since
type: DatatypeProperty
domain: Maintainer
range: dateTime
IAO_0000115: Records when a maintainer began their maintenance responsibilities for a package.
comment: Date when the maintainer started maintaining the package

package name
type: DatatypeProperty
type: FunctionalProperty
domain: Package
range: string
IAO_0000115: The unique identifier or name by which a software package is known within a package management system.
comment: The name of a package

package size
type: DatatypeProperty
domain: Package
range: long
IAO_0000115: The size of the package file or archive, measured in bytes, before installation or extraction.
comment: The size of the package file

project name
type: DatatypeProperty
domain: Upstream Project
range: string
IAO_0000115: The canonical or commonly used name of an upstream open source project, such as 'openssl' or 'gcc'.
comment: The canonical name of the upstream project

project URL
type: DatatypeProperty
domain: Upstream Project
range: anyURI
IAO_0000115: The primary website or homepage URL for an upstream open source project.
comment: The primary URL for the upstream project

purl
type: DatatypeProperty
domain: Package Identity
range: anyURI
IAO_0000115: Package URL (PURL) - a standardized, universal identifier for software packages across ecosystems (e.g., pkg:npm/lodash@4.17.21, pkg:pypi/requests@2.28.0). Enables cross-tool interoperability and SBOM generation.
comment: Package URL (PURL) - standardized package identifier

release
type: DatatypeProperty
domain: Version
range: string
IAO_0000115: An identifier for the packaging release of a specific version of the upstream software.
comment: The release number of the package, often indicating a packaging-specific update.

release codename
type: DatatypeProperty
domain: Distribution Release
range: string
IAO_0000115: The informal name or codename of a distribution release, such as 'bookworm' for Debian 12 or 'noble' for Ubuntu 24.04.
comment: The codename of the distribution release

release date
type: DatatypeProperty
domain: Distribution Release
range: date
IAO_0000115: The date when a distribution release was officially published or made available.
comment: The date the distribution release was published

release version
type: DatatypeProperty
domain: Distribution Release
range: string
IAO_0000115: The version identifier of a distribution release, such as '12' for Debian 12 or '41' for Fedora 41.
comment: The version number of the distribution release

repository source URL
type: DatatypeProperty
domain: Distribution Release
range: anyURI
IAO_0000115: The HTTP/HTTPS URL of the package repository metadata that was used as the data source for collection. Enables traceability and re-collection.
comment: The URL from which this repository data was collected

repository type
type: DatatypeProperty
domain: Distribution Release
range: string
IAO_0000115: Classifies the repository source type to enable proper comparison semantics. Release repos are composed for end-user installation. Build repos are Koji build targets. Updates are post-release patches.
comment: The type of package repository (release, development, build, updates, updates-testing)

revision
type: DatatypeProperty
domain: Version
range: string
IAO_0000115: A version component that specifies a minor update or packaging-specific revision.
comment: The revision of the package, often indicating a minor packaging update or a source control revision.

snapshot graph
type: DatatypeProperty
domain: Data Snapshot
range: anyURI
IAO_0000115: The URI of the named graph in Fuseki that contains this snapshot's data.
comment: The named graph URI this snapshot was loaded into.

snapshot source
type: DatatypeProperty
domain: Data Snapshot
range: string
IAO_0000115: A string identifying the tool and data source that produced this snapshot.
comment: Identifier of the data source that produced this snapshot (e.g., 'pg-collect debian', 'enricher-osv').

snapshot timestamp
type: DatatypeProperty
domain: Data Snapshot
range: dateTime
IAO_0000115: The date and time when the data collection or enrichment run completed.
comment: When this data snapshot was created.

SPDX identifier
type: DatatypeProperty
type: FunctionalProperty
domain: License
range: string
IAO_0000115: The SPDX License List identifier for this license (e.g., 'GPL-2.0-only', 'MIT', 'Apache-2.0'), enabling mechanically queryable license classification and compatibility analysis.
comment: The SPDX license identifier

upstream package name
type: DatatypeProperty
domain: Package
range: string
IAO_0000115: The canonical name of the upstream software in its native package ecosystem, extracted from RPM provides entries like crate(foo) or python3dist(bar). Enables cross-ecosystem identity linking. Retained for backward compatibility - prefer upstreamPackageIdentity for new data.
comment: The name of the package in its upstream ecosystem (e.g., crate name, PyPI name)

version constraint operator
type: DatatypeProperty
domain: Version Constraint
range: string
IAO_0000115: The comparison operator that defines how the version constraint should be evaluated, such as greater than, equal to, or less than.
comment: The comparison operator used in a version constraint (e.g., '>=', '=', '<=')

version constraint value
type: DatatypeProperty
domain: Version Constraint
range: string
IAO_0000115: The specific version string that the constraint is compared against using the constraint operator.
comment: The version value used in a version constraint

version string
type: DatatypeProperty
type: FunctionalProperty
domain: Version
range: string
IAO_0000115: A textual representation of a package version, typically following semantic versioning or other versioning schemes to indicate the release sequence and compatibility.
comment: The version identifier of a package

AUR popularity
type: DatatypeProperty
domain: Arch Package
range: float
IAO_0000115: A calculated popularity score for an AUR package based on votes and usage statistics.
comment: Popularity score for this AUR package

AUR votes
type: DatatypeProperty
domain: Arch Package
range: int
IAO_0000115: The number of user votes indicating popularity for an AUR package.
comment: Number of votes for this AUR package

BLAKE2 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: BLAKE2 hash values used to verify the integrity and authenticity of source files, providing strong cryptographic security.
comment: BLAKE2 checksums for source files

backup
type: DatatypeProperty
domain: Arch Package
range: string
IAO_0000115: Configuration files that should be backed up during package upgrades to preserve user modifications.
comment: Files that should be backed up during upgrades

build function
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Shell commands executed to compile and build the software from source code.
comment: Commands to build the software

build flags
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Compiler flags and build options used when compiling the package from source.
comment: Compiler flags used during build

changelog
type: DatatypeProperty
domain: Arch Package
range: string
IAO_0000115: The filename of a file containing the changelog or release notes for the package.
comment: The filename of the changelog

check function
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Shell commands executed to run the software's test suite to verify the build is working correctly.
comment: Commands to run tests

epoch
type: DatatypeProperty
sub property of: epoch
type: FunctionalProperty
domain: Version
range: int
IAO_0000115: A version epoch used to override normal version comparison when upstream versioning schemes change or become incompatible.
comment: The epoch version number for version comparison override

git repository
type: DatatypeProperty
domain: PKGBUILD
range: anyURI
IAO_0000115: The Git repository URL where the package source code or PKGBUILD is maintained.
comment: Git repository URL for the package source

install script
type: DatatypeProperty
domain: Arch Package
range: string
IAO_0000115: The filename of a script that contains pre-install, post-install, pre-remove, or post-remove hooks for the package.
comment: The filename of the install script

last modified
type: DatatypeProperty
type: FunctionalProperty
domain: Arch Package
range: dateTime
IAO_0000115: The date and time when the package was last updated or modified.
comment: Date when the package was last modified

MD5 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: MD5 hash values used to verify the integrity of source files, though MD5 is considered cryptographically weak.
comment: MD5 checksums for source files

no extract
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Source files that should not be automatically extracted during the build process, typically binary files or archives that need special handling.
comment: Files that should not be extracted during build

options
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Build-time options that control how the package is compiled and processed, such as stripping symbols or including documentation.
comment: Build options (e.g., !strip, !docs)

orphaned
type: DatatypeProperty
domain: Arch Package
range: boolean
IAO_0000115: Indicates whether an AUR package has no current maintainer and is available for adoption.
comment: Whether the AUR package is orphaned (no maintainer)

out of date
type: DatatypeProperty
domain: Arch Package
range: boolean
IAO_0000115: Indicates whether an AUR package has been flagged as out of date by users.
comment: Whether the AUR package is marked as out of date

package function
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Shell commands executed to install the built software into the package directory structure for final packaging.
comment: Commands to package the built software

package base
type: DatatypeProperty
domain: Arch Package
range: string
IAO_0000115: The base name used to identify a group of split packages that are built from the same PKGBUILD.
comment: The base name for split packages

PKGBUILD content
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: The complete text content of the PKGBUILD file including all functions and metadata.
comment: The complete PKGBUILD file content

package description
type: DatatypeProperty
sub property of: description
domain: Arch Package
range: string
IAO_0000115: A short textual description of what the package contains and its primary purpose.
comment: A brief description of the package

package release
type: DatatypeProperty
sub property of: release
type: FunctionalProperty
domain: Version
range: int
IAO_0000115: The Arch Linux specific release number that increments when the PKGBUILD is updated without changing the upstream version.
comment: The Arch-specific package release number

package version
type: DatatypeProperty
sub property of: version string
domain: Version
range: string
IAO_0000115: The version number of the upstream software as provided by the original developers.
comment: The upstream version of the package

prepare function
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: Shell commands executed to prepare the source code before building, such as applying patches or configuring the build environment.
comment: Commands to prepare the source for building

repository signature
type: DatatypeProperty
domain: Arch Repository
range: string
IAO_0000115: The GPG signature used to verify the authenticity of the repository and its packages.
comment: GPG signature for repository verification

SHA1 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: SHA-1 hash values used to verify the integrity of source files, though SHA-1 is considered cryptographically weak.
comment: SHA1 checksums for source files

SHA256 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: SHA-256 hash values used to verify the integrity and authenticity of source files.
comment: SHA256 checksums for source files

SHA384 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: SHA-384 hash values used to verify the integrity and authenticity of source files.
comment: SHA384 checksums for source files

SHA512 checksums
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: SHA-512 hash values used to verify the integrity and authenticity of source files.
comment: SHA512 checksums for source files

source
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: A URL or filename specifying source files, patches, or other resources needed to build the package.
comment: A source URL or filename used to build the package

tier level
type: DatatypeProperty
domain: Arch Repository
range: string
IAO_0000115: The tier classification of a repository mirror indicating its sync frequency and reliability.
comment: Mirror tier level (Tier 1, Tier 2, etc.)

upstream URL
type: DatatypeProperty
sub property of: homepage
domain: Arch Package
range: anyURI
IAO_0000115: The official website or homepage URL of the upstream software project.
comment: The upstream project URL

valid PGP keys
type: DatatypeProperty
domain: PKGBUILD
range: string
IAO_0000115: PGP key fingerprints that are considered valid for verifying the authenticity of source files.
comment: Valid PGP key IDs for source verification

author timestamp
type: DatatypeProperty
domain: Commit
range: dateTime
IAO_0000115: The date and time when the changes in the commit were originally authored, which may differ from the commit timestamp.
comment: Timestamp when the changes were authored

branch name
type: DatatypeProperty
type: FunctionalProperty
domain: Branch
range: string
IAO_0000115: The human-readable name identifier of a branch in the version control repository.
comment: Name of the branch

clone URL
type: DatatypeProperty
domain: Source Code Repository
range: anyURI
IAO_0000115: The URL that can be used to create a local copy of the repository using version control tools.
comment: URL for cloning the repository

commit frequency
type: DatatypeProperty
domain: Source Code Repository
range: float
IAO_0000115: The average number of commits per day over a recent time period, indicating development activity level.
comment: Average commits per day over recent period

commit hash
type: DatatypeProperty
type: FunctionalProperty
domain: Commit
range: string
IAO_0000115: The cryptographic hash that uniquely identifies a commit in the version control system.
comment: Hash identifier of the commit (SHA1, SHA256, etc.)

commit message
type: DatatypeProperty
domain: Commit
range: string
IAO_0000115: A human-readable description of the changes made in the commit, typically including a summary and optional detailed explanation.
comment: Commit message describing the changes

commit timestamp
type: DatatypeProperty
type: FunctionalProperty
domain: Commit
range: dateTime
IAO_0000115: The date and time when the commit was created and added to the repository.
comment: Timestamp when the commit was created

contributor count
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The total number of unique contributors who have made commits to the repository.
comment: Number of unique contributors

default branch
type: DatatypeProperty
type: FunctionalProperty
domain: Source Code Repository
range: string
IAO_0000115: The name of the primary branch that serves as the default when cloning or accessing the repository.
comment: Name of the default branch

development status
type: DatatypeProperty
domain: Source Code Repository
range: string
IAO_0000115: Indicates the current development status such as active, maintenance, archived, or deprecated.
comment: Current development status of the repository

encoding
type: DatatypeProperty
domain: File
range: string
IAO_0000115: The character encoding format used for the file content, such as UTF-8, ASCII, or ISO-8859-1.
comment: Character encoding of the file

file hash
type: DatatypeProperty
domain: File
range: string
IAO_0000115: A cryptographic hash of the file's content used for integrity verification and change detection.
comment: Content hash of the file

file path
type: DatatypeProperty
domain: File
range: string
IAO_0000115: The relative path and filename of the file within the repository's directory structure.
comment: Path of the file within the repository

file size
type: DatatypeProperty
domain: File
range: long
IAO_0000115: The size of the file content measured in bytes.
comment: Size of the file in bytes

first commit date
type: DatatypeProperty
type: FunctionalProperty
domain: Source Code Repository
range: dateTime
IAO_0000115: The date of the earliest commit in the repository, establishing the project's age.
comment: Date of the earliest commit in the repository

fork count
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of forks created from the repository, indicating derivative development activity.
comment: Number of forks created from the repository

is annotated
type: DatatypeProperty
domain: Tag
range: boolean
IAO_0000115: Indicates whether the tag includes additional metadata such as a message, tagger information, and timestamp.
comment: Whether the tag is annotated

is pre-release
type: DatatypeProperty
domain: Release
range: boolean
IAO_0000115: Indicates whether this release is a pre-release, alpha, beta, or release candidate rather than a stable release.
comment: Whether this is a pre-release version

is protected
type: DatatypeProperty
domain: Branch
range: boolean
IAO_0000115: Indicates whether the branch has protection rules that prevent direct pushes and require pull requests or other approval processes.
comment: Whether the branch is protected from direct pushes

is signed release
type: DatatypeProperty
domain: Release
range: boolean
IAO_0000115: Indicates whether the release has been cryptographically signed for integrity verification.
comment: Whether the release is cryptographically signed

issues closed last month
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of issues closed in the repository during the last calendar month.
comment: Number of issues closed during the last calendar month

issues closed last year
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of issues closed in the repository during the last calendar year.
comment: Number of issues closed during the last calendar year

issues opened last month
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of issues opened in the repository during the last calendar month.
comment: Number of issues opened during the last calendar month

issues opened last year
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of issues opened in the repository during the last calendar year.
comment: Number of issues opened during the last calendar year

last activity
type: DatatypeProperty
domain: Source Code Repository
range: dateTime
IAO_0000115: The date and time of the most recent commit or activity in the repository.
comment: Date of last commit or activity

milestone progress
type: DatatypeProperty
domain: Milestone
range: float
IAO_0000115: The current completion progress of a milestone as a decimal value between 0.0 and 1.0.
comment: Completion percentage of milestone (0.0 to 1.0)

MIME type
type: DatatypeProperty
domain: File
range: string
IAO_0000115: The MIME type that identifies the format and nature of the file content.
comment: MIME type of the file

open issue count
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The current number of open issues in the repository.
comment: Current number of open issues

PRs closed last month
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of pull requests closed or merged in the repository during the last calendar month.
comment: Number of pull requests closed or merged during the last calendar month

PRs closed last year
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of pull requests closed or merged in the repository during the last calendar year.
comment: Number of pull requests closed or merged during the last calendar year

PRs opened last month
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of pull requests opened in the repository during the last calendar month.
comment: Number of pull requests opened during the last calendar month

PRs opened last year
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of pull requests opened in the repository during the last calendar year.
comment: Number of pull requests opened during the last calendar year

release date
type: DatatypeProperty
domain: Release
range: dateTime
IAO_0000115: The date and time when a release was officially published or made available.
comment: The date when a release was published

release frequency
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The average number of days between releases for this repository.
comment: The typical frequency of releases (in days)

release stability
type: DatatypeProperty
domain: Release
range: string
IAO_0000115: Indicates the stability level of the release, such as alpha, beta, release candidate, or stable.
comment: The stability level of the release (alpha, beta, rc, stable)

remote URL
type: DatatypeProperty
domain: Source Code Repository
range: anyURI
IAO_0000115: The URL of a remote repository that this repository is connected to for synchronization purposes.
comment: URL of the remote repository

signature algorithm
type: DatatypeProperty
domain: Release
range: string
IAO_0000115: The cryptographic algorithm used to create the release signature.
comment: The cryptographic algorithm used for signing

signature key ID
type: DatatypeProperty
domain: Release
range: string
IAO_0000115: The identifier of the cryptographic key used to sign the release.
comment: The key ID used to sign the release

stargazer count
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of users who have starred or bookmarked the repository, indicating community interest.
comment: Number of users who have starred the repository

subscriber count
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The number of users watching or subscribed to the repository for notifications.
comment: Number of users watching or subscribed to the repository

tag message
type: DatatypeProperty
domain: Tag
range: string
IAO_0000115: A human-readable message describing the purpose or significance of the tag, typically used for release notes.
comment: Message associated with the tag

tag name
type: DatatypeProperty
type: FunctionalProperty
domain: Tag
range: string
IAO_0000115: The human-readable name identifier of a tag in the version control repository.
comment: Name of the tag

target date
type: DatatypeProperty
domain: Milestone
range: dateTime
IAO_0000115: The planned or target completion date for a milestone or release.
comment: Target completion date for milestone

total commits
type: DatatypeProperty
domain: Source Code Repository
range: int
IAO_0000115: The total number of commits made to the repository throughout its history.
comment: Total number of commits in repository

VCS type
type: DatatypeProperty
domain: Source Code Repository
range: string
IAO_0000115: Identifies the type of version control system used by the repository, such as Git, Subversion, or Mercurial.
comment: Type of version control system (git, svn, hg, bzr, etc.)

Application Binary Interface
type: Class
subclass of: Thing
IAO_0000115: The low-level binary interface that defines calling conventions, data layouts, and system call interfaces for a specific platform.
comment: The binary interface specification for a platform

Architecture
type: Class
subclass of: Thing
IAO_0000115: The specific hardware platform, instruction set, or system architecture for which a software package has been compiled or designed to run.
comment: The hardware or software architecture for which a package is built

Binary Package
type: Class
subclass of: Package
disjoint with: Source Package
IAO_0000115: A binary package containing compiled executables, libraries, or architecture-independent files, ready for installation on a target system.
comment: A compiled, installable package produced from a source package

Build Activity
type: Class
subclass of: Activity
subclass of: Packaging Activity
IAO_0000115: An activity that compiles source code and creates executable binaries or libraries as part of the packaging process. Aligned with PROV-O Activity concept — builds are time-bounded activities with agents (builders) and entities (source/binary artifacts).
comment: The process of compiling and building software from source

Capability
type: Class
subclass of: Thing
IAO_0000115: A functional capability provided by or required by a package, such as a shared library (e.g., libssl.so.3), virtual package name, or other abstract functionality. Critical for shared library dependency resolution - enables blast radius analysis via .so linking.
comment: A capability provided or required by packages (shared library, virtual package, etc.)

Checksum
type: Class
subclass of: Thing
IAO_0000115: A reified checksum associating a cryptographic hash value with the algorithm used to compute it, enabling packages to carry multiple checksums of different types (e.g., SHA-256 and MD5 simultaneously).
comment: A cryptographic hash of a package file, pairing the hash value with its algorithm

Contribution Type
type: Class
subclass of: Thing
IAO_0000115: Categorizes the nature of contributions made to a package, such as code, documentation, packaging, or security updates.
comment: The type of contribution made to a package

Contributor
type: Class
subclass of: Thing
IAO_0000115: A role assignment representing a person's contribution to a package or repository. This is an anti-rigid concept — a person can start or stop holding this role without ceasing to exist.
comment: A contribution role assignment linking a person to a package or repository

Contributor Account
type: Class
subclass of: Thing
IAO_0000115: A platform-specific identity for a contributor, such as a GitHub username, Debian maintainer email, or Fedora Account System login, enabling cross-platform contributor identification.
comment: An identity or account for a contributor on a specific platform

Data Snapshot
type: Class
subclass of: Entity
IAO_0000115: A record of a data collection or enrichment run, tracking the named graph URI, source identifier, timestamp, and currency status for graph lifecycle management.
comment: Metadata about a named graph — when it was collected, from what source, whether it is current.

Dependency
type: Class
subclass of: Thing
IAO_0000115: A requirement relationship between software packages where one package needs another package to be present and functional in order to operate correctly.
comment: A relationship indicating that one package requires another package to function properly

Distribution
type: Class
subclass of: Thing
IAO_0000115: A complete operating system distribution that packages and distributes software using specific package management systems.
comment: A specific Linux/Unix distribution

Distribution Release
type: Class
subclass of: Thing
IAO_0000115: A specific versioned release of a Linux distribution, such as Debian 12 (bookworm) or Fedora 41, containing a defined set of packages.
comment: A specific versioned release of a distribution

Package Ecosystem
type: Class
subclass of: Thing
IAO_0000115: A comprehensive package management ecosystem that may span multiple distributions, formats, and repositories, such as the Debian ecosystem including Ubuntu derivatives.
comment: A broader ecosystem encompassing multiple distributions and package formats

Installation Activity
type: Class
subclass of: Activity
IAO_0000115: An activity that deploys a package and its dependencies onto a target system, making the software available for use.
comment: The process of installing a package on a system

Installed File
type: Class
subclass of: Thing
IAO_0000115: A file that is installed on the target filesystem when a binary package is installed, including executables, libraries, configuration files, and documentation.
comment: A file installed on the system by a binary package

Instruction Set Architecture
type: Class
subclass of: Architecture
IAO_0000115: The processor instruction set architecture that defines the machine code interface, such as x86_64, ARM64, or RISC-V.
comment: The specific instruction set architecture (ISA) for binary packages

License
type: Class
subclass of: Thing
IAO_0000115: A legal document or agreement that specifies the terms and conditions under which a software package may be used, modified, and distributed.
comment: The legal license under which a package is distributed

Maintainer
type: Class
subclass of: Contributor
IAO_0000115: A maintenance role assignment linking a person to a package they maintain. This is an anti-rigid concept — a maintenance role assignment can begin or end without the person ceasing to exist.
comment: A maintenance role assignment linking a person to a package

Maintainer Role
type: Class
subclass of: Thing
IAO_0000115: Defines the specific responsibilities and authority level of a maintainer for a package, such as primary maintainer, co-maintainer, or sponsor.
comment: The specific role a maintainer plays for a package

Meta Package
type: Class
subclass of: Package
IAO_0000115: A package that contains minimal or no files itself but serves to group related packages together through dependencies, commonly used for task-based installations.
comment: A package that exists primarily to depend on other packages

Package
type: Class
subclass of: Thing
subclass of: Entity
subclass of: Restriction
  cardinality: 1
  on property: package name
IAO_0000115: A discrete unit of software represented in package repository metadata, typically containing executable code, configuration files, documentation, and metadata. Most packages can be installed, updated, or removed by a package management system, though some entries (such as phantom packages) exist only as metadata references.
comment: A software package that can be installed, maintained, or distributed through a package management system

Package Identity
type: Class
subclass of: Thing
IAO_0000115: A stable, version-independent identifier for a package name within a specific distribution, release, and architecture. BinaryPackage instances link to their identity via isVersionOf. Dependencies point to the identity, enabling direct name-based joins without URI parsing.
comment: The version-agnostic identity of a package within a distribution and architecture. Dependency targets point to this instead of versioned instances.

Package Manager
type: Class
subclass of: Thing
IAO_0000115: A software application or system that automates the process of installing, upgrading, configuring, and removing software packages, including dependency resolution and conflict management.
comment: A software tool that manages the installation, updating, and removal of packages

Package Set
type: Class
subclass of: Thing
IAO_0000115: A named collection of packages within a distribution or product, used to define subsets such as base systems, application streams, or product-specific package sets.
comment: A named subset of packages within a distribution or product

Packaging Activity
type: Class
subclass of: Activity
IAO_0000115: An activity that transforms source code, configuration files, and other materials into a distributable package format.
comment: The process of creating a package from source materials

Person
type: Class
subclass of: Agent
disjoint with: Software Agent
IAO_0000115: A rigid identity representing a human individual. Persons hold roles (Contributor, Maintainer) which are time-dependent and context-dependent. The same Person can maintain packages in multiple distributions and hold different roles over time.
comment: A human individual who can hold contributor or maintainer roles across packages and distributions

Phantom Package
type: Class
subclass of: Package
IAO_0000115: A package that exists in repository primary metadata (e.g., primary.xml for RPM) but has no corresponding files in the file list metadata. Common for TeX Live virtual subpackages and auto-generated meta-entries. Structurally different from a regular Package because it cannot be installed.
comment: A package entry in repository metadata that has no installable files

Publishing Activity
type: Class
subclass of: Activity
IAO_0000115: An activity that uploads and makes a package available for distribution through a package repository.
comment: The process of making a package available in a repository

Repository
type: Class
subclass of: Thing
subclass of: Entity
IAO_0000115: A centralized storage location where software packages are hosted and made available for distribution, typically accessible via network protocols and managed by package management systems.
comment: A storage location for packages, accessible through a package management system

Software Agent
type: Class
subclass of: SoftwareAgent
IAO_0000115: An automated software system that performs package maintenance tasks, such as dependency update bots (Renovate, Dependabot), CI/CD pipelines, or automated security patchers. Distinguished from Person to preserve OntoClean rigidity — a bot is not a foaf:Person.
comment: An automated software agent performing package maintenance tasks

Source Package
type: Class
subclass of: Package
IAO_0000115: A source package containing the original source code, build scripts, and packaging metadata required to produce one or more binary packages for distribution.
comment: A package containing source code that can be built into one or more binary packages

Test Activity
type: Class
subclass of: Activity
IAO_0000115: An activity that executes test suites to verify the functionality and quality of a software package.
comment: The process of running tests on a package

Upstream Project
type: Class
subclass of: Project
subclass of: Thing
subclass of: Restriction
  cardinality: 1
  on property: project name
IAO_0000115: An upstream software project that serves as the origin for packages across multiple distributions, enabling cross-distribution analysis through a shared identity. Aligned with DOAP (Description of a Project) vocabulary — upstream projects are software projects with maintainers, repositories, and releases.
comment: An upstream open source project that is packaged by one or more distributions

Version
type: Class
subclass of: Thing
subclass of: Restriction
  cardinality: 1
  on property: version string
IAO_0000115: A specific release or iteration of a software package, identified by a version string and representing a particular state of the package's development.
comment: A specific version or release of a package

Version Constraint
type: Class
subclass of: Thing
IAO_0000115: A structured specification that defines acceptable version ranges for package dependencies, including operators and target versions.
comment: A structured representation of version constraints for dependencies

Virtual Package
type: Class
subclass of: Capability
IAO_0000115: An abstract functional promise that can be satisfied by one or more concrete packages. Virtual packages have no artifact (no size, no checksum, no installable files) — they represent a capability that multiple packages can provide.
comment: An abstract functional promise that can be satisfied by one or more concrete packages

AUR
type: Class
subclass of: Arch Repository
IAO_0000115: The Arch User Repository, a community-driven repository for Arch Linux users to share and maintain PKGBUILD scripts for software not included in the official repositories.
comment: Arch User Repository containing user-contributed PKGBUILDs

PKGBUILD
type: Class
subclass of: Source Package
IAO_0000115: A shell script containing build instructions and metadata for creating an Arch Linux package, following the PKGBUILD format specification.
comment: A PKGBUILD file containing package build instructions

Package Group
type: Class
subclass of: Thing
IAO_0000115: A logical collection of related packages in Arch Linux that can be installed or managed as a unit.
comment: A logical grouping of packages in Arch Linux

Arch Package
type: Class
subclass of: Package
subclass of: Restriction
  some values from: Distribution
  on property: part of distribution
IAO_0000115: A compiled software package in Arch Linux format (.pkg.tar.xz or .pkg.tar.zst) that can be installed using the pacman package manager.
comment: A package in Arch Linux .pkg.tar.xz format

Arch Repository
type: Class
subclass of: Repository
subclass of: Restriction
  some values from: Source Code Repository
  on property: has upstream repository
IAO_0000115: A repository containing Arch Linux packages that can be accessed and managed through the pacman package manager.
comment: An Arch Linux repository accessible via Pacman

SRCINFO
type: Class
subclass of: Thing
IAO_0000115: A metadata file in key=value format that contains parsed information from a PKGBUILD, used by the AUR web interface and helper tools.
comment: A .SRCINFO file containing package metadata in key=value format

Split Package
type: Class
subclass of: Arch Package
IAO_0000115: A package that is built from a single PKGBUILD alongside other related packages, sharing the same source and build process but producing separate installable packages.
comment: A package that is part of a split package group

Branch
type: Class
subclass of: Entity
subclass of: Restriction
  cardinality: 1
  on property: branch name
IAO_0000115: A parallel line of development in a version control repository that allows developers to work on features or fixes independently from the main codebase.
comment: A branch in a version control repository

Commit
type: Class
subclass of: Entity
subclass of: Restriction
  cardinality: 1
  on property: commit hash
subclass of: Restriction
  cardinality: 1
  on property: commit timestamp
IAO_0000115: A snapshot of changes to files in a version control repository, representing a specific point in the project's history with associated metadata such as author, timestamp, and message.
comment: A commit in a version control system

Diff
type: Class
subclass of: Thing
IAO_0000115: A representation of the differences between two versions of files or commits, showing additions, deletions, and modifications in a structured format.
comment: A diff or patch between two versions of files

File
type: Class
subclass of: Entity
IAO_0000115: A file contained within a version control repository, including source code, documentation, configuration files, and other project assets.
comment: A file in a repository or package

Issue
type: Class
subclass of: Thing
IAO_0000115: A tracked item representing a bug report, feature request, or other task associated with a software project repository.
comment: An issue or bug report in a repository

Milestone
type: Class
subclass of: Entity
IAO_0000115: A significant point in the development timeline marking the completion of specific features or goals.
comment: A development milestone or sprint

Pull Request
type: Class
subclass of: Activity
IAO_0000115: A request to merge changes from one branch into another, typically used for code review and collaborative development workflows.
comment: A pull/merge request for code changes

VCS Reference
type: Class
subclass of: Entity
IAO_0000115: A named pointer to a specific commit or object in a version control system, such as HEAD, branch references, or remote tracking branches.
comment: A generic reference in version control (HEAD, refs, etc.)

Release
type: Class
subclass of: Tag
IAO_0000115: A specific tagged version in version control that represents a formal release of the software, typically corresponding to a published package version.
comment: A tagged release in version control

Release Candidate
type: Class
subclass of: Release
IAO_0000115: A version tagged as a candidate for release, used for final testing before the official release.
comment: A pre-release version for testing

Release Notes
type: Class
subclass of: Thing
IAO_0000115: Documentation that describes the changes, bug fixes, and new features included in a software release.
comment: Documentation describing changes in a release

Source Code Repository
type: Class
subclass of: Thing
subclass of: Restriction
  max cardinality: 1
  on property: default branch
IAO_0000115: A version control repository that stores and tracks changes to source code and related project files over time.
comment: A version control repository containing source code

Tag
type: Class
subclass of: Entity
subclass of: Restriction
  cardinality: 1
  on property: tag name
IAO_0000115: A named reference pointing to a specific commit, typically used to mark release points or important milestones in a project's history.
comment: A tag pointing to a specific commit or release

PackageGraph Project
type: Organization

Arch User Repository
type: NamedIndividual
type: AUR
comment: The main Arch User Repository

base
type: NamedIndividual
type: Package Group
comment: Base system packages

base-devel
type: NamedIndividual
type: Package Group
comment: Basic development tools

community
type: NamedIndividual
type: Arch Repository
comment: Community Arch Linux repository

community-testing
type: NamedIndividual
type: Arch Repository
comment: Testing repository for community packages

core
type: NamedIndividual
type: Arch Repository
comment: Core Arch Linux repository

extra
type: NamedIndividual
type: Arch Repository
comment: Extra Arch Linux repository

gnome
type: NamedIndividual
type: Package Group
comment: GNOME desktop environment packages

kde-applications
type: NamedIndividual
type: Package Group
comment: KDE application packages

multilib
type: NamedIndividual
type: Arch Repository
comment: Multilib Arch Linux repository for 32-bit support

multilib-testing
type: NamedIndividual
type: Arch Repository
comment: Testing repository for multilib packages

testing
type: NamedIndividual
type: Arch Repository
comment: Testing repository for core and extra

xfce4
type: NamedIndividual
type: Package Group
comment: Xfce desktop environment packages

Bazaar
type: NamedIndividual
comment: Bazaar version control system

Bitbucket
type: NamedIndividual
comment: Bitbucket hosting platform

CVS
type: NamedIndividual
comment: Concurrent Versions System

Codeberg
type: NamedIndividual
comment: Codeberg hosting platform

Fossil
type: NamedIndividual
comment: Fossil distributed version control system

Git
type: NamedIndividual
comment: Git version control system

GitHub
type: NamedIndividual
comment: GitHub hosting platform

GitLab
type: NamedIndividual
comment: GitLab hosting platform

Mercurial
type: NamedIndividual
comment: Mercurial version control system

GNU Savannah
type: NamedIndividual
comment: GNU Savannah hosting platform

SourceHut
type: NamedIndividual
comment: SourceHut hosting platform

Subversion
type: NamedIndividual
comment: Apache Subversion version control system