Project

General

Profile

Metadata » History » Version 4

Peter Amstutz, 10/21/2016 03:46 PM

1 1 Peter Amstutz
h1. Metadata
2
3
Input and output documents gain parallel "input metadata" and "output metadata" documents.
4
5
The input metadata is parallel to the input document, except that it describes metadata about each parameter.  For example, for this input:
6
7
<pre>
8
foo:
9
  class: File
10
  location: keep:abc+123/foo.bam
11
</pre>
12
13
the metadata might be:
14
15
<pre>
16
foo:
17
  xyz:sample: sample1122333
18
  xyz:sequencer: illumina
19
</pre>
20
21
On workflow start, reverse lookup PDH to UUID and find all tags.  Create input metadata document.
22
23
On workflow end, create output metadata document based on "arv:PropagateMetadata".
24
25
<pre>
26
hints:
27
  arv:PropagateMetadata:
28
    setMetadata:
29
      - outputParameter: bar
30
        valueFrom: $(metadata.foo)
31
</pre>
32
33
Resulting in output:
34
35
<pre>
36
bar:
37
  class: File
38
  location: keep:abc+123/result.vcf
39
</pre>
40
41
with output metadata:
42
43
<pre>
44
bar:
45
  xyz:sample: sample1122333
46
  xyz:sequencer: illumina
47
</pre>
48
49 4 Peter Amstutz
Arvados then creates tags to the output collection based on output metadata document.  There are several possible representations (with mapping to RDF triples model)
50 2 Peter Amstutz
51
<pre>
52
link_class: tag
53
name: xyz:sample
54
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
55
properties: 
56
  value: sample1122333
57
  path: result.vcf
58
</pre>
59 1 Peter Amstutz
60 4 Peter Amstutz
* head_uuid+properties[path] -> subject
61
* name -> predicate
62
* properties[value] -> object
63
64
Alternate representation:
65
66 2 Peter Amstutz
<pre>
67 4 Peter Amstutz
link_class: xyz:samplename
68
name: sample1122333
69 3 Peter Amstutz
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
70 1 Peter Amstutz
properties: 
71
  path: result.vcf
72
</pre>
73
74 4 Peter Amstutz
* head_uuid+properties[path] -> subject
75
* link_class -> predicate
76
* name -> object
77 1 Peter Amstutz
78
<pre>
79
link_class: xyz:samplename
80 4 Peter Amstutz
name: result.vcf
81 3 Peter Amstutz
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
82
properties: 
83 4 Peter Amstutz
  value: sample1122333
84 3 Peter Amstutz
</pre>
85 4 Peter Amstutz
86
* head_uuid+name -> subject
87
* link_class -> predicate
88
* properties[value] -> object