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 Vocabulary Reference

TROV 0.1 DRAFT

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

Term reference for the Transparent Research Object Vocabulary (TROV). Lists every class, property, and predefined value in the current draft, with descriptions and cardinality constraints.

Document SectionDescription
Vocabulary MetadataNamespace, version, status, and license
ClassesCore entities: TRO, TRS, TRP, artifacts, compositions, arrangements
PropertiesRelationships between entities: linking TROs to TRSs, TRPs, arrangements, etc.
TRS Capability TypesWhat a TRS can do (e.g. provide internet isolation)
TRP Attribute TypesTransparency claims about a specific performance
TRO Attribute TypesTransparency claims about a TRO as a whole
Cardinality ConstraintsRequired vs optional properties and their multiplicities
External VocabulariesRDF, RDFS, and schema.org terms used alongside TROV
Known LimitationsScope boundaries and open questions for 0.1
NotesJSON-LD context, design rationale, relationship to pre-release

For the conceptual background motivating this vocabulary, see the TRACE Conceptual Model. For the JSON-LD format used to express TRO declarations, see TRO Declaration Format. For the design rationale behind the JSON-LD format, see TRO Declaration Design.


Vocabulary Metadata

Namespacehttps://w3id.org/trace/trov/0.1#
Prefixtrov:
Version0.1 (Draft)
LicenseCC BY-SA 4.0
PublisherTRACE Project
StatusNamespace URI does not yet resolve — see Versioning Strategy and Roadmap for the resolution plan.

Classes

Core Entities

ClassDescription
trov:TrustedResearchElementCommon base class for TRSs, TRPs, and TROs.
trov:TransparentResearchObjectA set of research artifacts produced by one or more TRPs and signed by the assembling TRS. Subclass of TrustedResearchElement.
trov:TrustedResearchSystemA system that performs TRPs and assembles TROs. Subclass of TrustedResearchElement.
trov:TrustedResearchPerformanceA supervised unit of work conducted by a TRS. The centerpiece of the TRACE conceptual model. Subclass of TrustedResearchElement.
trov:TimeStampingAuthorityAn RFC 3161 timestamping authority trusted by a TRS. Subclass of TrustedResearchElement.

Artifacts and Compositions

ClassDescription
trov:ArtifactCollectionBase class for collections of one or more artifacts.
trov:ArtifactCompositionThe set of all digital artifacts described by a TRO, identified by a composition fingerprint. Subclass of ArtifactCollection.
trov:ResearchArtifactA digital object (file, dataset, or bitstream) identified by a content hash.
trov:CompositionFingerprintA hash computed over the sorted hashes of all artifacts in a composition. Enables identifying TROs that describe the same set of artifacts.

Arrangements and Locations

ClassDescription
trov:ArtifactArrangementA named collection of artifact locations. Arrangements are linked to performances as inputs or outputs.
trov:ArtifactLocationThe placement of a specific artifact within an arrangement. Links one artifact to one resource path.

The Warrant Chain: Attributes and Capabilities

The warrant chain is TROV’s mechanism for accountability. When transparency claims are made about a TRO, the warrant chain records who is responsible for them.

TRO attribute
  ← warranted by → TRP attribute
    ← warranted by → TRS capability
ClassDescription
trov:TREAttributeBase class for attributes of a TRS, TRP, or TRO.
trov:TRSAttributeAn attribute of a TRS. Subclass of TREAttribute.
trov:TRSCapabilityA declared ability of a TRS to enforce a specific transparency condition. Subclass of TRSAttribute.
trov:TRSPolicyA TRS-level assertion about a capability. Subclass of TRSCapability. Under redesign — see Known Limitations.
trov:TRPAttributeA transparency claim about the conditions under which a specific TRP was conducted. Subclass of TREAttribute.
trov:TROAttributeA transparency claim about a TRO as a whole, warranted by attributes of its constituent TRPs. Subclass of TREAttribute.

Properties

TRO Properties

PropertyDomainRangeDescription
trov:vocabularyVersionTransparentResearchObjectLiteral (string)The TROV vocabulary version this declaration conforms to (e.g. "0.1").
trov:wasAssembledByTransparentResearchObjectTrustedResearchSystemLinks a TRO to the TRS that produced and signed it.
trov:createdWithTransparentResearchObjectschema:SoftwareApplicationSoftware tool that generated this TRO declaration (optional). Value includes schema:name and schema:softwareVersion.
trov:wasTimestampedByTransparentResearchObjectTimeStampingAuthorityLinks a TRO to a TSA that timestamped the TRS signature.
trov:hasCompositionTransparentResearchObjectArtifactCompositionLinks a TRO to the composition of artifacts it describes.
trov:hasArrangementTransparentResearchObjectArtifactArrangementLinks a TRO to an artifact arrangement it describes.
trov:hasPerformanceTransparentResearchObjectTrustedResearchPerformanceLinks a TRO to a TRP it describes.
trov:hasAttributeTransparentResearchObjectTROAttributeLinks a TRO to a transparency attribute asserted for it.

