Repository navigation
Expand file tree
/
Copy pathterms.html
More file actions
101 lines (93 loc) · 8.84 KB
/
Copy pathterms.html
File metadata and controls
101 lines (93 loc) · 8.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>DataLab workspace capsule terms</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
td, th { vertical-align: top; padding: 0.3em 0.6em; text-align: left; }
tr:target { background: #fff3c4; }
</style>
</head>
<body>
<h1>DataLab workspace capsule terms</h1>
<p>
Namespace: <code>https://datalab-platform.com/capsule/terms#</code>
(JSON-LD prefix <code>dlc</code>), used by the
<a href="0.1/">DataLab workspace capsule profile</a>. Status:
experimental. Terms are only added; a published term keeps its meaning.
</p>
<h2>Classes</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="Environment"><td><code>Environment</code></td><td>Execution environment of activities: DataLab edition and version, Python implementation and version, platform, Pyodide version; package versions are listed as <code>softwareRequirements</code>.</td></tr>
<tr id="RoleBinding"><td><code>RoleBinding</code></td><td>One input or output of an action: its role (<code>name</code>), its <code>position</code> among the action's inputs or outputs (0-based) and the bound state or artifact, or, for a legacy activity, the bound object (<code>objectUuid</code>) whose state at execution time is unknown.</td></tr>
</table>
<h2>Properties of the root dataset</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="manifestFingerprint"><td><code>manifestFingerprint</code></td><td><code>sha256:</code> digest of the RFC 8785 canonical JSON of the manifest, computed without this property.</td></tr>
<tr id="workspaceId"><td><code>workspaceId</code></td><td>Identifier of the workspace ledger.</td></tr>
<tr id="revisionOf"><td><code>revisionOf</code></td><td>Manifest fingerprint (<code>sha256:</code> digest) of the parent revision of this capsule; at most one. Part of the manifest fingerprint of the child.</td></tr>
</table>
<h2>Properties of the workspace file</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="referenced"><td><code>referenced</code></td><td><code>true</code> when the workspace is not included in the archive but referenced by the absolute IRI of its <code>File</code> entity; its <code>sha256</code> and <code>contentSize</code> must match the bytes obtained (defined in the <a href="0.1/">profile</a>).</td></tr>
</table>
<h2>Properties of attachments</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="attachment"><td><code>attachment</code></td><td><code>true</code> on a <code>File</code> stored as <code>attachments/<name></code>: a light file chosen by the author, used by no activity, checked against its <code>sha256</code> and <code>contentSize</code> and never executed (defined in the <a href="0.1/">profile</a>).</td></tr>
</table>
<h2>Properties of actions</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="inputs"><td><code>inputs</code></td><td>Ordered inputs of the action, as <code>RoleBinding</code> entities.</td></tr>
<tr id="outputs"><td><code>outputs</code></td><td>Ordered outputs of the action, as <code>RoleBinding</code> entities.</td></tr>
<tr id="parameters"><td><code>parameters</code></td><td>Parameters of the operation call, as <code>PropertyValue</code> entities.</td></tr>
<tr id="replayable"><td><code>replayable</code></td><td><code>true</code> when the call names an operation contract (identifier and version): a reader may recompute it when its computation library qualifies that contract version for replay; <code>false</code> for an opaque call (no operation identity).</td></tr>
<tr id="origin"><td><code>origin</code></td><td>How the activity was started: <code>ordinary</code>, <code>recompute_in_place</code> or <code>history_replay</code>; <code>legacy_metadata</code> for an activity rebuilt from processing metadata of a workspace saved without provenance (defined in the <a href="0.1/">profile</a>).</td></tr>
<tr id="environment"><td><code>environment</code></td><td>The <code>Environment</code> in which the activity ran.</td></tr>
<tr id="limits"><td><code>limits</code></td><td>Reasons why the activity cannot be replayed, e.g. <code>parameters_not_encoded</code>.</td></tr>
<tr id="legacy"><td><code>legacy</code></td><td>For a <code>legacy_metadata</code> activity, RFC 8785 canonical JSON text of the processing record as stored, the object holding it, the version that saved the file and the issues found at import (defined in the <a href="0.1/">profile</a>).</td></tr>
<tr id="observedState"><td><code>observedState</code></td><td>For a <code>legacy_metadata</code> activity, the state of the object holding the record, observed when the workspace was opened; not attested as the historical result and not produced by the activity.</td></tr>
<tr id="commandId"><td><code>commandId</code></td><td>Identifier shared by the activities of one user command.</td></tr>
<tr id="xAlignment"><td><code>xAlignment</code></td><td>X-alignment rule applied to the inputs before the call, as RFC 8785 canonical JSON text: <code>rule</code> identifier, <code>version</code>, and <code>interpolated</code> (<code>true</code> when the operand was resampled on the source grid). Absent when no alignment applies. A replay refuses an unknown rule or version.</td></tr>
</table>
<h2>Properties of role bindings and parameters</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="state"><td><code>state</code></td><td>The state bound to the role.</td></tr>
<tr id="artifact"><td><code>artifact</code></td><td>The non-state result (e.g. an analysis table) bound to the role.</td></tr>
<tr id="jsonValue"><td><code>jsonValue</code></td><td>Parameter value as RFC 8785 canonical JSON text (lossless, including <code>null</code> and encoded non-finite numbers).</td></tr>
</table>
<h2>Properties of states and artifacts</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="kind"><td><code>kind</code></td><td>Kind of the object: <code>signal</code> or <code>image</code>.</td></tr>
<tr id="objectUuid"><td><code>objectUuid</code></td><td>Persistent identifier of the DataLab object.</td></tr>
<tr id="sequence"><td><code>sequence</code></td><td>Observation order of the state in the ledger.</td></tr>
<tr id="fingerprint"><td><code>fingerprint</code></td><td>Content fingerprint of the state (e.g. <code>sha256:</code> digest).</td></tr>
<tr id="fingerprintScheme"><td><code>fingerprintScheme</code></td><td>Scheme of the fingerprint: <code>datalab-signal-v1</code>, <code>datalab-signal-v2</code> or <code>datalab-image-v1</code> (defined in the <a href="0.1/">profile</a>).</td></tr>
<tr id="locator"><td><code>locator</code></td><td>HDF5 path of the object holding the state in <code>workspace.h5</code>; absent when the state is not stored.</td></tr>
<tr id="roi"><td><code>roi</code></td><td>Region of interest of the object, as RFC 8785 canonical JSON text of its definition; masks derive from it. Absent when the object has none.</td></tr>
<tr id="producedBy"><td><code>producedBy</code></td><td>The action that produced the state.</td></tr>
<tr id="artifactKind"><td><code>artifactKind</code></td><td>Kind of an artifact, e.g. <code>table</code>.</td></tr>
<tr id="key"><td><code>key</code></td><td>Key of an artifact within its object.</td></tr>
<tr id="resultDigest"><td><code>resultDigest</code></td><td><code>sha256:</code> digest of the value an artifact held when it was recorded (defined in the <a href="0.1/">profile</a>); a different current value means the result was replaced.</td></tr>
</table>
<h2>Properties of software and environments</h2>
<table>
<tr><th>Term</th><th>Definition</th></tr>
<tr id="operationId"><td><code>operationId</code></td><td>Stable identifier of an operation contract, e.g. <code>sigima.signal.normalize</code>.</td></tr>
<tr id="contractVersion"><td><code>contractVersion</code></td><td>Integer version of the operation contract.</td></tr>
<tr id="package"><td><code>package</code></td><td>Python distribution providing an implementation.</td></tr>
<tr id="edition"><td><code>edition</code></td><td>DataLab edition: <code>desktop</code> or <code>web</code>.</td></tr>
<tr id="editionVersion"><td><code>editionVersion</code></td><td>Version of the DataLab edition.</td></tr>
<tr id="python"><td><code>python</code></td><td>Python implementation and version.</td></tr>
<tr id="platform"><td><code>platform</code></td><td>Platform identifier (e.g. <code>win32</code>, <code>emscripten</code>).</td></tr>
<tr id="pyodide"><td><code>pyodide</code></td><td>Pyodide version, or null outside Pyodide.</td></tr>
</table>
</body>
</html>