-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathontology.ttl
200 lines (165 loc) · 6.98 KB
/
ontology.ttl
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
@prefix : <http://omnibenchmark.org/ns#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix omni: <http://omnibenchmark.org/ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
# Classes ------------------------------------------------------------------------------
omni:Benchmark a rdfs:Class ;
rdfs:label "Benchmark" ;
rdfs:comment "A specific benchmark in the context of Omnibenchmark." .
omni:Module a rdfs:Class ;
rdfs:label "Module" ;
rdfs:comment "A git (perhaps GitLab) repository the benchmarking process happens at." .
# benchmark-related
# perhaps define Deliverable a subclass of prov:Entity?
omni:Deliverable a rdfs:Class ;
rdfs:label "Deliverable" ;
rdfs:comment "A traceable file generated during the omnibenchmarking benchmarking process" .
# tests this
# https://schema.org/StructuredValue
omni:NamedParameter a rdfs:Class ;
rdfs:subClassOf <https://schema.org/StructuredValue> ;
rdfs:label "NamedParameter" ;
rdfs:comment "A parameter tuple with identifier and value." .
omni:ComputationalEnvironment a rdfs:Class ;
rdfs:label "ComputationalEnvironment" ;
rdfs:comment "Details of the host running the benchmark." .
# Benchmark properties -----------------------------------------------------------------
omni:benchmarkName a rdfs:Property ;
rdfs:label "benchmarkName" ;
rdfs:comment "The name of the benchmark." ;
rdfs:domain omni:Benchmark ;
rdfs:range xsd:string .
# Module properties --------------------------------------------------------------------
omni:belongsToBenchmark a rdfs:Property ;
rdfs:label "belongsToBenchmark" ;
rdfs:comment "Links a benchmarking module to its benchmark." ;
rdfs:domain omni:Module ;
rdfs:range omni:Benchmark .
omni:hasKeyword a rdfs:Property ;
rdfs:label "hasKeyword" ;
rdfs:comment "Links a benchmarking module to its keywords." ;
rdfs:domain omni:Module ;
rdfs:range xsd:string .
omni:hasInputKeyword a rdfs:Property ;
rdfs:label "hasInputKeyword" ;
rdfs:comment "The input keyword(s), as defined by the config.yaml." ;
rdfs:domain omni:Module ;
rdfs:range xsd:string .
omni:hasParameterKeyword a rdfs:Property ;
rdfs:label "hasParameterKeyword" ;
rdfs:comment "The parameter keyword(s), as defined by the config.yaml." ;
rdfs:domain omni:Module ;
rdfs:range xsd:string .
omni:hasCiCdStage a rdfs:Property ;
rdfs:label "hasCiCdStage" ;
rdfs:comment "Links a benchmarking module to its benchmarking stage (orchestrator-wise)." ;
rdfs:domain omni:Module ;
rdfs:range xsd:string .
# Deliverable properties ---------------------------------------------------------------
omni:hasEpoch a rdfs:Property ;
rdfs:label "hasEpoch" ;
rdfs:comment "Deliverable's epoch." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:integer .
# Git LFS storage is content addressable: content is stored
# against a key which is a SHA-256 hash of the content itself
omni:hasLfsHash a rdfs:Property ;
rdfs:label "hasLfsHash" ;
rdfs:comment "Deliverable's GitLFS hash/id." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
omni:hasModuleName a rdfs:Property ;
rdfs:label "hasModuleName" ;
rdfs:comment "Deliverable's module." ;
rdfs:domain omni:Deliverable ;
rdfs:range omni:Module .
# overlaps renku ont
omni:hasPlan a rdfs:Property ;
rdfs:label "hasPlan" ;
rdfs:comment "Links a Deliverable to it's generating plan." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
# overlaps renku ont
omni:hasActivity a rdfs:Property ;
rdfs:label "hasActivity" ;
rdfs:comment "Links a Deliverable to its generating activity." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
# sort of overlaps renku ont, but only for composite plans
omni:hasNamedParameter a rdfs:Property ;
rdfs:label "hasNamedParameter" ;
rdfs:comment "Links a Deliverable to its (named) parameters." ;
rdfs:domain omni:Deliverable ;
rdfs:range omni:NamedParameter .
omni:hasDockerImage a rdfs:Property ;
rdfs:label "hasDockerImage" ;
rdfs:comment "Links a Deliverable to its generating Docker Image." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
omni:hasInputPath a rdfs:Property ;
rdfs:label "hasInputPath" ;
rdfs:comment "Links a Deliverable to its (input) deliverable (path)." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
omni:hasComputationalEnvironment a rdfs:Property ;
rdfs:label "hasComputationalEnvironment" ;
rdfs:comment "Links a Deliverable to its computing environment." ;
rdfs:domain omni:Deliverable ;
rdfs:range omni:ComputationalEnvironment .
omni:hasCommand a rdfs:Property ;
rdfs:label "hasCommand" ;
rdfs:comment "Full command leading to the generation of a Deliverable." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
## before or after creating the deliverable?
omni:hasPreCommit a rdfs:Property ;
rdfs:label "hasPreCommit" ;
rdfs:comment "Repo commit (HEAD) before triggering the Deliverable generation." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
omni:hasExitStatus a rdfs:Property ;
rdfs:label "hasExitStatus" ;
rdfs:comment "For a given deliverable, activity (generating) script exit status" ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:int .
# likely overlapping renku's ontology
omni:isInvalidated a rdfs:Property ;
rdfs:label "isInvalidated" ;
rdfs:comment "Is the deliverable invalidated?" ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:boolean .
# for epoch/tagging, has the git history been rebased (squashed)?
omni:isRebased a rdfs:Property ;
rdfs:label "isRebased" ;
rdfs:comment "During the plan(activities) exec: has the git history being rebased/squashed?" ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:boolean .
omni:hasFileName a rdfs:Property ;
rdfs:label "hasFileName" ;
rdfs:comment "File name (generated deliverable)." ;
rdfs:domain omni:Deliverable ;
rdfs:range xsd:string .
# Parameter properties -----------------------------------
omni:hasParameterId a rdfs:Property ;
rdfs:label "hasParameterId" ;
rdfs:comment "Parameter identifier" ;
rdfs:domain omni:NamedParameter ;
rdfs:range xsd:string .
omni:hasParameterName a rdfs:Property ;
rdfs:label "hasParameterName" ;
rdfs:comment "Parameter name/key" ;
rdfs:domain omni:NamedParameter ;
rdfs:range xsd:string .
omni:hasParameterValue a rdfs:Property ;
rdfs:label "hasParameterValue" ;
rdfs:comment "Parameter value" ;
rdfs:domain omni:NamedParameter ;
rdfs:range xsd:string .
## is this needed?
# omni:appliesToDeliverable a rdfs:Property ;
# rdfs:label "appliesToDeliverable" ;
# rdfs:comment "The deliverable filename generated with the NamedParameter." ;
# rdfs:domain omni:NamedParameter ;
# rdfs:range xsd:string .