TRS Properties

PropertyDomainRangeDescription
trov:hasCapabilityTrustedResearchSystemTRSCapabilityLinks a TRS to a capability it declares.
trov:publicKeyTrustedResearchSystemLiteralThe TRS’s public key (optional). Required for GPG signing (binds the key to the signed declaration content). Not needed for X.509/CMS (the certificate chain is in the .p7s file).
trov:customTermTrustedResearchSystemResourceDeclares a custom term that extends a TROV class. Each value is a resource with an rdfs:subClassOf triple connecting it to the TROV class it extends. See TROV Extension Guide.

TRP Properties

PropertyDomainRangeDescription
trov:wasConductedByTrustedResearchPerformanceTrustedResearchSystemLinks a TRP to the TRS that conducted it.
trov:accessedArrangementTrustedResearchPerformanceArtifactArrangementLinks a TRP to an arrangement it read from.
trov:contributedToArrangementTrustedResearchPerformanceArtifactArrangementLinks a TRP to an arrangement it wrote to.
trov:hasPerformanceAttributeTrustedResearchPerformanceTRPAttributeLinks a TRP to a transparency attribute claimed for it.
trov:startedAtTimeTrustedResearchPerformanceLiteral (ISO 8601 string)When the performance began.
trov:endedAtTimeTrustedResearchPerformanceLiteral (ISO 8601 string)When the performance ended.

Composition and Artifact Properties

PropertyDomainRangeDescription
trov:hasArtifactArtifactCompositionResearchArtifactLinks a composition to an artifact it contains.
trov:hasFingerprintArtifactCompositionCompositionFingerprintLinks a composition to its fingerprint.
trov:hashResearchArtifact or CompositionFingerprintObject or array of objectsOne or more hashes of an artifact’s contents or of a composition’s sorted artifact hash values. Each object contains trov:hashAlgorithm and trov:hashValue.
trov:hashAlgorithm(within trov:hash object)Literal (string)The algorithm used to compute the hash (e.g. "sha256", "hmac-sha256").
trov:hashValue(within trov:hash object)Literal (string)The computed hash value.
trov:mimeTypeResearchArtifactLiteral (string)The MIME type of an artifact.

Arrangement and Location Properties

PropertyDomainRangeDescription
trov:hasArtifactLocationArtifactArrangementArtifactLocationLinks an arrangement to one of its artifact locations.
trov:artifactArtifactLocationResearchArtifactLinks a location to the artifact placed there.
trov:pathArtifactLocationLiteral (string: file path, URI, or other locator)The resource path for the artifact within this arrangement.

Warrant Chain Properties

PropertyDomainRangeDescription
trov:warrantedByTRPAttributeTRSCapabilityLinks a performance attribute to the TRS capability that justifies it.
trov:warrantedByTROAttributeTRPAttributeLinks a TRO attribute to the performance attribute(s) that justify it.

Predefined Values: TRS Capability Types

The following capability types are currently defined. This list is designed to grow as new transparency conditions are identified by the research community.

Capabilities Implemented by tro-utils / SIVACOR

IndividualParentDescription
trov:CanProvideInternetIsolationTRSCapabilityThe TRS can isolate computations from network access during a TRP.
trov:CanRecordInternetAccessTRSCapabilityThe TRS can record all network accesses made during a TRP.

Additional Capabilities Under Discussion

IndividualParentDescription
trov:CanIsolateEnvironmentTRSCapabilityThe TRS can prevent access to the host environment during a TRP (e.g., sandbox or container execution).
trov:CanPreventAuthorInterventionTRSCapabilityThe TRS can prevent author intervention during a TRP (e.g., fully automated execution).
trov:CanExcludeInputsTRSCapabilityThe TRS can exclude input data from a TRO produced during a TRP.
trov:CanExcludeOutputsTRSCapabilityThe TRS can exclude output data from a TRO produced during a TRP.
trov:CanEnsureInputDataIncludedInTROPackageTRSCapabilityThe TRS can ensure all input data is included in the TRO package.
trov:CanRequireInputDataExistsBeforeRunTRSCapabilityThe TRS can require all input data exists prior to a TRP.
trov:CanRequireInputDataLocalBeforeRunTRSCapabilityThe TRS can require all input data is stored locally prior to a TRP.
trov:CanEnsureInputDataPersistsAfterRunTRSCapabilityThe TRS can ensure all input data persists after a TRP.
trov:CanEnsureOutputDataIncludedInTROPackageTRSCapabilityThe TRS can ensure all output data is included in the TRO package.
trov:CanEnsureCodeIncludedInTROPackageTRSCapabilityThe TRS can ensure all custom code is included in the TRO package.
trov:CanRecordSoftwareEnvironmentTRSCapabilityThe TRS can record a full description of the software environment.
trov:CanDetectInternetAccessTRSCapabilityThe TRS can detect Internet access during a TRP.
trov:CanEnforceInternetIsolationTRSCapabilityThe TRS can enforce Internet isolation during a TRP.
trov:CanPreventUserInteractionDuringRunTRSCapabilityThe TRS can prevent user interaction during a TRP.
trov:CanEnforceCapabilitiesTechnicallyTRSCapabilityThe TRS can enforce all of its declared capabilities through technical means (as opposed to policy-based enforcement).

