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

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

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

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

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

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

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

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

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

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

Commit
subclass of: Restriction
  on property: commit hash
  cardinality: 1
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.
subclass of: Entity
comment: A commit in a version control system
subclass of: Restriction
  cardinality: 1
  on property: commit timestamp

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

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

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

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

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

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

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

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

CVS
comment: Concurrent Versions System
type: NamedIndividual

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

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

GitHub
type: NamedIndividual
comment: GitHub hosting platform

parent commit
domain: Commit
type: ObjectProperty
sub property of: wasDerivedFrom
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

Branch
comment: A branch in a version control repository
subclass of: Entity
subclass of: Restriction
  on property: branch name
  cardinality: 1
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.

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

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

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

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

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

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

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

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

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
range: boolean
domain: Release

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

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

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

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

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

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

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

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

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

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

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

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.
subclass of: Activity
comment: A pull/merge request for code changes

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

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

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

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

release date
type: DatatypeProperty
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
domain: Release

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

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

Milestone
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
type: Class

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

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

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

Version Control System Ontology
version info: 0.7.0
created: 2025-09-05
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
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.
creator: packagegraph.github.io
version IRI: https://purl.org/packagegraph/ontology/vcs/0.7.0
modified: 2026-04-21
type: Ontology
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/

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

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

Bazaar
type: NamedIndividual
comment: Bazaar version control system

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

GitLab
type: NamedIndividual
comment: GitLab hosting platform

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

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

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

Subversion
type: NamedIndividual
comment: Apache Subversion version control system

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

VCS Reference
subclass of: Entity
comment: A generic reference in version control (HEAD, refs, etc.)
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.
type: Class

Mercurial
comment: Mercurial version control system
type: NamedIndividual

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

has package
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.
type: ObjectProperty
comment: Links a repository to the packages that are built from it
inverse of: upstreamRepository
domain: Source Code Repository
range: PackageIdentity

Git
comment: Git version control system
type: NamedIndividual

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

Bitbucket
type: NamedIndividual
comment: Bitbucket hosting platform

Tag
subclass of: Restriction
  cardinality: 1
  on property: tag name
comment: A tag pointing to a specific commit or release
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.
subclass of: Entity

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

Fossil
comment: Fossil distributed version control system
type: NamedIndividual

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

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

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

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

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

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

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

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

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

Codeberg
type: NamedIndividual
comment: Codeberg hosting platform

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

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

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

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

SourceHut
type: NamedIndividual
comment: SourceHut hosting platform

GNU Savannah
comment: GNU Savannah hosting platform
type: NamedIndividual