PackageGraph Ontology

A rigorous OWL 2 ontology for cross-distribution package analysis and software supply chain research.

v0.6.0 OWL 2 DL 29 SHACL Shapes CC0 1.0

Core

Foundational classes and properties shared across all ecosystems

core

Package, Version, Dependency, Distribution, Architecture, License, Person, Maintainer, BuildActivity, PackageIdentity

System-Level Package Managers

Linux distributions and OS-level package management

deb

Debian/Ubuntu (.deb) packages, APT repositories, sections, priorities

rpm

RPM/DNF packages, epochs, disttags, changelogs, weak dependencies

pacman

Arch Linux packages, groups, hooks, provides/conflicts

apk

Alpine Linux packages, APKBUILD scripts, branches

portage

Gentoo ebuilds, USE flags, slots, EAPI, eclasses

homebrew

macOS formulae, casks, bottles, taps

nix

Nix derivations, channels, stdenv, functional builds

xbps

Void Linux XBPS packages

opkg

OpenWrt embedded Linux packages

bsdpkg

FreeBSD/NetBSD/OpenBSD ports, flavors, options

chocolatey

Windows Chocolatey/NuGet packages, PowerShell scripts

bitbake

Yocto/OpenEmbedded recipes, layers, machines

buildroot

Buildroot packages, defconfigs, build infrastructures

Language Ecosystem Managers

Programming language package registries and dependency managers

npm

Node.js/JavaScript, scopes, workspaces, peer dependencies

pypi

Python packages, wheels, sdists, extras, classifiers

cargo

Rust crates, features, editions, targets

gomod

Go modules, replace directives, module proxies

maven

Java/JVM artifacts, groupId:artifactId:version, POM

nuget

.NET packages, target frameworks

rubygems

Ruby gems, platforms, gemspec

cpan

Perl distributions, PAUSE IDs, modules

cran

R packages, Depends/Imports/Suggests

hackage

Haskell packages, Cabal metadata

hex

Elixir/Erlang packages, mix/rebar3

conda

Anaconda packages, channels, feedstocks

Application Distribution

Application packaging and distribution formats

flatpak

Linux desktop apps, runtimes, sandboxing

snap

Ubuntu Snap apps, confinement, interfaces

Extensions

Cross-cutting concerns extending the core model

security

CVE vulnerabilities, OSV ranges, CVSS scores, security advisories, patch provenance

vcs

Git repositories, commits, branches, tags, pull requests

slsa

Build provenance attestations, SLSA levels, builder identity

metrics

Code analysis: lines of code, cyclomatic complexity, language breakdowns

dq

Data quality issues and metadata validation

Vendor Extensions

Distribution-specific vendor metadata

redhat

Red Hat RHEL package sets, BaseOS/AppStream

Citation

If you use PackageGraph in academic work, please cite:

PackageGraph Project. PackageGraph: An OWL 2 Ontology for Cross-Distribution Software Package Analysis. Version 0.6.0, 2026. Available at: https://purl.org/packagegraph/ontology/core
BibTeX
@misc{packagegraph2026,
  title        = {{PackageGraph}: An {OWL} 2 Ontology for Cross-Distribution
                  Software Package Analysis},
  author       = {{PackageGraph Project}},
  year         = {2026},
  howpublished = {\url{https://purl.org/packagegraph/ontology/core}},
  note         = {Version 0.6.0. 34 modules, 253 classes, 29 ecosystem
                  extensions. OWL 2 DL, OntoClean compliant, SHACL validated.
                  Licensed under CC0 1.0 Universal.},
  url          = {https://purl.org/packagegraph/ontology/core}
}

Preferred namespace prefix: pkg: for https://purl.org/packagegraph/ontology/core#