Predefined Values: TRP Attribute Types

IndividualParentWarranted ByDescription
trov:InternetIsolationTRPAttributetrov:CanProvideInternetIsolationThe TRP was conducted without network access.
trov:InternetAccessRecordingTRPAttributetrov:CanRecordInternetAccessAll network accesses during the TRP were recorded.

Predefined Values: TRO Attribute Types

IndividualParentWarranted ByDescription
trov:IncludesAllInputDataTROAttribute(TRP attributes)The TRO composition includes all input data employed in creating the TRO.

Cardinality Constraints

The following constraints are defined in SHACL shapes and enforced during validation.

ShapePropertyConstraint
TROtrov:vocabularyVersionExactly 1 (string)
TROtrov:wasAssembledByExactly 1 TRS
TROtrov:wasTimestampedByAt most 1 TSA
TROtrov:createdWithAt most 1 (object)
TROtrov:hasCompositionExactly 1
TROtrov:hasArrangementAt least 1
TRStrov:publicKeyAt most 1 (string). Required for GPG signing.
TSAtrov:publicKeyAt most 1 (string)
Compositiontrov:hasFingerprintExactly 1
Compositiontrov:hasArtifactAt least 1
Fingerprinttrov:hashExactly 1 (object)
Artifacttrov:hashAt least 1 (object or array)
Artifacttrov:mimeTypeAt most 1 (string)
Arrangementtrov:hasArtifactLocationAt least 1
Locationtrov:artifactExactly 1
Locationtrov:pathExactly 1 (string)

External Vocabularies Used

TROV uses terms from the following external vocabularies:

PrefixNamespaceUsage
rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#rdf:type
rdfs:http://www.w3.org/2000/01/rdf-schema#rdfs:comment, rdfs:Class, rdfs:subClassOf
schema:https://schema.orgschema:CreativeWork, schema:Organization, schema:creator, schema:name, schema:description, schema:dateCreated. Optional — used in tro-utils for TRO and TRS metadata but not required for conformance. See TRO Declaration Format — dependency boundary.

Known Limitations

LimitationDisposition
Only two TRP attribute types defined (InternetIsolation, InternetAccessRecording)Acceptable for 0.1 — new types can be added without breaking changes
Only one TRO attribute type defined (IncludesAllInputData)Acceptable for 0.1 — same reasoning
trov:publicKey optional — required for GPG, not needed for X.509/CMSResolved: see TRO Packages — Signing identity and trust
No trov:signingMechanism property to identify the signing approachResolve for 0.1
TRSPolicy / trov:hasPolicy defined but not wired upDeferred to 0.2
trov:TimeStampingAuthority wraps an external concept (RFC 3161 TSA)Acceptable for 0.1 — no standard RDF class exists; candidate for replacement if one emerges

Notes

Namespace. The 0.1 namespace is https://w3id.org/trace/trov/0.1#; the pre-release namespace https://w3id.org/trace/2023/05/trov# is retired. See Pre-Release Vocabulary Reference for migration guidance.

Extensibility. The capability and attribute type lists are designed to be extended. New TRS capability types and corresponding performance/TRO attribute types can be added as new transparency conditions are identified. Existing TRS certificates and TRO declarations remain valid when new types are introduced.

Signing mechanism. TROV is agnostic to the specific signing technology. Current implementations use GPG and X.509/CMS. For GPG, trov:publicKey is required in the declaration to bind the key to the signed content. For X.509/CMS, the certificate chain in the .p7s file provides identity binding, so trov:publicKey is not needed. See TRO Packages — Signing identity and trust for details. A proposed trov:signingMechanism property is under review for 0.1.

Interoperability. TROV aims to be interoperable with, rather than to replace, current and future Research Object standards (e.g., RO-Crate), archival formats (e.g., BagIt), and repository layouts. TROV complements the W3C PROV-O ontology for describing general provenance relationships.

JSON-LD context. TRO declarations use a @context block to map short-form term names to the URIs defined here. See TRO Declaration Format for the structure and TRO Declaration Design for the dual-audience rationale.