Holger Knublauch

Added license checking for well bores and references fields

...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
3 # imports: http://www.epim.no/schemas/mprml/1 3 # imports: http://www.epim.no/schemas/mprml/1
4 # imports: http://www.reportinghub.no/spin/rh 4 # imports: http://www.reportinghub.no/spin/rh
5 5
6 -# c14n-version: 3
7 @prefix afn: <http://jena.hpl.hp.com/ARQ/function#> . 6 @prefix afn: <http://jena.hpl.hp.com/ARQ/function#> .
8 @prefix arg: <http://spinrdf.org/arg#> . 7 @prefix arg: <http://spinrdf.org/arg#> .
9 @prefix fn: <http://www.w3.org/2005/xpath-functions#> . 8 @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
...@@ -17,555 +16,479 @@ ...@@ -17,555 +16,479 @@
17 @prefix spin: <http://spinrdf.org/spin#> . 16 @prefix spin: <http://spinrdf.org/spin#> .
18 @prefix spl: <http://spinrdf.org/spl#> . 17 @prefix spl: <http://spinrdf.org/spl#> .
19 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 18 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
19 +
20 arg:kindRef 20 arg:kindRef
21 rdf:type rdf:Property ; 21 rdf:type rdf:Property ;
22 rdfs:label "kind ref"^^xsd:string ; 22 rdfs:label "kind ref"^^xsd:string ;
23 - rdfs:subPropertyOf sp:arg ; 23 + rdfs:subPropertyOf sp:arg .
24 -. 24 +
25 <http://www.epim.no/schemas/mprml/1#FacilityIdentifierStruct> 25 <http://www.epim.no/schemas/mprml/1#FacilityIdentifierStruct>
26 - spin:constraint [ 26 + spin:constraint
27 - rdf:type mpr-proxy-constraints:CheckId ; 27 + [ rdf:type mpr-proxy-constraints:CheckName ;
28 - arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ;
29 - arg:type <http://www.reportinghub.no/ep/schema/facility#Field> ;
30 - ] ;
31 - spin:constraint [
32 - rdf:type mpr-proxy-constraints:CheckId ;
33 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ; 28 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ;
34 - arg:type <http://www.reportinghub.no/ep/schema/facility#Facility> ; 29 + arg:type <http://www.reportinghub.no/ep/schema/facility#Facility>
35 ] ; 30 ] ;
36 - spin:constraint [ 31 + spin:constraint
37 - rdf:type mpr-proxy-constraints:CheckId ; 32 + [ rdf:type mpr-proxy-constraints:CheckName ;
38 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ; 33 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ;
39 - arg:type <http://www.reportinghub.no/ep/schema/facility#Facility> ; 34 + arg:type <http://www.reportinghub.no/ep/schema/facility#Facility>
40 ] ; 35 ] ;
41 - spin:constraint [ 36 + spin:constraint
42 - rdf:type mpr-proxy-constraints:CheckId ; 37 + [ rdf:type mpr-proxy-constraints:CheckId ;
43 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ; 38 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ;
44 - arg:type <http://www.reportinghub.no/ep/schema/well#WellBore> ; 39 + arg:type <http://www.reportinghub.no/ep/schema/well#WellBore>
45 - ] ;
46 - spin:constraint [
47 - rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
48 - arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ;
49 - arg:type <http://www.reportinghub.no/ep/schema/facility#Field> ;
50 - ] ;
51 - spin:constraint [
52 - rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
53 - arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ;
54 - arg:type <http://www.reportinghub.no/ep/schema/facility#Platform> ;
55 ] ; 40 ] ;
56 - spin:constraint [ 41 + spin:constraint
57 - rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ; 42 + [ rdf:type mpr-proxy-constraints:CheckId ;
58 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ; 43 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ;
59 - arg:type <http://www.reportinghub.no/ep/schema/facility#Facility> ; 44 + arg:type <http://www.reportinghub.no/ep/schema/facility#Facility>
60 ] ; 45 ] ;
61 - spin:constraint [ 46 + spin:constraint
62 - rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ; 47 + [ rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
63 - arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ; 48 + arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ;
64 - arg:type <http://www.reportinghub.no/ep/schema/well#WellBore> ; 49 + arg:type <http://www.reportinghub.no/ep/schema/facility#Field>
65 ] ; 50 ] ;
66 - spin:constraint [ 51 + spin:constraint
67 - rdf:type mpr-proxy-constraints:CheckName ; 52 + [ rdf:type mpr-proxy-constraints:CheckId ;
68 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ; 53 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ;
69 - arg:type <http://www.reportinghub.no/ep/schema/facility#Field> ; 54 + arg:type <http://www.reportinghub.no/ep/schema/facility#Field>
70 ] ; 55 ] ;
71 - spin:constraint [ 56 + spin:constraint
72 - rdf:type mpr-proxy-constraints:CheckName ; 57 + [ rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
58 + arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ;
59 + arg:type <http://www.reportinghub.no/ep/schema/well#WellBore>
60 + ] ;
61 + spin:constraint
62 + [ rdf:type mpr-proxy-constraints:CheckId ;
73 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ; 63 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ;
74 - arg:type <http://www.reportinghub.no/ep/schema/facility#Facility> ; 64 + arg:type <http://www.reportinghub.no/ep/schema/facility#Facility>
75 ] ; 65 ] ;
76 - spin:constraint [ 66 + spin:constraint
77 - rdf:type mpr-proxy-constraints:CheckName ; 67 + [ rdf:type mpr-proxy-constraints:CheckName ;
78 - arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ; 68 + arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_field> ;
79 - arg:type <http://www.reportinghub.no/ep/schema/facility#Facility> ; 69 + arg:type <http://www.reportinghub.no/ep/schema/facility#Field>
80 ] ; 70 ] ;
81 - spin:constraint [ 71 + spin:constraint
82 - rdf:type mpr-proxy-constraints:CheckName ; 72 + [ rdf:type mpr-proxy-constraints:CheckName ;
83 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ; 73 arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_wellbore> ;
84 - arg:type <http://www.reportinghub.no/ep/schema/well#WellBore> ; 74 + arg:type <http://www.reportinghub.no/ep/schema/well#WellBore>
85 ] ; 75 ] ;
86 -. 76 + spin:constraint
87 -<http://www.epim.no/schemas/mprml/1#Obj_productVolume> 77 + [ rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
88 - spin:constraint [ 78 + arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_platform> ;
89 - rdf:type sp:Construct ; 79 + arg:type <http://www.reportinghub.no/ep/schema/facility#Platform>
90 - sp:templates ( 80 + ] ;
91 - [ 81 + spin:constraint
92 - sp:object spin:ConstraintViolation ; 82 + [ rdf:type sp:Construct ;
83 + sp:templates ([ sp:object spin:ConstraintViolation ;
93 sp:predicate rdf:type ; 84 sp:predicate rdf:type ;
94 - sp:subject _:b3901 ; 85 + sp:subject _:b1
95 - ] 86 + ] [ sp:object
96 - [ 87 + [ sp:varName "message"^^xsd:string
97 - sp:object [
98 - sp:varName "message"^^xsd:string ;
99 ] ; 88 ] ;
100 sp:predicate rdfs:label ; 89 sp:predicate rdfs:label ;
101 - sp:subject _:b3901 ; 90 + sp:subject _:b1
102 - ] 91 + ]) ;
103 - ) ; 92 + sp:where ([ sp:object <http://www.epim.no/schemas/mprml/1#RF_field> ;
104 - sp:where ( 93 + sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ;
105 - [ 94 + sp:subject spin:_this
106 - rdf:type sp:TriplePath ; 95 + ] [ sp:object
107 - sp:object [ 96 + [ sp:varName "fieldName"^^xsd:string
108 - sp:varName "name"^^xsd:string ;
109 - ] ;
110 - sp:path [
111 - rdf:type sp:SeqPath ;
112 - sp:path1 <http://www.epim.no/schemas/mprml/1#nameRef> ;
113 - sp:path2 <http://www.linkedmodel.org/schema/dtype#value> ;
114 ] ; 97 ] ;
115 - sp:subject spin:_this ; 98 + sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
99 + sp:subject spin:_this
100 + ] [ rdf:type sp:Filter ;
101 + sp:expression
102 + [ rdf:type sp:not ;
103 + sp:arg1 [ rdf:type rhspin:currentUserIsOperatorOfFieldWithName ;
104 + arg:fieldName
105 + [ sp:varName "fieldName"^^xsd:string
116 ] 106 ]
117 - [
118 - rdf:type sp:Bind ;
119 - sp:expression [
120 - rdf:type rhspin:npdIndividualByName ;
121 - arg:name [
122 - sp:varName "name"^^xsd:string ;
123 - ] ;
124 - arg:type <http://www.reportinghub.no/ep/schema/facility#Field> ;
125 - ] ;
126 - sp:variable [
127 - sp:varName "field"^^xsd:string ;
128 - ] ;
129 ] 107 ]
130 - [
131 - rdf:type sp:Filter ;
132 - sp:expression [
133 - rdf:type sp:not ;
134 - sp:arg1 [
135 - rdf:type sp:bound ;
136 - sp:arg1 [
137 - sp:varName "field"^^xsd:string ;
138 - ] ;
139 - ] ;
140 - ] ;
141 ] 108 ]
142 - [ 109 + ] [ rdf:type sp:Bind ;
143 - rdf:type sp:Bind ; 110 + sp:expression
144 - sp:expression [ 111 + [ rdf:type fn:concat ;
145 - rdf:type fn:concat ; 112 + sp:arg1 "Your company is not the operator of field with name " ;
146 - sp:arg1 "Invalid Field name " ; 113 + sp:arg2 [ sp:varName "fieldName"^^xsd:string
147 - sp:arg2 [ 114 + ]
148 - sp:varName "name"^^xsd:string ;
149 - ] ;
150 - ] ;
151 - sp:variable [
152 - sp:varName "message"^^xsd:string ;
153 ] ; 115 ] ;
116 + sp:variable
117 + [ sp:varName "message"^^xsd:string
154 ] 118 ]
155 - ) ; 119 + ])
156 ] ; 120 ] ;
157 -. 121 + spin:constraint
158 -<http://www.epim.no/schemas/mprml/1#Obj_report> 122 + [ rdf:type sp:Construct ;
159 - spin:constraint [ 123 + sp:templates ([ sp:object spin:ConstraintViolation ;
160 - rdf:type sp:Construct ;
161 - sp:templates (
162 - [
163 - sp:object spin:ConstraintViolation ;
164 sp:predicate rdf:type ; 124 sp:predicate rdf:type ;
165 - sp:subject _:b384 ; 125 + sp:subject _:b2
166 - ] 126 + ] [ sp:object
167 - [ 127 + [ sp:varName "message"^^xsd:string
168 - sp:object [
169 - sp:varName "message"^^xsd:string ;
170 ] ; 128 ] ;
171 sp:predicate rdfs:label ; 129 sp:predicate rdfs:label ;
172 - sp:subject _:b384 ; 130 + sp:subject _:b2
173 - ] 131 + ]) ;
174 - ) ; 132 + sp:where ([ sp:object <http://www.epim.no/schemas/mprml/1#RF_wellbore> ;
175 - sp:where (
176 - [
177 - sp:object [
178 - sp:varName "installation"^^xsd:string ;
179 - ] ;
180 - sp:predicate <http://www.epim.no/schemas/mprml/1#installationRef> ;
181 - sp:subject spin:_this ;
182 - ]
183 - [
184 - sp:object <http://www.epim.no/schemas/mprml/1#RF_field> ;
185 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ; 133 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ;
186 - sp:subject [ 134 + sp:subject spin:_this
187 - sp:varName "installation"^^xsd:string ; 135 + ] [ sp:object
136 + [ sp:varName "wellBoreName"^^xsd:string
188 ] ; 137 ] ;
138 + sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
139 + sp:subject spin:_this
140 + ] [ rdf:type sp:Bind ;
141 + sp:expression
142 + [ rdf:type rhspin:wellBoreByName ;
143 + arg:wellBoreName
144 + [ sp:varName "wellBoreName"^^xsd:string
189 ] 145 ]
190 - [
191 - sp:object [
192 - sp:varName "fieldName"^^xsd:string ;
193 ] ; 146 ] ;
194 - sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ; 147 + sp:variable
195 - sp:subject [ 148 + [ sp:varName "wellBore"^^xsd:string
196 - sp:varName "installation"^^xsd:string ; 149 + ]
150 + ] [ rdf:type sp:Filter ;
151 + sp:expression
152 + [ rdf:type sp:bound ;
153 + sp:arg1 [ sp:varName "wellBore"^^xsd:string
154 + ]
155 + ]
156 + ] [ rdf:type sp:Filter ;
157 + sp:expression
158 + [ rdf:type sp:not ;
159 + sp:arg1 [ rdf:type rhspin:currentUserIsOperatorOfWellBore ;
160 + arg:wellBore
161 + [ sp:varName "wellBore"^^xsd:string
162 + ]
163 + ]
164 + ]
165 + ] [ rdf:type sp:Bind ;
166 + sp:expression
167 + [ rdf:type fn:concat ;
168 + sp:arg1 "Your company is not the operator of well bore with name " ;
169 + sp:arg2 [ sp:varName "wellBoreName"^^xsd:string
170 + ]
197 ] ; 171 ] ;
172 + sp:variable
173 + [ sp:varName "message"^^xsd:string
198 ] 174 ]
199 - [ 175 + ])
200 - rdf:type sp:Filter ;
201 - sp:expression [
202 - rdf:type sp:not ;
203 - sp:arg1 [
204 - rdf:type rhspin:currentUserIsOperatorOfFieldWithName ;
205 - arg:fieldName [
206 - sp:varName "fieldName"^^xsd:string ;
207 ] ; 176 ] ;
177 + spin:constraint
178 + [ rdf:type mpr-proxy-constraints:CheckIdAndNameMatch ;
179 + arg:kindRef <http://www.epim.no/schemas/mprml/1#RF_terminal> ;
180 + arg:type <http://www.reportinghub.no/ep/schema/facility#Facility>
181 + ] .
182 +
183 +<http://www.epim.no/schemas/mprml/1#Obj_productVolume>
184 + spin:constraint
185 + [ rdf:type sp:Construct ;
186 + sp:templates ([ sp:object spin:ConstraintViolation ;
187 + sp:predicate rdf:type ;
188 + sp:subject _:b3
189 + ] [ sp:object
190 + [ sp:varName "message"^^xsd:string
208 ] ; 191 ] ;
192 + sp:predicate rdfs:label ;
193 + sp:subject _:b3
194 + ]) ;
195 + sp:where ([ rdf:type sp:TriplePath ;
196 + sp:object
197 + [ sp:varName "name"^^xsd:string
209 ] ; 198 ] ;
210 - ] 199 + sp:path [ rdf:type sp:SeqPath ;
211 - [ 200 + sp:path1 <http://www.epim.no/schemas/mprml/1#nameRef> ;
212 - rdf:type sp:Bind ; 201 + sp:path2 <http://www.linkedmodel.org/schema/dtype#value>
213 - sp:expression [
214 - rdf:type fn:concat ;
215 - sp:arg1 "Your company is not the operator of field with name " ;
216 - sp:arg2 [
217 - sp:varName "fieldName"^^xsd:string ;
218 ] ; 202 ] ;
203 + sp:subject spin:_this
204 + ] [ rdf:type sp:Bind ;
205 + sp:expression
206 + [ rdf:type rhspin:npdIndividualByName ;
207 + arg:name
208 + [ sp:varName "name"^^xsd:string
219 ] ; 209 ] ;
220 - sp:variable [ 210 + arg:type <http://www.reportinghub.no/ep/schema/facility#Field>
221 - sp:varName "message"^^xsd:string ;
222 ] ; 211 ] ;
212 + sp:variable
213 + [ sp:varName "field"^^xsd:string
214 + ]
215 + ] [ rdf:type sp:Filter ;
216 + sp:expression
217 + [ rdf:type sp:not ;
218 + sp:arg1 [ rdf:type sp:bound ;
219 + sp:arg1 [ sp:varName "field"^^xsd:string
220 + ]
221 + ]
222 + ]
223 + ] [ rdf:type sp:Bind ;
224 + sp:expression
225 + [ rdf:type fn:concat ;
226 + sp:arg1 "Invalid Field name " ;
227 + sp:arg2 [ sp:varName "name"^^xsd:string
223 ] 228 ]
224 - ) ;
225 ] ; 229 ] ;
226 -. 230 + sp:variable
231 + [ sp:varName "message"^^xsd:string
232 + ]
233 + ])
234 + ] .
235 +
227 <http://www.reportinghub.no/ep/spin/mpr-proxy-constraints> 236 <http://www.reportinghub.no/ep/spin/mpr-proxy-constraints>
228 rdf:type owl:Ontology ; 237 rdf:type owl:Ontology ;
229 rdfs:comment "Collection of constraints that are executed on the SXML proxy ontology for MPR schema based reports."^^xsd:string ; 238 rdfs:comment "Collection of constraints that are executed on the SXML proxy ontology for MPR schema based reports."^^xsd:string ;
230 - owl:imports <http://spinrdf.org/spin> ; 239 + owl:imports <http://www.reportinghub.no/spin/rh> , <http://www.epim.no/schemas/mprml/1> , <http://spinrdf.org/spin> ;
231 - owl:imports <http://www.epim.no/schemas/mprml/1> ; 240 + owl:versionInfo "0.1.0"^^xsd:string .
232 - owl:imports <http://www.reportinghub.no/spin/rh> ; 241 +
233 - owl:versionInfo "0.1.0"^^xsd:string ;
234 -.
235 mpr-proxy-constraints:CheckId 242 mpr-proxy-constraints:CheckId
236 rdf:type spin:ConstructTemplate ; 243 rdf:type spin:ConstructTemplate ;
237 - spin:body [ 244 + rdfs:label "Check id"^^xsd:string ;
238 - rdf:type sp:Construct ; 245 + rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
239 - sp:templates ( 246 + spin:body
240 - [ 247 + [ rdf:type sp:Construct ;
241 - sp:object spin:ConstraintViolation ; 248 + sp:templates ([ sp:object spin:ConstraintViolation ;
242 sp:predicate rdf:type ; 249 sp:predicate rdf:type ;
243 - sp:subject _:b63838 ; 250 + sp:subject _:b4
244 - ] 251 + ] [ sp:object
245 - [ 252 + [ sp:varName "message"^^xsd:string
246 - sp:object [
247 - sp:varName "message"^^xsd:string ;
248 ] ; 253 ] ;
249 sp:predicate rdfs:label ; 254 sp:predicate rdfs:label ;
250 - sp:subject _:b63838 ; 255 + sp:subject _:b4
251 - ] 256 + ]) ;
252 - ) ; 257 + sp:where ([ sp:object
253 - sp:where ( 258 + [ sp:varName "kindRef"^^xsd:string
254 - [
255 - sp:object [
256 - sp:varName "kindRef"^^xsd:string ;
257 ] ; 259 ] ;
258 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ; 260 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ;
259 - sp:subject spin:_this ; 261 + sp:subject spin:_this
260 - ] 262 + ] [ sp:object "NPD" ;
261 - [
262 - sp:object "NPD" ;
263 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ; 263 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ;
264 - sp:subject spin:_this ; 264 + sp:subject spin:_this
265 - ] 265 + ] [ sp:object
266 - [ 266 + [ sp:varName "id"^^xsd:string
267 - sp:object [
268 - sp:varName "id"^^xsd:string ;
269 ] ; 267 ] ;
270 sp:predicate <http://www.epim.no/schemas/mprml/1#uidRefValue> ; 268 sp:predicate <http://www.epim.no/schemas/mprml/1#uidRefValue> ;
271 - sp:subject spin:_this ; 269 + sp:subject spin:_this
272 - ] 270 + ] [ rdf:type sp:Bind ;
273 - [ 271 + sp:expression
274 - rdf:type sp:Bind ; 272 + [ rdf:type rhspin:npdIndividualById ;
275 - sp:expression [ 273 + arg:id [ sp:varName "id"^^xsd:string
276 - rdf:type rhspin:npdIndividualById ;
277 - arg:id [
278 - sp:varName "id"^^xsd:string ;
279 - ] ;
280 - arg:type [
281 - sp:varName "type"^^xsd:string ;
282 - ] ;
283 - ] ;
284 - sp:variable [
285 - sp:varName "npd"^^xsd:string ;
286 ] ; 274 ] ;
275 + arg:type
276 + [ sp:varName "type"^^xsd:string
287 ] 277 ]
288 - [
289 - rdf:type sp:Filter ;
290 - sp:expression [
291 - rdf:type sp:not ;
292 - sp:arg1 [
293 - rdf:type sp:bound ;
294 - sp:arg1 [
295 - sp:varName "npd"^^xsd:string ;
296 - ] ;
297 - ] ;
298 ] ; 278 ] ;
279 + sp:variable
280 + [ sp:varName "npd"^^xsd:string
281 + ]
282 + ] [ rdf:type sp:Filter ;
283 + sp:expression
284 + [ rdf:type sp:not ;
285 + sp:arg1 [ rdf:type sp:bound ;
286 + sp:arg1 [ sp:varName "npd"^^xsd:string
287 + ]
288 + ]
299 ] 289 ]
300 - [ 290 + ] [ rdf:type sp:Bind ;
301 - rdf:type sp:Bind ; 291 + sp:expression
302 - sp:expression [ 292 + [ rdf:type fn:concat ;
303 - rdf:type fn:concat ;
304 sp:arg1 "[RH-19] Invalid " ; 293 sp:arg1 "[RH-19] Invalid " ;
305 - sp:arg2 [ 294 + sp:arg2 [ rdf:type afn:localname ;
306 - rdf:type afn:localname ; 295 + sp:arg1 [ sp:varName "type"^^xsd:string
307 - sp:arg1 [ 296 + ]
308 - sp:varName "type"^^xsd:string ;
309 - ] ;
310 ] ; 297 ] ;
311 sp:arg3 " id " ; 298 sp:arg3 " id " ;
312 - sp:arg4 [ 299 + sp:arg4 [ sp:varName "id"^^xsd:string
313 - sp:varName "id"^^xsd:string ; 300 + ]
314 - ] ;
315 - ] ;
316 - sp:variable [
317 - sp:varName "message"^^xsd:string ;
318 ] ; 301 ] ;
302 + sp:variable
303 + [ sp:varName "message"^^xsd:string
319 ] 304 ]
320 - ) ; 305 + ])
321 ] ; 306 ] ;
322 - spin:labelTemplate "Must be NPD id of {?type}/{?kindRef}"^^xsd:string ; 307 + spin:labelTemplate "Must be NPD id of {?type}/{?kindRef}"^^xsd:string .
323 - rdfs:label "Check id"^^xsd:string ; 308 +
324 - rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
325 -.
326 mpr-proxy-constraints:CheckIdAndNameMatch 309 mpr-proxy-constraints:CheckIdAndNameMatch
327 rdf:type spin:ConstructTemplate ; 310 rdf:type spin:ConstructTemplate ;
328 - spin:body [ 311 + rdfs:label "NPD id and name must match"^^xsd:string ;
329 - rdf:type sp:Construct ; 312 + rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
330 - sp:templates ( 313 + spin:body
331 - [ 314 + [ rdf:type sp:Construct ;
332 - sp:object spin:ConstraintViolation ; 315 + sp:templates ([ sp:object spin:ConstraintViolation ;
333 sp:predicate rdf:type ; 316 sp:predicate rdf:type ;
334 - sp:subject _:b30672 ; 317 + sp:subject _:b5
335 - ] 318 + ] [ sp:object
336 - [ 319 + [ sp:varName "message"^^xsd:string
337 - sp:object [
338 - sp:varName "message"^^xsd:string ;
339 ] ; 320 ] ;
340 sp:predicate rdfs:label ; 321 sp:predicate rdfs:label ;
341 - sp:subject _:b30672 ; 322 + sp:subject _:b5
342 - ] 323 + ]) ;
343 - ) ; 324 + sp:where ([ sp:object
344 - sp:where ( 325 + [ sp:varName "kindRef"^^xsd:string
345 - [
346 - sp:object [
347 - sp:varName "kindRef"^^xsd:string ;
348 ] ; 326 ] ;
349 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ; 327 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ;
350 - sp:subject spin:_this ; 328 + sp:subject spin:_this
351 - ] 329 + ] [ sp:object "NPD" ;
352 - [
353 - sp:object "NPD" ;
354 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ; 330 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ;
355 - sp:subject spin:_this ; 331 + sp:subject spin:_this
356 - ] 332 + ] [ sp:object
357 - [ 333 + [ sp:varName "name"^^xsd:string
358 - sp:object [
359 - sp:varName "name"^^xsd:string ;
360 ] ; 334 ] ;
361 sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ; 335 sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
362 - sp:subject spin:_this ; 336 + sp:subject spin:_this
363 - ] 337 + ] [ sp:object
364 - [ 338 + [ sp:varName "id"^^xsd:string
365 - sp:object [
366 - sp:varName "id"^^xsd:string ;
367 ] ; 339 ] ;
368 sp:predicate <http://www.epim.no/schemas/mprml/1#uidRefValue> ; 340 sp:predicate <http://www.epim.no/schemas/mprml/1#uidRefValue> ;
369 - sp:subject spin:_this ; 341 + sp:subject spin:_this
370 - ] 342 + ] [ rdf:type sp:Bind ;
371 - [ 343 + sp:expression
372 - rdf:type sp:Bind ; 344 + [ rdf:type rhspin:npdIndividualById ;
373 - sp:expression [ 345 + arg:id [ sp:varName "id"^^xsd:string
374 - rdf:type rhspin:npdIndividualById ;
375 - arg:id [
376 - sp:varName "id"^^xsd:string ;
377 - ] ;
378 - arg:type [
379 - sp:varName "type"^^xsd:string ;
380 - ] ;
381 - ] ;
382 - sp:variable [
383 - sp:varName "byId"^^xsd:string ;
384 ] ; 346 ] ;
347 + arg:type
348 + [ sp:varName "type"^^xsd:string
385 ] 349 ]
386 - [
387 - rdf:type sp:Bind ;
388 - sp:expression [
389 - rdf:type rhspin:npdIndividualByName ;
390 - arg:name [
391 - sp:varName "name"^^xsd:string ;
392 - ] ;
393 - arg:type [
394 - sp:varName "type"^^xsd:string ;
395 - ] ;
396 - ] ;
397 - sp:variable [
398 - sp:varName "byName"^^xsd:string ;
399 ] ; 350 ] ;
351 + sp:variable
352 + [ sp:varName "byId"^^xsd:string
400 ] 353 ]
401 - [ 354 + ] [ rdf:type sp:Bind ;
402 - rdf:type sp:Filter ; 355 + sp:expression
403 - sp:expression [ 356 + [ rdf:type rhspin:npdIndividualByName ;
404 - rdf:type sp:and ; 357 + arg:name
405 - sp:arg1 [ 358 + [ sp:varName "name"^^xsd:string
406 - rdf:type sp:or ;
407 - sp:arg1 [
408 - rdf:type sp:bound ;
409 - sp:arg1 [
410 - sp:varName "byId"^^xsd:string ;
411 - ] ;
412 - ] ;
413 - sp:arg2 [
414 - rdf:type sp:bound ;
415 - sp:arg1 [
416 - sp:varName "byName"^^xsd:string ;
417 - ] ;
418 ] ; 359 ] ;
360 + arg:type
361 + [ sp:varName "type"^^xsd:string
362 + ]
419 ] ; 363 ] ;
420 - sp:arg2 [ 364 + sp:variable
421 - rdf:type sp:ne ; 365 + [ sp:varName "byName"^^xsd:string
422 - sp:arg1 [ 366 + ]
423 - sp:varName "byId"^^xsd:string ; 367 + ] [ rdf:type sp:Filter ;
424 - ] ; 368 + sp:expression
425 - sp:arg2 [ 369 + [ rdf:type sp:and ;
426 - sp:varName "byName"^^xsd:string ; 370 + sp:arg1 [ rdf:type sp:or ;
371 + sp:arg1 [ rdf:type sp:bound ;
372 + sp:arg1 [ sp:varName "byId"^^xsd:string
373 + ]
427 ] ; 374 ] ;
375 + sp:arg2 [ rdf:type sp:bound ;
376 + sp:arg1 [ sp:varName "byName"^^xsd:string
377 + ]
378 + ]
428 ] ; 379 ] ;
380 + sp:arg2 [ rdf:type sp:ne ;
381 + sp:arg1 [ sp:varName "byId"^^xsd:string
429 ] ; 382 ] ;
383 + sp:arg2 [ sp:varName "byName"^^xsd:string
384 + ]
385 + ]
430 ] 386 ]
431 - [ 387 + ] [ rdf:type sp:Bind ;
432 - rdf:type sp:Bind ; 388 + sp:expression
433 - sp:expression [ 389 + [ rdf:type fn:concat ;
434 - rdf:type fn:concat ;
435 sp:arg1 "[RH-19] Mismatching " ; 390 sp:arg1 "[RH-19] Mismatching " ;
436 - sp:arg2 [ 391 + sp:arg2 [ rdf:type afn:localname ;
437 - rdf:type afn:localname ; 392 + sp:arg1 [ sp:varName "type"^^xsd:string
438 - sp:arg1 [ 393 + ]
439 - sp:varName "type"^^xsd:string ;
440 - ] ;
441 ] ; 394 ] ;
442 sp:arg3 " id: " ; 395 sp:arg3 " id: " ;
443 - sp:arg4 [ 396 + sp:arg4 [ sp:varName "id"^^xsd:string
444 - sp:varName "id"^^xsd:string ;
445 ] ; 397 ] ;
446 sp:arg5 " is not the NPD id of " ; 398 sp:arg5 " is not the NPD id of " ;
447 - sp:arg6 [ 399 + sp:arg6 [ sp:varName "name"^^xsd:string
448 - sp:varName "name"^^xsd:string ; 400 + ]
449 - ] ;
450 - ] ;
451 - sp:variable [
452 - sp:varName "message"^^xsd:string ;
453 ] ; 401 ] ;
402 + sp:variable
403 + [ sp:varName "message"^^xsd:string
454 ] 404 ]
455 - ) ; 405 + ])
456 ] ; 406 ] ;
457 - spin:labelTemplate "NPD name and id of {?type}/{?kindRef} must match"^^xsd:string ; 407 + spin:labelTemplate "NPD name and id of {?type}/{?kindRef} must match"^^xsd:string .
458 - rdfs:label "NPD id and name must match"^^xsd:string ; 408 +
459 - rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
460 -.
461 mpr-proxy-constraints:CheckName 409 mpr-proxy-constraints:CheckName
462 rdf:type spin:ConstructTemplate ; 410 rdf:type spin:ConstructTemplate ;
463 - spin:body [ 411 + rdfs:label "Check name"^^xsd:string ;
464 - rdf:type sp:Construct ; 412 + rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
465 - sp:templates ( 413 + spin:body
466 - [ 414 + [ rdf:type sp:Construct ;
467 - sp:object spin:ConstraintViolation ; 415 + sp:templates ([ sp:object spin:ConstraintViolation ;
468 sp:predicate rdf:type ; 416 sp:predicate rdf:type ;
469 - sp:subject _:b81462 ; 417 + sp:subject _:b6
470 - ] 418 + ] [ sp:object
471 - [ 419 + [ sp:varName "message"^^xsd:string
472 - sp:object [
473 - sp:varName "message"^^xsd:string ;
474 ] ; 420 ] ;
475 sp:predicate rdfs:label ; 421 sp:predicate rdfs:label ;
476 - sp:subject _:b81462 ; 422 + sp:subject _:b6
477 - ] 423 + ]) ;
478 - ) ; 424 + sp:where ([ sp:object
479 - sp:where ( 425 + [ sp:varName "kindRef"^^xsd:string
480 - [
481 - sp:object [
482 - sp:varName "kindRef"^^xsd:string ;
483 ] ; 426 ] ;
484 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ; 427 sp:predicate <http://www.epim.no/schemas/mprml/1#kindRef> ;
485 - sp:subject spin:_this ; 428 + sp:subject spin:_this
486 - ] 429 + ] [ sp:object "NPD" ;
487 - [
488 - sp:object "NPD" ;
489 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ; 430 sp:predicate <http://www.epim.no/schemas/mprml/1#namingSystem> ;
490 - sp:subject spin:_this ; 431 + sp:subject spin:_this
491 - ] 432 + ] [ sp:object
492 - [ 433 + [ sp:varName "name"^^xsd:string
493 - sp:object [
494 - sp:varName "name"^^xsd:string ;
495 ] ; 434 ] ;
496 sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ; 435 sp:predicate <http://www.linkedmodel.org/schema/dtype#value> ;
497 - sp:subject spin:_this ; 436 + sp:subject spin:_this
498 - ] 437 + ] [ rdf:type sp:Bind ;
499 - [ 438 + sp:expression
500 - rdf:type sp:Bind ; 439 + [ rdf:type rhspin:npdIndividualByName ;
501 - sp:expression [ 440 + arg:name
502 - rdf:type rhspin:npdIndividualByName ; 441 + [ sp:varName "name"^^xsd:string
503 - arg:name [
504 - sp:varName "name"^^xsd:string ;
505 - ] ;
506 - arg:type [
507 - sp:varName "type"^^xsd:string ;
508 - ] ;
509 - ] ;
510 - sp:variable [
511 - sp:varName "npd"^^xsd:string ;
512 ] ; 442 ] ;
443 + arg:type
444 + [ sp:varName "type"^^xsd:string
513 ] 445 ]
514 - [
515 - rdf:type sp:Filter ;
516 - sp:expression [
517 - rdf:type sp:not ;
518 - sp:arg1 [
519 - rdf:type sp:bound ;
520 - sp:arg1 [
521 - sp:varName "npd"^^xsd:string ;
522 - ] ;
523 - ] ;
524 ] ; 446 ] ;
447 + sp:variable
448 + [ sp:varName "npd"^^xsd:string
449 + ]
450 + ] [ rdf:type sp:Filter ;
451 + sp:expression
452 + [ rdf:type sp:not ;
453 + sp:arg1 [ rdf:type sp:bound ;
454 + sp:arg1 [ sp:varName "npd"^^xsd:string
525 ] 455 ]
526 - [ 456 + ]
527 - rdf:type sp:Bind ; 457 + ]
528 - sp:expression [ 458 + ] [ rdf:type sp:Bind ;
529 - rdf:type fn:concat ; 459 + sp:expression
530 - sp:arg1 [ 460 + [ rdf:type fn:concat ;
531 - rdf:type sp:add ; 461 + sp:arg1 [ rdf:type sp:add ;
532 sp:arg1 "[RH-19] Invalid " ; 462 sp:arg1 "[RH-19] Invalid " ;
533 - sp:arg2 [ 463 + sp:arg2 [ rdf:type afn:localname ;
534 - rdf:type afn:localname ; 464 + sp:arg1 [ sp:varName "type"^^xsd:string
535 - sp:arg1 [ 465 + ]
536 - sp:varName "type"^^xsd:string ; 466 + ]
537 - ] ;
538 - ] ;
539 ] ; 467 ] ;
540 sp:arg2 " name " ; 468 sp:arg2 " name " ;
541 - sp:arg3 [ 469 + sp:arg3 [ sp:varName "name"^^xsd:string
542 - sp:varName "name"^^xsd:string ; 470 + ]
543 - ] ;
544 - ] ;
545 - sp:variable [
546 - sp:varName "message"^^xsd:string ;
547 ] ; 471 ] ;
472 + sp:variable
473 + [ sp:varName "message"^^xsd:string
548 ] 474 ]
549 - ) ; 475 + ])
550 ] ; 476 ] ;
551 - spin:labelTemplate "Must be NPD name of {?type}/{?kindRef}"^^xsd:string ; 477 + spin:labelTemplate "Must be NPD name of {?type}/{?kindRef}"^^xsd:string .
552 - rdfs:label "Check name"^^xsd:string ; 478 +
553 - rdfs:subClassOf mpr-proxy-constraints:ConstraintTemplates ;
554 -.
555 mpr-proxy-constraints:ConstraintTemplates 479 mpr-proxy-constraints:ConstraintTemplates
556 rdf:type spin:ConstructTemplate ; 480 rdf:type spin:ConstructTemplate ;
557 - spin:constraint [
558 - rdf:type spl:Argument ;
559 - spl:predicate arg:kindRef ;
560 - spl:valueType <http://www.epim.no/schemas/mprml/1#ReportingFacility> ;
561 - rdfs:comment "The kind reference value."^^xsd:string ;
562 - ] ;
563 - spin:constraint [
564 - rdf:type spl:Argument ;
565 - spl:predicate arg:type ;
566 - spl:valueType rdfs:Class ;
567 - rdfs:comment "The NPD type that the individual needs to have."^^xsd:string ;
568 - ] ;
569 rdfs:label "Constraint templates"^^xsd:string ; 481 rdfs:label "Constraint templates"^^xsd:string ;
570 rdfs:subClassOf spin:ConstructTemplates ; 482 rdfs:subClassOf spin:ConstructTemplates ;
571 -. 483 + spin:constraint
484 + [ rdf:type spl:Argument ;
485 + rdfs:comment "The NPD type that the individual needs to have."^^xsd:string ;
486 + spl:predicate arg:type ;
487 + spl:valueType rdfs:Class
488 + ] ;
489 + spin:constraint
490 + [ rdf:type spl:Argument ;
491 + rdfs:comment "The kind reference value."^^xsd:string ;
492 + spl:predicate arg:kindRef ;
493 + spl:valueType <http://www.epim.no/schemas/mprml/1#ReportingFacility>
494 + ] .
......