content digest
- CURIE:
gmeow:contentDigest - IRI: https://blackcatinformatics.ca/gmeow/contentDigest
- Category: property
- Defined by:
gmeow:slices/sources - Box roles: RBox role (What is this?)
A content hash of an object's bytes (e.g. "blake3:…", "sha256:…", "git:…") — the reliable identity by content (two objects with the same bytes are the same object, regardless of path, name, or mtime). Domain-free: applies to creative works, source files, commits, distributions, and any other content-addressable artifact. Not functional: an object may carry digests under several algorithms.
Structure
Property shape: datatype property; ? -> rdfs:Literal
Practical Pattern
Use gmeow:contentDigest from ? to rdfs:Literal 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.
Imported Record
- Source:
slices/core/sources/examples/imported-record.ttl - Examples catalog: open in catalog#example-slices-core-sources-examples-imported-record
# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: pinning an imported source. The sources slice is the
# "where did this byte-stream come from" layer: gmeow:sourceLocation (where it was
# read from), gmeow:sourceModifiedAt (the source's own last-modified time, not the
# import time), and gmeow:contentDigest (a content hash so later re-imports can
# detect whether the bytes changed). Together they make an imported artifact
# re-fetchable and tamper-evident — the substrate the provenance slice builds its
# wasDerivedFrom lineage on.
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/sources/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:report a gmeow:CreativeWork ;
gmeow:title "Q3 2026 Financial Report"@en ;
gmeow:sourceLocation "/imports/finance/q3-2026.pdf" ;
gmeow:sourceModifiedAt "2026-09-30T17:00:00Z"^^xsd:dateTime ;
gmeow:contentDigest "blake3:5f8d1e2a9c4b7d0e3f6a1b8c5d2e9f0a3b6c7d4e1f8a2b5c9d0e3f6a7b4c1d8e" .
Agent Trajectory
- Source:
slices/extensions/agentic/examples/agent-trajectory.ttl - Examples catalog: open in catalog#example-slices-extensions-agentic-examples-agent-trajectory
@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex: <https://blackcatinformatics.ca/gmeow/examples/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:call-7-1 a gmeow:ToolCall ;
rdfs:label "turn 7, call 1: search"@en ;
gmeow:calledByInvocation ex:invocation-7 ;
gmeow:usedTool ex:webSearch ;
gmeow:toolArguments "{\"query\": \"GTS deterministic encoding spec\"}" ;
# Large result: the digest IS the value (gmeow:contentDigest convention).
gmeow:toolResult "blake3:9f64a747e1b97f131fabb6b447296c9b6f0201e79fb3c5356e6c77e89b6a806a" ;
gmeow:atTime "2026-06-12T17:03:11Z"^^xsd:dateTime ;
gmeow:eventTemporalFrame gmeow:temporalFrameUTCGregorian .
Projects To
| Profile | External Targets |
|---|---|
codemeta |
codemeta |
dcat |
rdf, spdx |
Linkages
Generated from the canonical mapping DSL. SSSOM files are the generated public interchange form for term equivalences.
Projection Coverage
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:contentDigest |
projection | codemeta |
projects to / = | codemeta:identifier | gmeow:mapCodeMetaIdentifier; lossy: digest algorithm, multiple digests; only the string value survives |
gmeow:contentDigest |
projection | dcat |
projects to / <= | rdf:type, spdx:Checksum, spdx:checksum, spdx:checksumValue | gmeow:mapDcatChecksum; confidence 0.85; lossy: the algorithm prefix stays inline in spdx:checksumValue (no spdx:algorithm split) |
Usage Advice
Use when
- Use to record a content hash of an artifact's bytes — the reliable by-content identity, since two objects with the same bytes are the same object regardless of path, name, or mtime.
Avoid when
- Avoid using a path, filename, or URL as identity (that is
gmeow:sourceLocation, audit-only) and avoid making it functional — one artifact may legitimately carry digests under several algorithms.
How to use
- Assert
gmeow:contentDigestwith an algorithm-prefixed literal ("blake3:…", "sha256:…", "git:…") on any content-addressable artifact; multiple algorithm digests coexist, and consumers deduplicate by matching digests.
Scope notes
- Typically asserted on a
Manifestation,Item,SourceFile,Commit, orDistribution.
Examples
- ex:report
gmeow:contentDigest"blake3:af1349b9f5f9a1a6a0404dea36dcc949".