Describe Offline GTS Distribution

Treat a GTS file as a first-class graph object with segments, profiles, chain heads, opaque frames, codecs, and compaction lineage.

Core Terms

gmeow:GTSDocument, gmeow:GTSProfile, gmeow:GTSSegment

Read Next

Examples

Dist Package

# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
# Worked example: a two-segment GTS distribution package described
# in GMEOW's own transport vocabulary — the dogfood loop closed. Validates
# in `make validate` against the merged ontology + SHACL (the segment
# shapes demand the composite-identity parts: head, index, profile).

@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#> .

# The full WEMI spine the shapes demand: Work ← realizes ← Expression
# ← embodies ← Manifestation (the GTS document and its segments).
ex:gmeow-ontology-work-001
    a gmeow:Work ;
    rdfs:label "the GMEOW ontology"@en .

ex:gmeow-ontology-expression-001
    a gmeow:Expression ;
    rdfs:label "the GMEOW ontology, v0.1.0 statement-complete expression"@en ;
    gmeow:realizes ex:gmeow-ontology-work-001 ;
    # P11: an expression's content lives in a reference system — here the
    # (English-labelled) vocabulary expression of the ontology.
    gmeow:hasReferenceFrame gmeow:referenceFrameEnglish .

ex:gts-dist-package-001
    a gmeow:GTSDocument ;
    rdfs:label "gmeow.gts — the dist snapshot, with a music extension appended"@en ;
    gmeow:embodies ex:gmeow-ontology-expression-001 ;
    gmeow:contentDigest "blake3:0e2f4b8a3c1d5e7f9a0b2c4d6e8f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" .

ex:gts-dist-segment-core
    a gmeow:GTSSegment ;
    rdfs:label "core dist segment"@en ;
    gmeow:gtsSegmentOf ex:gts-dist-package-001 ;
    gmeow:embodies ex:gmeow-ontology-expression-001 ;
    gmeow:gtsSegmentIndex "0"^^xsd:nonNegativeInteger ;
    gmeow:gtsHeadId "blake3:929d046b2300eb09424f2d46b07fb793ad97ddde5e9fdb25ebefe245e8da8be8" ;
    gmeow:gtsProfile gmeow:gtsProfileDist ;
    gmeow:usesTransformCodec gmeow:codecZstd .

ex:gts-dist-segment-music
    a gmeow:GTSSegment ;
    rdfs:label "appended music-extension segment"@en ;
    gmeow:gtsSegmentOf ex:gts-dist-package-001 ;
    gmeow:embodies ex:gmeow-ontology-expression-001 ;
    gmeow:gtsSegmentIndex "1"^^xsd:nonNegativeInteger ;
    gmeow:gtsHeadId "blake3:167704cc2c533090b63ff3bf38b4fcff2bb70b33f996aa22f53025044e310ee8" ;
    gmeow:gtsProfile gmeow:gtsProfileGeneric ;
    gmeow:usesTransformCodec gmeow:codecZstd .

# A sealed frame: opacity is vantage-relative — transparent to its recipient.
ex:gts-opaque-frame-001
    a gmeow:OpaqueFrame ;
    rdfs:label "sealed evidence attachment"@en ;
    gmeow:opaqueFrameIn ex:gts-dist-segment-core ;
    gmeow:opacityReason gmeow:opacityMissingKey ;
    gmeow:sealedRecipient ex:agent-archivist-001 .

ex:agent-archivist-001
    a gmeow:Agent ;
    rdfs:label "the archivist"@en .