Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

TROV Pre-Release Vocabulary Reference

DRAFT

This document is a draft and subject to revision. Please submit feedback or report issues.

Frozen snapshot of the pre-release vocabulary used by early TRACE implementations. Lists only the terms actually produced by the pre-release implementations, with term changes and migration guidance for TROV 0.1.

Document SectionDescription
Vocabulary MetadataNamespace, prefix, and status
ScopeWhat terms are included
ClassesCore entities, artifacts, arrangements, and locations
PropertiesTRO, TRS, composition, arrangement, TRP, and warrant chain properties
TRS CapabilitiesCapability types produced by pre-release implementations
TRP AttributesAttribute types and their warrant links
External VocabulariesRDF, RDFS, and schema.org terms used alongside TROV
Term Changes in TROV 0.1Term renames
MigrationSteps to convert pre-release declarations to 0.1

Vocabulary Metadata

Migration notice. The 2023/05 namespace was used during early development by pre-release TRACE implementations. TRO declarations created with this namespace remain valid documents but are not guaranteed to conform to TROV 0.1 without conversion. New implementations should use TROV 0.1 (https://w3id.org/trace/trov/0.1#). See the Versioning Strategy and Roadmap for details.


Scope

This document records only the terms actually used by the pre-release implementations. Terms previously defined in the ontology file (trov.ttl) or in hand-written examples but not produced by early implementations are not listed here. For the full vocabulary including additional capability types and attribute types, see TROV 0.1.


Classes

Core Entities

ClassDescription
trov:TransparentResearchObjectA set of research artifacts produced by one or more TRPs and signed by the assembling TRS.
trov:TrustedResearchSystemA system that performs TRPs and assembles TROs.
trov:TrustedResearchPerformanceA supervised unit of work conducted by a TRS.

Artifacts and Compositions

ClassDescription
trov:ArtifactCompositionThe set of all digital artifacts described by a TRO.
trov:ResearchArtifactA digital object identified by a content hash.
trov:CompositionFingerprintA hash computed over the sorted hashes of all artifacts in a composition.

Arrangements and Loci

ClassDescription
trov:ArtifactArrangementA named collection of artifact locations capturing where artifacts were at a point in a workflow.
trov:ArtifactLocusThe location of a specific artifact within an arrangement.

Properties

TRO Properties

PropertyDescription
trov:wasAssembledByLinks a TRO to the TRS that produced it.
trov:hasCompositionLinks a TRO to its artifact composition.
trov:hasArrangementLinks a TRO to an artifact arrangement.
trov:hasPerformanceLinks a TRO to a TRP it describes.
trov:hasAttributeLinks a TRO to a transparency attribute. Present but empty in pre-release implementations.

TRS Properties

PropertyDescription
trov:hasCapabilityLinks a TRS to a capability it declares.
trov:publicKeyThe public key associated with the TRS. ASCII-armored GPG key.
trov:nameShort name for the TRS.
trov:ownerOwner of the TRS.
trov:descriptionDescription of the TRS.
trov:contactContact email for the TRS.
trov:urlURL for the TRS.

Composition and Artifact Properties

PropertyDescription
trov:hasArtifactLinks a composition or locus to an artifact.
trov:hasFingerprintLinks a composition to its fingerprint.
trov:sha256SHA-256 digest of an artifact’s contents or a composition’s sorted artifact digests.
trov:mimeTypeMIME type of an artifact.

Arrangement and Locus Properties

PropertyDescription
trov:hasLocusLinks an arrangement to one of its loci.
trov:hasLocationResource path for an artifact within an arrangement.

TRP Properties

PropertyDescription
trov:wasConductedByLinks a TRP to the TRS that conducted it.
trov:accessedArrangementLinks a TRP to an arrangement it read from.
trov:contributedToArrangementLinks a TRP to an arrangement it wrote to.
trov:hasPerformanceAttributeLinks a TRP to a transparency attribute claimed for it.
trov:startedAtTimeWhen the performance began.
trov:endedAtTimeWhen the performance ended.

Warrant Chain Properties

PropertyDescription
trov:warrantedByLinks a TRP attribute to the TRS capability that justifies it.

TRS Capability Types

TypeDescription
trov:CanProvideInternetIsolationThe TRS can isolate computations from network access during a TRP.
trov:CanRecordInternetAccessThe TRS can record all network accesses made during a TRP.

TRP Attribute Types

TypeWarranted byDescription
trov:InternetIsolationtrov:CanProvideInternetIsolationThe TRP was conducted without network access.
trov:InternetAccessRecordingtrov:CanRecordInternetAccessAll network accesses during the TRP were recorded.

External Vocabularies Used

Both implementations use the following external vocabularies alongside TROV:

PrefixNamespaceTerms used
rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#rdf:type (implicit via @type)
rdfs:http://www.w3.org/2000/01/rdf-schema#rdfs:comment
schema:https://schema.orgschema:CreativeWork, schema:Organization, schema:creator, schema:name, schema:description, schema:dateCreated

The schema: terms appear on the TRO root node and on the TRS node.


Term Changes in TROV 0.1

Pre-releaseTROV 0.1
trov:ArtifactLocustrov:ArtifactLocation
trov:hasLocustrov:hasArtifactLocation
trov:hasArtifact (on locus)trov:artifact
trov:hasLocationtrov:path
trov:sha256trov:hash (object with trov:hashAlgorithm + trov:hashValue)

Migration to TROV 0.1

Based on the current 0.1 draft, updating a pre-release TRO declaration to conform to TROV 0.1 involves the following changes. These steps may be revised as 0.1 is finalized.

  1. Update the namespace URI in the @context block from https://w3id.org/trace/2023/05/trov# to https://w3id.org/trace/trov/0.1#.

  2. Replace trov:sha256 with a trov:hash object containing trov:hashAlgorithm and trov:hashValue. For example, "trov:sha256": "abc..." becomes "trov:hash": { "trov:hashAlgorithm": "sha256", "trov:hashValue": "abc..." }.

  3. Add trov:vocabularyVersion property to the TRO root object (value "0.1").

  4. Rename artifact location terms. trov:ArtifactLocustrov:ArtifactLocation, trov:hasLocustrov:hasArtifactLocation, trov:hasArtifact (on locations) → trov:artifact, trov:hasLocationtrov:path.