commit ancestor

The transitive closure of parentCommit — any ancestor commit in the DAG. Transitive, non-simple: kept out of all cardinality / functional axioms to preserve OWL 2 DL regularity. Inverse of gmeow:commitDescendant.

Structure

Property shape: object property; gmeow:Commit -> gmeow:Commit Sub-property of: gmeow:wasDerivedFrom

Practical Pattern

Use gmeow:commitAncestor from gmeow:Commit to gmeow:Commit when the relationship itself belongs in the native GMEOW graph.

Example Snippets

These snippets are generated from canonical slice examples and trimmed to the Turtle blocks where this term appears.

Commit History

# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: a commit DAG with identity canonicalization and build provenance
# Commits form a directed graph via gmeow:commitAncestor. Each commit's
# author is recorded as a gmeow:AuthorIdentity — the as-committed git identity
# (one of possibly many emails) — which gmeow:canonicalizedIdentity resolves to
# the real gmeow:Agent, so "same person, three git emails" is one agent without
# rewriting history. A gmeow:BuildActivity ties a source commit (gmeow:buildSource)
# to the gmeow:Distribution it produced (gmeow:buildOutput): verifiable provenance
# from source to artifact.
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex:    <https://blackcatinformatics.ca/gmeow/examples/software/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

ex:commit2 a gmeow:Commit ;
    gmeow:commitInRepository   ex:repo ;
    gmeow:commitAuthorIdentity ex:danaGitId ;
    gmeow:commitAncestor       ex:commit1 ;
    gmeow:contentDigest        "git:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b" .

Common Companion Terms

gmeow:wasDerivedFrom, gmeow:Commit