A trace is a container of obsels, and is described by the following attributes:
- a trace model with which it should complies,
- an origin,
- optionally, one or more RDF graph containing contextual data about that trace.
A trace complies with its model if all its obsels have a type defined by the model, all their attributes are legal for their type, and all the obsel pairs in relation have types consistent with the domain and range of those relations.
Note that it is not required for a trace to comply with its model at any time. This is intended to let the user decide whether the trace or the model itself should be fixed.
Typically, the origin of a trace is a timestamp. However, it can also be an opaque string, meaning that the precise time when the trace was collected is not known.
This opaque string can nevertheless be reused across several traces (especially computed traces) deriving from another one), to indicate that timestamps are comparable across those traces.
The contextual data of a trace is any information that can not be captured by the trace model nor the obsels of that trace, but is useful to interpret the trace. For example, the contextual data may contain information about the subjects referred to by the obsels (their name, address, occupation...).
Obviously, the contextual data of a trace should be valid for the whole duration of that trace. This limits the kind of information that it can contain: in the example above, if the subjects’ occupation was expected to change in the time-span of the trace, they should rather be represented as obsels in the trace (with explicit timestamps).
The obsels contained in a stored trace are updated from outside the kTBS. There are two ways a stored trace can be updated:
- collection: this is the addition of a new obsel, with all its attributes and relations,
- amendment: this is an arbitrary modification of a trace (addition, modification or deletion of obsels, attributes or relations).
While it is expected that collection is the primary mode of updating stored traces, users may sometime have full control on their traces and require to amend them. This has some technical implication, as discussed in a further section.
The obsels contained in a computed trace are generated by the kTBS according to a computation Method. More precisely, a computed trace is described by:
- a method,
- optionnaly, a number of parameters,
- optionnaly, a number of source traces.
Which parameters and source traces are possible depend on the method used by the computed trace. In general, the model and origin of a computed trace are also determined by the method.
Note that the kTBS automatically updates the content of a computed trace each time it is accessed, so nothing is required to run the computation.