Holger Knublauch

Updates to SPIN constraints error codes etc

...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
5 # imports: http://www.reportinghub.no/spin/rh 5 # imports: http://www.reportinghub.no/spin/rh
6 # imports: http://www.witsml.org/schemas/1series 6 # imports: http://www.witsml.org/schemas/1series
7 7
8 +# c14n-version: 3
8 @prefix : <http://www.reportinghub.no/ep/spin/ddr-constraints#> . 9 @prefix : <http://www.reportinghub.no/ep/spin/ddr-constraints#> .
9 @prefix arg: <http://spinrdf.org/arg#> . 10 @prefix arg: <http://spinrdf.org/arg#> .
10 @prefix ddr: <http://www.witsml.org/schemas/1series#> . 11 @prefix ddr: <http://www.witsml.org/schemas/1series#> .
...@@ -19,278 +20,380 @@ ...@@ -19,278 +20,380 @@
19 @prefix spin: <http://spinrdf.org/spin#> . 20 @prefix spin: <http://spinrdf.org/spin#> .
20 @prefix spl: <http://spinrdf.org/spl#> . 21 @prefix spl: <http://spinrdf.org/spl#> .
21 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 22 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
22 -
23 <http://www.reportinghub.no/ep/spin/ddr-constraints> 23 <http://www.reportinghub.no/ep/spin/ddr-constraints>
24 rdf:type owl:Ontology ; 24 rdf:type owl:Ontology ;
25 rdfs:comment "Constraints that need to be executed immediately after SXML import, i.e. not on the inferred triples."^^xsd:string ; 25 rdfs:comment "Constraints that need to be executed immediately after SXML import, i.e. not on the inferred triples."^^xsd:string ;
26 - owl:imports <http://spinrdf.org/spin> , <http://topbraid.org/sxml> , <http://www.reportinghub.no/np/schema/1.0/npd> , <http://www.reportinghub.no/spin/rh> , <http://www.witsml.org/schemas/1series> ; 26 + owl:imports <http://spinrdf.org/spin> ;
27 - owl:versionInfo "0.2.0"^^xsd:string . 27 + owl:imports <http://topbraid.org/sxml> ;
28 - 28 + owl:imports <http://www.reportinghub.no/np/schema/1.0/npd> ;
29 + owl:imports <http://www.reportinghub.no/spin/rh> ;
30 + owl:imports <http://www.witsml.org/schemas/1series> ;
31 + owl:versionInfo "0.2.0"^^xsd:string ;
32 +.
29 ddr:Cs_drillReportWellboreInfo 33 ddr:Cs_drillReportWellboreInfo
30 - spin:constraint 34 + spin:constraint [
31 - [ rdf:type sp:Construct ; 35 + rdf:type sp:Construct ;
32 - sp:templates ([ sp:object spin:ConstraintViolation ; 36 + sp:templates (
37 + [
38 + sp:object spin:ConstraintViolation ;
33 sp:predicate rdf:type ; 39 sp:predicate rdf:type ;
34 - sp:subject _:b1 40 + sp:subject _:b5160 ;
35 - ] [ sp:object 41 + ]
36 - [ sp:varName "message"^^xsd:string 42 + [
43 + sp:object [
44 + sp:varName "message"^^xsd:string ;
37 ] ; 45 ] ;
38 sp:predicate rdfs:label ; 46 sp:predicate rdfs:label ;
39 - sp:subject _:b1 47 + sp:subject _:b5160 ;
40 - ]) ; 48 + ]
41 - sp:where ([ sp:object 49 + ) ;
42 - [ sp:varName "nameRef"^^xsd:string 50 + sp:where (
51 + [
52 + sp:object [
53 + sp:varName "nameRef"^^xsd:string ;
43 ] ; 54 ] ;
44 sp:predicate ddr:rigAliasRef ; 55 sp:predicate ddr:rigAliasRef ;
45 - sp:subject spin:_this 56 + sp:subject spin:_this ;
46 - ] [ sp:object "NPD Name" ; 57 + ]
58 + [
59 + sp:object "NPD Name" ;
47 sp:predicate ddr:namingSystem ; 60 sp:predicate ddr:namingSystem ;
48 - sp:subject 61 + sp:subject [
49 - [ sp:varName "nameRef"^^xsd:string 62 + sp:varName "nameRef"^^xsd:string ;
63 + ] ;
50 ] 64 ]
51 - ] [ sp:object 65 + [
52 - [ sp:varName "name"^^xsd:string 66 + sp:object [
67 + sp:varName "name"^^xsd:string ;
53 ] ; 68 ] ;
54 sp:predicate ddr:name ; 69 sp:predicate ddr:name ;
55 - sp:subject 70 + sp:subject [
56 - [ sp:varName "nameRef"^^xsd:string 71 + sp:varName "nameRef"^^xsd:string ;
72 + ] ;
57 ] 73 ]
58 - ] [ sp:object 74 + [
59 - [ sp:varName "codeRef"^^xsd:string 75 + sp:object [
76 + sp:varName "codeRef"^^xsd:string ;
60 ] ; 77 ] ;
61 sp:predicate ddr:rigAliasRef ; 78 sp:predicate ddr:rigAliasRef ;
62 - sp:subject spin:_this 79 + sp:subject spin:_this ;
63 - ] [ sp:object "NPD code" ; 80 + ]
81 + [
82 + sp:object "NPD code" ;
64 sp:predicate ddr:namingSystem ; 83 sp:predicate ddr:namingSystem ;
65 - sp:subject 84 + sp:subject [
66 - [ sp:varName "codeRef"^^xsd:string 85 + sp:varName "codeRef"^^xsd:string ;
86 + ] ;
67 ] 87 ]
68 - ] [ sp:object 88 + [
69 - [ sp:varName "code"^^xsd:string 89 + sp:object [
90 + sp:varName "code"^^xsd:string ;
70 ] ; 91 ] ;
71 sp:predicate ddr:name ; 92 sp:predicate ddr:name ;
72 - sp:subject 93 + sp:subject [
73 - [ sp:varName "codeRef"^^xsd:string 94 + sp:varName "codeRef"^^xsd:string ;
74 - ]
75 - ] [ rdf:type sp:Bind ;
76 - sp:expression
77 - [ rdf:type rhspin:facilityById ;
78 - arg:id [ sp:varName "code"^^xsd:string
79 - ]
80 ] ; 95 ] ;
81 - sp:variable
82 - [ sp:varName "facility"^^xsd:string
83 - ]
84 - ] [ rdf:type sp:Bind ;
85 - sp:expression
86 - [ rdf:type rhspin:npdName ;
87 - arg:resource
88 - [ sp:varName "facility"^^xsd:string
89 ] 96 ]
97 + [
98 + rdf:type sp:Bind ;
99 + sp:expression [
100 + rdf:type rhspin:facilityById ;
101 + arg:id [
102 + sp:varName "code"^^xsd:string ;
90 ] ; 103 ] ;
91 - sp:variable
92 - [ sp:varName "npdName"^^xsd:string
93 - ]
94 - ] [ rdf:type sp:Filter ;
95 - sp:expression
96 - [ rdf:type sp:ne ;
97 - sp:arg1 [ rdf:type spif:lowerCase ;
98 - sp:arg1 [ sp:varName "npdName"^^xsd:string
99 - ]
100 ] ; 104 ] ;
101 - sp:arg2 [ rdf:type spif:lowerCase ; 105 + sp:variable [
102 - sp:arg1 [ sp:varName "name"^^xsd:string 106 + sp:varName "facility"^^xsd:string ;
107 + ] ;
103 ] 108 ]
109 + [
110 + rdf:type sp:Bind ;
111 + sp:expression [
112 + rdf:type rhspin:npdName ;
113 + arg:resource [
114 + sp:varName "facility"^^xsd:string ;
115 + ] ;
116 + ] ;
117 + sp:variable [
118 + sp:varName "npdName"^^xsd:string ;
119 + ] ;
104 ] 120 ]
121 + [
122 + rdf:type sp:Filter ;
123 + sp:expression [
124 + rdf:type sp:ne ;
125 + sp:arg1 [
126 + rdf:type spif:lowerCase ;
127 + sp:arg1 [
128 + sp:varName "npdName"^^xsd:string ;
129 + ] ;
130 + ] ;
131 + sp:arg2 [
132 + rdf:type spif:lowerCase ;
133 + sp:arg1 [
134 + sp:varName "name"^^xsd:string ;
135 + ] ;
136 + ] ;
137 + ] ;
105 ] 138 ]
106 - ] [ rdf:type sp:Bind ; 139 + [
107 - sp:expression 140 + rdf:type sp:Bind ;
108 - [ rdf:type fn:concat ; 141 + sp:expression [
109 - sp:arg1 "[RH-19] Mismatch for rig code " ; 142 + rdf:type fn:concat ;
110 - sp:arg2 [ sp:varName "code"^^xsd:string 143 + sp:arg1 "[RH-19] Fact Pages validation of the XML file failed with the following error: Mismatch for rig code " ;
144 + sp:arg2 [
145 + sp:varName "code"^^xsd:string ;
111 ] ; 146 ] ;
112 sp:arg3 ": The NPD name is " ; 147 sp:arg3 ": The NPD name is " ;
113 - sp:arg4 [ sp:varName "npdName"^^xsd:string 148 + sp:arg4 [
149 + sp:varName "npdName"^^xsd:string ;
114 ] ; 150 ] ;
115 sp:arg5 " not " ; 151 sp:arg5 " not " ;
116 - sp:arg6 [ sp:varName "name"^^xsd:string 152 + sp:arg6 [
117 - ] 153 + sp:varName "name"^^xsd:string ;
154 + ] ;
155 + ] ;
156 + sp:variable [
157 + sp:varName "message"^^xsd:string ;
118 ] ; 158 ] ;
119 - sp:variable
120 - [ sp:varName "message"^^xsd:string
121 ] 159 ]
122 - ]) 160 + ) ;
123 - ] . 161 + ] ;
124 - 162 +.
125 ddr:Obj_drillReport 163 ddr:Obj_drillReport
126 - spin:constraint 164 + spin:constraint [
127 - [ rdf:type sp:Ask ; 165 + rdf:type sp:Ask ;
128 - rdfs:comment "[RH-10] DDRs can only be submitted if a user is logged in"^^xsd:string ; 166 + sp:where (
129 - sp:where ([ rdf:type sp:Bind ; 167 + [
130 - sp:expression 168 + rdf:type sp:Bind ;
131 - [ rdf:type rhspin:companyName 169 + sp:expression [
170 + rdf:type rhspin:companyName ;
171 + ] ;
172 + sp:variable [
173 + sp:varName "companyName"^^xsd:string ;
132 ] ; 174 ] ;
133 - sp:variable
134 - [ sp:varName "companyName"^^xsd:string
135 - ]
136 - ] [ rdf:type sp:Filter ;
137 - sp:expression
138 - [ rdf:type sp:not ;
139 - sp:arg1 [ rdf:type sp:bound ;
140 - sp:arg1 [ sp:varName "companyName"^^xsd:string
141 - ]
142 - ]
143 ] 175 ]
144 - ]) 176 + [
177 + rdf:type sp:Bind ;
178 + sp:expression [
179 + rdf:type rhspin:companyWithName ;
180 + arg:name [
181 + sp:varName "companyName"^^xsd:string ;
145 ] ; 182 ] ;
146 - spin:constraint
147 - [ rdf:type sp:Ask ;
148 - rdfs:comment "[RH-10] DDRs can only be submitted if the logged-in user is from a registered company"^^xsd:string ;
149 - sp:where ([ rdf:type sp:Bind ;
150 - sp:expression
151 - [ rdf:type rhspin:companyName
152 ] ; 183 ] ;
153 - sp:variable 184 + sp:variable [
154 - [ sp:varName "companyName"^^xsd:string 185 + sp:varName "company"^^xsd:string ;
155 - ]
156 - ] [ rdf:type sp:Bind ;
157 - sp:expression
158 - [ rdf:type rhspin:companyWithName ;
159 - arg:name
160 - [ sp:varName "companyName"^^xsd:string
161 - ]
162 ] ; 186 ] ;
163 - sp:variable
164 - [ sp:varName "company"^^xsd:string
165 ] 187 ]
166 - ] [ rdf:type sp:Filter ; 188 + [
167 - sp:expression 189 + rdf:type sp:Filter ;
168 - [ rdf:type sp:not ; 190 + sp:expression [
169 - sp:arg1 [ rdf:type sp:bound ; 191 + rdf:type sp:not ;
170 - sp:arg1 [ sp:varName "company"^^xsd:string 192 + sp:arg1 [
193 + rdf:type sp:bound ;
194 + sp:arg1 [
195 + sp:varName "company"^^xsd:string ;
196 + ] ;
197 + ] ;
198 + ] ;
171 ] 199 ]
200 + ) ;
201 + rdfs:comment "[RH-04] Permission denied: User does not have permission(s) required to access the requested service"^^xsd:string ;
202 + ] ;
203 + spin:constraint [
204 + rdf:type sp:Ask ;
205 + sp:where (
206 + [
207 + rdf:type sp:Bind ;
208 + sp:expression [
209 + rdf:type rhspin:companyName ;
210 + ] ;
211 + sp:variable [
212 + sp:varName "companyName"^^xsd:string ;
213 + ] ;
172 ] 214 ]
215 + [
216 + rdf:type sp:Filter ;
217 + sp:expression [
218 + rdf:type sp:not ;
219 + sp:arg1 [
220 + rdf:type sp:bound ;
221 + sp:arg1 [
222 + sp:varName "companyName"^^xsd:string ;
223 + ] ;
224 + ] ;
225 + ] ;
173 ] 226 ]
174 - ]) 227 + ) ;
228 + rdfs:comment "[RH-10] Invalid username or password: User authentication failed"^^xsd:string ;
175 ] ; 229 ] ;
176 - spin:constraint 230 + spin:constraint [
177 - [ rdf:type sp:Construct ; 231 + rdf:type sp:Construct ;
178 - sp:templates ([ sp:object spin:ConstraintViolation ; 232 + sp:templates (
233 + [
234 + sp:object spin:ConstraintViolation ;
179 sp:predicate rdf:type ; 235 sp:predicate rdf:type ;
180 - sp:subject _:b2 236 + sp:subject _:b1688 ;
181 - ] [ sp:object spin:_this ; 237 + ]
238 + [
239 + sp:object spin:_this ;
182 sp:predicate spin:violationRoot ; 240 sp:predicate spin:violationRoot ;
183 - sp:subject _:b2 241 + sp:subject _:b1688 ;
184 - ] [ sp:object ddr:nameWellbore ; 242 + ]
243 + [
244 + sp:object ddr:nameWellbore ;
185 sp:predicate spin:violationPath ; 245 sp:predicate spin:violationPath ;
186 - sp:subject _:b2 246 + sp:subject _:b1688 ;
187 - ] [ sp:object 247 + ]
188 - [ sp:varName "message"^^xsd:string 248 + [
249 + sp:object [
250 + sp:varName "message"^^xsd:string ;
189 ] ; 251 ] ;
190 sp:predicate rdfs:label ; 252 sp:predicate rdfs:label ;
191 - sp:subject _:b2 253 + sp:subject _:b1688 ;
192 - ]) ; 254 + ]
193 - sp:where ([ sp:object 255 + ) ;
194 - [ sp:varName "wellBoreName"^^xsd:string 256 + sp:where (
257 + [
258 + sp:object [
259 + sp:varName "wellBoreName"^^xsd:string ;
195 ] ; 260 ] ;
196 sp:predicate <http://www.reportinghub.no/ep/spin/lib#nameWellbore> ; 261 sp:predicate <http://www.reportinghub.no/ep/spin/lib#nameWellbore> ;
197 - sp:subject spin:_this 262 + sp:subject spin:_this ;
198 - ] [ sp:object 263 + ]
199 - [ sp:varName "wellBoreNumber"^^xsd:string 264 + [
265 + sp:object [
266 + sp:varName "wellBoreNumber"^^xsd:string ;
200 ] ; 267 ] ;
201 sp:predicate <http://www.reportinghub.no/ep/spin/lib#numberWellbore> ; 268 sp:predicate <http://www.reportinghub.no/ep/spin/lib#numberWellbore> ;
202 - sp:subject spin:_this 269 + sp:subject spin:_this ;
203 - ] [ rdf:type sp:Bind ; 270 + ]
204 - sp:expression 271 + [
205 - [ rdf:type rhspin:wellBoreByName ; 272 + rdf:type sp:Bind ;
206 - arg:wellBoreName 273 + sp:expression [
207 - [ sp:varName "wellBoreName"^^xsd:string 274 + rdf:type rhspin:wellBoreByName ;
208 - ] 275 + arg:wellBoreName [
276 + sp:varName "wellBoreName"^^xsd:string ;
209 ] ; 277 ] ;
210 - sp:variable
211 - [ sp:varName "wellBore"^^xsd:string
212 - ]
213 - ] [ rdf:type sp:Bind ;
214 - sp:expression
215 - [ rdf:type rhspin:wellBoreById ;
216 - arg:id [ sp:varName "wellBoreNumber"^^xsd:string
217 - ]
218 ] ; 278 ] ;
219 - sp:variable 279 + sp:variable [
220 - [ sp:varName "wellBore2"^^xsd:string 280 + sp:varName "wellBore"^^xsd:string ;
281 + ] ;
221 ] 282 ]
222 - ] [ rdf:type sp:Filter ; 283 + [
223 - sp:expression 284 + rdf:type sp:Bind ;
224 - [ rdf:type sp:ne ; 285 + sp:expression [
225 - sp:arg1 [ sp:varName "wellBore"^^xsd:string 286 + rdf:type rhspin:wellBoreById ;
287 + arg:id [
288 + sp:varName "wellBoreNumber"^^xsd:string ;
289 + ] ;
290 + ] ;
291 + sp:variable [
292 + sp:varName "wellBore2"^^xsd:string ;
226 ] ; 293 ] ;
227 - sp:arg2 [ sp:varName "wellBore2"^^xsd:string
228 ] 294 ]
295 + [
296 + rdf:type sp:Filter ;
297 + sp:expression [
298 + rdf:type sp:ne ;
299 + sp:arg1 [
300 + sp:varName "wellBore"^^xsd:string ;
301 + ] ;
302 + sp:arg2 [
303 + sp:varName "wellBore2"^^xsd:string ;
304 + ] ;
305 + ] ;
229 ] 306 ]
230 - ] [ rdf:type sp:Bind ; 307 + [
231 - sp:expression 308 + rdf:type sp:Bind ;
232 - [ rdf:type fn:concat ; 309 + sp:expression [
233 - sp:arg1 "[RH-19] Well bore number " ; 310 + rdf:type fn:concat ;
234 - sp:arg2 [ sp:varName "wellBoreNumber"^^xsd:string 311 + sp:arg1 "[RH-19] Fact Pages validation of the XML file failed with the following error: Well bore number " ;
312 + sp:arg2 [
313 + sp:varName "wellBoreNumber"^^xsd:string ;
235 ] ; 314 ] ;
236 sp:arg3 " mismatches well bore name " ; 315 sp:arg3 " mismatches well bore name " ;
237 - sp:arg4 [ sp:varName "wellBoreName"^^xsd:string 316 + sp:arg4 [
238 - ] 317 + sp:varName "wellBoreName"^^xsd:string ;
318 + ] ;
319 + ] ;
320 + sp:variable [
321 + sp:varName "message"^^xsd:string ;
239 ] ; 322 ] ;
240 - sp:variable
241 - [ sp:varName "message"^^xsd:string
242 ] 323 ]
243 - ]) 324 + ) ;
244 ] ; 325 ] ;
245 - spin:constraint 326 + spin:constraint [
246 - [ rdf:type sp:Construct ; 327 + rdf:type sp:Construct ;
247 - sp:templates ([ sp:object spin:ConstraintViolation ; 328 + sp:templates (
329 + [
330 + sp:object spin:ConstraintViolation ;
248 sp:predicate rdf:type ; 331 sp:predicate rdf:type ;
249 - sp:subject _:b3 332 + sp:subject _:b2058 ;
250 - ] [ sp:object spin:_this ; 333 + ]
334 + [
335 + sp:object spin:_this ;
251 sp:predicate spin:violationRoot ; 336 sp:predicate spin:violationRoot ;
252 - sp:subject _:b3 337 + sp:subject _:b2058 ;
253 - ] [ sp:object ddr:nameWellbore ; 338 + ]
339 + [
340 + sp:object ddr:nameWellbore ;
254 sp:predicate spin:violationPath ; 341 sp:predicate spin:violationPath ;
255 - sp:subject _:b3 342 + sp:subject _:b2058 ;
256 - ] [ sp:object 343 + ]
257 - [ sp:varName "message"^^xsd:string 344 + [
345 + sp:object [
346 + sp:varName "message"^^xsd:string ;
258 ] ; 347 ] ;
259 sp:predicate rdfs:label ; 348 sp:predicate rdfs:label ;
260 - sp:subject _:b3 349 + sp:subject _:b2058 ;
261 - ]) ; 350 + ]
262 - sp:where ([ sp:object 351 + ) ;
263 - [ sp:varName "wellBoreName"^^xsd:string 352 + sp:where (
353 + [
354 + sp:object [
355 + sp:varName "wellBoreName"^^xsd:string ;
264 ] ; 356 ] ;
265 sp:predicate <http://www.reportinghub.no/ep/spin/lib#nameWellbore> ; 357 sp:predicate <http://www.reportinghub.no/ep/spin/lib#nameWellbore> ;
266 - sp:subject spin:_this 358 + sp:subject spin:_this ;
267 - ] [ rdf:type sp:Bind ; 359 + ]
268 - sp:expression 360 + [
269 - [ rdf:type rhspin:wellBoreByName ; 361 + rdf:type sp:Bind ;
270 - arg:wellBoreName 362 + sp:expression [
271 - [ sp:varName "wellBoreName"^^xsd:string 363 + rdf:type rhspin:wellBoreByName ;
272 - ] 364 + arg:wellBoreName [
365 + sp:varName "wellBoreName"^^xsd:string ;
366 + ] ;
367 + ] ;
368 + sp:variable [
369 + sp:varName "wellBore"^^xsd:string ;
273 ] ; 370 ] ;
274 - sp:variable
275 - [ sp:varName "wellBore"^^xsd:string
276 - ]
277 - ] [ rdf:type sp:Filter ;
278 - sp:expression
279 - [ rdf:type sp:not ;
280 - sp:arg1 [ rdf:type sp:bound ;
281 - sp:arg1 [ sp:varName "wellBore"^^xsd:string
282 - ]
283 - ]
284 ] 371 ]
285 - ] [ rdf:type sp:Bind ; 372 + [
286 - sp:expression 373 + rdf:type sp:Filter ;
287 - [ rdf:type fn:concat ; 374 + sp:expression [
288 - sp:arg1 "[RH-21] Unregistered well bore name " ; 375 + rdf:type sp:not ;
289 - sp:arg2 [ sp:varName "wellBoreName"^^xsd:string 376 + sp:arg1 [
377 + rdf:type sp:bound ;
378 + sp:arg1 [
379 + sp:varName "wellBore"^^xsd:string ;
380 + ] ;
381 + ] ;
382 + ] ;
290 ] 383 ]
384 + [
385 + rdf:type sp:Bind ;
386 + sp:expression [
387 + rdf:type fn:concat ;
388 + sp:arg1 "[RH-19] Fact Pages validation of the XML file failed with the following error: Unregistered well bore name " ;
389 + sp:arg2 [
390 + sp:varName "wellBoreName"^^xsd:string ;
391 + ] ;
392 + ] ;
393 + sp:variable [
394 + sp:varName "message"^^xsd:string ;
291 ] ; 395 ] ;
292 - sp:variable
293 - [ sp:varName "message"^^xsd:string
294 ] 396 ]
295 - ]) 397 + ) ;
296 - ] . 398 + ] ;
399 +.
......