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

corresponding package version
type: ObjectProperty
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
domain: Release

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

first commit date
type: DatatypeProperty
type: FunctionalProperty
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
domain: Source Code Repository
range: dateTime

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

committed by
type: ObjectProperty
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
domain: Commit
range: Contributor
sub property of: wasAttributedTo

Mercurial
type: NamedIndividual
comment: Mercurial version control system

commit message
type: DatatypeProperty
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
domain: Commit
range: string

File
type: Class
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
subclass of: Entity

stargazer count
type: DatatypeProperty
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
domain: Source Code Repository
range: int

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

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

GitLab
type: NamedIndividual
comment: GitLab hosting platform

issues closed last month
type: DatatypeProperty
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
domain: Source Code Repository
range: int

Release
type: Class
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
subclass of: Tag

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

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

Tag
type: Class
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
subclass of: Restriction
  cardinality: 1
  on property: tag name
subclass of: Entity

Diff
type: Class
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
subclass of: Thing

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

has package
type: ObjectProperty
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
domain: Source Code Repository
range: PackageIdentity
inverse of: upstreamRepository

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

Git
type: NamedIndividual
comment: Git version control system

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

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

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

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

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

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

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

author timestamp
type: DatatypeProperty
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
domain: Commit
range: dateTime

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

Bitbucket
type: NamedIndividual
comment: Bitbucket hosting platform

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

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

packaged from tag
type: ObjectProperty
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
range: Tag
sub property of: wasDerivedFrom

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

GitHub
type: NamedIndividual
comment: GitHub hosting platform

Bazaar
type: NamedIndividual
comment: Bazaar version control system

encoding
type: DatatypeProperty
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
domain: File
range: string

Version Control System Ontology
type: Ontology
abstract: The VCS ontology extends PackageGraph Core to link packages to their upstream source code repositories. It models Git repositories, commits, branches, and tags, enabling queries that trace a binary package back through its source package to the upstream project repository, commit history, and contributors.
created: 2025-09-05
creator: packagegraph.github.io
description: A comprehensive ontology for modeling version control systems, source code repositories, commits, branches, tags, and related metadata including file changes, authorship, and repository hosting platforms.
license: https://creativecommons.org/publicdomain/zero/1.0/
modified: 2026-04-21
comment: Ontology for representing source code repositories, commits, branches, tags, and version control metadata
imports: core#
prior version: https://purl.org/packagegraph/ontology/vcs/0.6.0
version IRI: https://purl.org/packagegraph/ontology/vcs/0.7.0
version info: 0.7.0

issues closed last year
type: DatatypeProperty
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
domain: Source Code Repository
range: int

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

Codeberg
type: NamedIndividual
comment: Codeberg hosting platform

VCS Reference
type: Class
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.)
subclass of: Entity

CVS
type: NamedIndividual
comment: Concurrent Versions System

VCS type
type: DatatypeProperty
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.)
domain: Source Code Repository
range: string

milestone progress
type: DatatypeProperty
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)
domain: Milestone
range: float

Issue
type: Class
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
subclass of: Thing

PRs opened last year
type: DatatypeProperty
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
domain: Source Code Repository
range: int

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

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

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

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

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

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

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

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

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

default branch
type: DatatypeProperty
type: FunctionalProperty
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
domain: Source Code Repository
range: string

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

Commit
type: Class
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
subclass of: Restriction
  cardinality: 1
  on property: commit hash
subclass of: Restriction
  cardinality: 1
  on property: commit timestamp
subclass of: Entity

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

PRs opened last month
type: DatatypeProperty
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
domain: Source Code Repository
range: int

is protected
type: DatatypeProperty
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
domain: Branch
range: boolean

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

PRs closed last month
type: DatatypeProperty
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
domain: Source Code Repository
range: int

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

Pull Request
type: Class
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
subclass of: Activity

is pre-release
type: DatatypeProperty
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
domain: Release
range: boolean

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

GNU Savannah
type: NamedIndividual
comment: GNU Savannah hosting platform

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

Fossil
type: NamedIndividual
comment: Fossil distributed version control system

Source Code Repository
type: Class
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
subclass of: Restriction
  max cardinality: 1
  on property: default branch
subclass of: Thing

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

PRs closed last year
type: DatatypeProperty
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
domain: Source Code Repository
range: int

SourceHut
type: NamedIndividual
comment: SourceHut hosting platform

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

has upstream repository
type: ObjectProperty
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
range: Source Code Repository

issues opened last year
type: DatatypeProperty
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
domain: Source Code Repository
range: int

clone URL
type: DatatypeProperty
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
domain: Source Code Repository
range: anyURI

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

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

commit frequency
type: DatatypeProperty
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
domain: Source Code Repository
range: float

Subversion
type: NamedIndividual
comment: Apache Subversion version control system

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

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

release stability
type: DatatypeProperty
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)
domain: Release
range: string

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

Release Candidate
type: Class
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
subclass of: Release

tag message
type: DatatypeProperty
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
domain: Tag
range: string

issues opened last month
type: DatatypeProperty
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
domain: Source Code Repository
range: int

Branch
type: Class
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
subclass of: Restriction
  cardinality: 1
  on property: branch name
subclass of: Entity