Holger Knublauch

Added license checking for well bores and references fields

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