-
Notifications
You must be signed in to change notification settings - Fork 4
/
cohort-explorer-ontology.ttl
253 lines (213 loc) · 8.46 KB
/
cohort-explorer-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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
@prefix icare: <https://w3id.org/icare4cvd/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
icare: a owl:Ontology ;
rdfs:label "iCARE4CVD ontology"@en ;
dcterms:license <https://creativecommons.org/licenses/by-sa/4.0/> ;
vann:preferredNamespacePrefix "icare"@en ;
vann:preferredNamespaceUri "https://w3id.org/icare4cvd/"@en ;
rdfs:comment "OWL ontology for the iCARE4CVD project, to represent Cohorts tabular file containing Variables for individuals in the cohort (metadata, measurement, etc)"@en .
# Classes
icare:Cohort a owl:Class ;
# rdfs:subClassOf owl:Thing ;
rdfs:label "Cohort"@en ;
rdfs:comment "A study cohort, represented by a tabular data file (usually rows are for patients infos and measurements)"@en ;
owl:disjointWith icare:Variable, icare:VariableCategory ;
owl:sameAs dcat:Resource ;
rdfs:isDefinedBy icare: .
icare:Variable a owl:Class ;
rdfs:label "Variable"@en ;
rdfs:comment "A variable in a cohort, represented by a column in the cohort tabular data file"@en ;
owl:disjointWith icare:Cohort, icare:VariableCategory ;
rdfs:isDefinedBy icare: .
icare:VariableCategory a owl:Class ;
rdfs:label "Variable category"@en ;
rdfs:comment "Categories for categorical variables"@en ;
owl:disjointWith icare:Cohort, icare:Variable ;
rdfs:isDefinedBy icare: .
# Cohort Properties
icare:institution a owl:DatatypeProperty ;
rdfs:label "Institution"@en ;
rdfs:comment "The institution that conducted the study"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
owl:sameAs dcterms:publisher ;
rdfs:isDefinedBy icare: .
icare:cohortType a owl:DatatypeProperty ;
rdfs:label "Cohort type"@en ;
rdfs:comment "The type of cohort"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:email a owl:DatatypeProperty ;
rdfs:label "Contact email"@en ;
rdfs:comment "Email of the contact for this cohort"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
owl:sameAs dcat:contactPoint ;
rdfs:isDefinedBy icare: .
icare:studyType a owl:DatatypeProperty ;
rdfs:label "Study type"@en ;
rdfs:comment "The type of study"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:studyParticipants a owl:DatatypeProperty ;
rdfs:label "Number of study participants"@en ;
rdfs:comment "The number of participants in the study"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:integer ;
rdfs:isDefinedBy icare: .
icare:studyDuration a owl:DatatypeProperty ;
rdfs:label "Study duration"@en ;
rdfs:comment "The duration of the study"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:studyOngoing a owl:DatatypeProperty ;
rdfs:label "Ongoing study"@en ;
rdfs:comment "Is the study ongoing? Either yes or no"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:studyPopulation a owl:DatatypeProperty ;
rdfs:label "Study population"@en ;
rdfs:comment "Description of the population studied"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:studyObjective a owl:DatatypeProperty ;
rdfs:label "Study objective"@en ;
rdfs:comment "Description of the study objective"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:previewEnabled a owl:DatatypeProperty ;
rdfs:label "Data preview enabled"@en ;
rdfs:comment "If data preview (airlock) is enabled for this cohort"@en ;
rdfs:domain icare:Cohort ;
rdfs:range xsd:boolean ;
rdfs:isDefinedBy icare: .
icare:hasVariable a owl:ObjectProperty ;
rdfs:label "Has variable"@en ;
rdfs:comment "The variables that are included in this cohort"@en ;
rdfs:domain icare:Cohort ;
rdfs:range icare:Variable ;
rdfs:isDefinedBy icare: .
# Should we add inverse?
# icare:isVariableOf a owl:ObjectProperty ;
# owl:inverseOf icare:hasVariable ;
# rdfs:label "Is variable of"@en ;
# rdfs:comment "The cohort this variable belongs to"@en ;
# rdfs:domain icare:Variable ;
# rdfs:range icare:Cohort .
# Variable Properties
icare:varType a owl:DatatypeProperty ;
rdfs:label "Variable type"@en ;
rdfs:comment "The data type of the variable: STR, INT, FLOAT, DATETIME"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:count a owl:DatatypeProperty ;
rdfs:label "Value count"@en ;
rdfs:comment "The number of rows with values for this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:integer ;
rdfs:isDefinedBy icare: .
icare:na a owl:DatatypeProperty ;
rdfs:label "n/a count"@en ;
rdfs:comment "The number of n/a rows for this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:integer ;
rdfs:isDefinedBy icare: .
icare:index a owl:DatatypeProperty ;
rdfs:label "Variable index"@en ;
rdfs:comment "The index of the variable in the cohort tabular data file"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:integer ;
rdfs:isDefinedBy icare: .
icare:max a owl:DatatypeProperty ;
rdfs:label "Maximum value"@en ;
rdfs:comment "The maximum value for this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:decimal . # int + float = decimal
icare:min a owl:DatatypeProperty ;
rdfs:label "Minimum value"@en ;
rdfs:comment "The minimum value for this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:decimal ;
rdfs:isDefinedBy icare: .
icare:units a owl:DatatypeProperty ;
rdfs:label "Units"@en ;
rdfs:comment "The units of the variable (e.g. kg, mmHg, etc)"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:formula a owl:DatatypeProperty ;
rdfs:label "Formula"@en ;
rdfs:comment "The formula used to calculate this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:definition a owl:DatatypeProperty ;
rdfs:label "Definition"@en ;
rdfs:comment "A reference to the standard used to define this variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:visits a owl:DatatypeProperty ;
rdfs:label "Visits"@en ;
rdfs:comment "Details about the study visit for this variable (e.g. M1, M2, M6)"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
# Mapping properties
icare:conceptId a owl:ObjectProperty ;
rdfs:label "Concept ID"@en ;
rdfs:comment "The concept ID for this variable, as provided in the original cohort metadata file"@en ;
rdfs:domain icare:Variable ;
rdfs:range owl:Thing ;
rdfs:isDefinedBy icare: .
icare:mappedId a owl:ObjectProperty ;
rdfs:label "Mapped ID"@en ;
rdfs:comment "The mapped concept ID for this variable or category, defined through the Cohort Explorer service"@en ;
rdfs:domain [ owl:unionOf ( icare:Variable icare:VariableCategory ) ] ;
rdfs:range owl:Thing ;
rdfs:isDefinedBy icare: .# Should we limit to OMOP concepts?
icare:omop a owl:DatatypeProperty ;
rdfs:label "OMOP domain"@en ;
rdfs:comment "The OMOP domain for this variable, such as Measurement, Condition, etc"@en ;
rdfs:domain icare:Variable ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
icare:categories a owl:ObjectProperty ;
rdfs:label "Has categories"@en ;
rdfs:comment "Categories for this variable, if it is a categorical variable"@en ;
rdfs:domain icare:Variable ;
rdfs:range icare:VariableCategory ;
rdfs:isDefinedBy icare: .
# Category Properties
rdf:value a owl:DatatypeProperty ;
rdfs:label "Category value"@en ;
rdfs:comment "Value for a category"@en ;
rdfs:domain icare:VariableCategory ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
# Misc. properties
rdfs:label a owl:DatatypeProperty ;
rdfs:label "Label"@en ;
rdfs:comment "A concept label"@en ;
rdfs:domain owl:Thing ;
rdfs:range xsd:string ;
rdfs:isDefinedBy icare: .
dc:identifier a owl:DatatypeProperty ;
rdfs:label "Identifier"@en ;
rdfs:comment "A variable or cohort identifier"@en ;
rdfs:domain [ owl:unionOf ( icare:Variable icare:Cohort ) ] ;
rdfs:range xsd:string .