David Leal

Transform to add UoMs to the PCA-RDL completed

1 # baseURI: http://www.reportinghub.no/ep/transform/transform-helper-schema 1 # baseURI: http://www.reportinghub.no/ep/transform/transform-helper-schema
2 +# imports: http://spinrdf.org/spin
2 # imports: http://www.epim.no/schemas/mprml/1 3 # imports: http://www.epim.no/schemas/mprml/1
3 # imports: http://www.reportinghub.no/ep/schema/1.0/activity 4 # imports: http://www.reportinghub.no/ep/schema/1.0/activity
4 5
6 +@prefix ep-spin-lib: <http://www.reportinghub.no/ep/spin/lib#> .
5 @prefix owl: <http://www.w3.org/2002/07/owl#> . 7 @prefix owl: <http://www.w3.org/2002/07/owl#> .
6 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 8 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
7 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 9 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
10 +@prefix sp: <http://spinrdf.org/sp#> .
11 +@prefix spin: <http://spinrdf.org/spin#> .
8 @prefix transhelp: <http://www.reportinghub.no/ep/transform/transform-helper-schema#> . 12 @prefix transhelp: <http://www.reportinghub.no/ep/transform/transform-helper-schema#> .
9 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 13 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
10 14
11 <http://www.reportinghub.no/ep/transform/transform-helper-schema> 15 <http://www.reportinghub.no/ep/transform/transform-helper-schema>
12 rdf:type owl:Ontology ; 16 rdf:type owl:Ontology ;
13 rdfs:comment "The Transform Helper Schema is the set of properties and classes used for the creation of temporary data used as part of the ERH transformations. All instances of classes and uses of these properties is deleted before the triples are stored in the RDF database."^^xsd:string ; 17 rdfs:comment "The Transform Helper Schema is the set of properties and classes used for the creation of temporary data used as part of the ERH transformations. All instances of classes and uses of these properties is deleted before the triples are stored in the RDF database."^^xsd:string ;
14 - owl:imports <http://www.epim.no/schemas/mprml/1> , <http://www.reportinghub.no/ep/schema/1.0/activity> ; 18 + owl:imports <http://spinrdf.org/spin> , <http://www.reportinghub.no/ep/schema/1.0/activity> , <http://www.epim.no/schemas/mprml/1> ;
15 owl:versionInfo "Created with TopBraid Composer"^^xsd:string . 19 owl:versionInfo "Created with TopBraid Composer"^^xsd:string .
16 20
21 +transhelp:buildRdlURI
22 + rdf:type spin:Function ;
23 + rdfs:label "build RDL URI"^^xsd:string ;
24 + rdfs:subClassOf spin:Functions ;
25 + spin:body
26 + [ rdf:type sp:Select ;
27 + sp:resultVariables ([ sp:varName "uri"^^xsd:string
28 + ]) ;
29 + sp:where ([ rdf:type sp:Bind ;
30 + sp:expression
31 + [ rdf:type ep-spin-lib:buildURI ;
32 + sp:arg1 "http://posccaesar.org/rdl/" ;
33 + sp:arg2 [ rdf:type ep-spin-lib:normalizeString ;
34 + sp:arg1 spin:_arg1
35 + ]
36 + ] ;
37 + sp:variable
38 + [ sp:varName "uri"^^xsd:string
39 + ]
40 + ])
41 + ] .
42 +
17 transhelp:derivedFrom 43 transhelp:derivedFrom
18 rdf:type owl:ObjectProperty . 44 rdf:type owl:ObjectProperty .
19 45
20 transhelp:facilityIdentifier 46 transhelp:facilityIdentifier
21 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 47 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
22 48
23 transhelp:forComment 49 transhelp:forComment
24 rdf:type owl:ObjectProperty ; 50 rdf:type owl:ObjectProperty ;
...@@ -29,34 +55,39 @@ transhelp:forComment ...@@ -29,34 +55,39 @@ transhelp:forComment
29 transhelp:hasDerivedText 55 transhelp:hasDerivedText
30 rdf:type owl:DatatypeProperty . 56 rdf:type owl:DatatypeProperty .
31 57
58 +transhelp:hasEquivalentInRDL
59 + rdf:type owl:ObjectProperty ;
60 + rdfs:comment "References the RDL class equivalent to a Thing in the EPIM ontology."^^xsd:string ;
61 + rdfs:label "has equivalent in RDL"^^xsd:string .
62 +
32 transhelp:interval 63 transhelp:interval
33 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 64 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
34 65
35 transhelp:intervalEnd 66 transhelp:intervalEnd
36 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 67 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
37 68
38 transhelp:intervalIdentifier 69 transhelp:intervalIdentifier
39 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 70 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
40 71
41 transhelp:intervalStart 72 transhelp:intervalStart
42 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 73 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
43 74
44 transhelp:label 75 transhelp:label
45 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 76 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
46 77
47 transhelp:mapsTo 78 transhelp:mapsTo
48 rdf:type rdf:Property . 79 rdf:type rdf:Property .
49 80
50 transhelp:materialClassMapsToMPREnumeration 81 transhelp:materialClassMapsToMPREnumeration
51 - rdf:type owl:FunctionalProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ; 82 + rdf:type owl:ObjectProperty , owl:InverseFunctionalProperty , owl:FunctionalProperty ;
52 rdfs:label "material class maps to MPR enumeration"^^xsd:string ; 83 rdfs:label "material class maps to MPR enumeration"^^xsd:string ;
53 rdfs:subPropertyOf transhelp:mapsTo . 84 rdfs:subPropertyOf transhelp:mapsTo .
54 85
55 transhelp:nominalInstant 86 transhelp:nominalInstant
56 - rdf:type owl:DatatypeProperty , owl:FunctionalProperty . 87 + rdf:type owl:FunctionalProperty , owl:DatatypeProperty .
57 88
58 transhelp:quantitySpaceMapsToClassOfScale 89 transhelp:quantitySpaceMapsToClassOfScale
59 - rdf:type owl:FunctionalProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ; 90 + rdf:type owl:ObjectProperty , owl:InverseFunctionalProperty , owl:FunctionalProperty ;
60 rdfs:label "quantity space maps to class of scale"^^xsd:string ; 91 rdfs:label "quantity space maps to class of scale"^^xsd:string ;
61 rdfs:subPropertyOf transhelp:mapsTo . 92 rdfs:subPropertyOf transhelp:mapsTo .
62 93
......
1 # baseURI: http://www.reportinghub.no/refdata/transform/uomprop2rd 1 # baseURI: http://www.reportinghub.no/refdata/transform/uomprop2rd
2 +# imports: http://posccaesar.org/rdl
2 # imports: http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003 3 # imports: http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003
3 -# imports: http://rds.posccaesar.org/2008/06/OWL/RDL
4 # imports: http://rds.posccaesar.org/2008/06/OWL/RDL-annotations 4 # imports: http://rds.posccaesar.org/2008/06/OWL/RDL-annotations
5 # imports: http://spinrdf.org/spin 5 # imports: http://spinrdf.org/spin
6 # imports: http://www.reportinghub.no/ep/schema/1.0/drilling 6 # imports: http://www.reportinghub.no/ep/schema/1.0/drilling
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
11 @prefix RDL-annotations: <http://rds.posccaesar.org/2008/06/OWL/RDL-annotations#> . 11 @prefix RDL-annotations: <http://rds.posccaesar.org/2008/06/OWL/RDL-annotations#> .
12 @prefix afn: <http://jena.hpl.hp.com/ARQ/function#> . 12 @prefix afn: <http://jena.hpl.hp.com/ARQ/function#> .
13 @prefix drilling: <http://www.reportinghub.no/ep/schema/1.0/drilling#> . 13 @prefix drilling: <http://www.reportinghub.no/ep/schema/1.0/drilling#> .
14 +@prefix ep-core: <http://www.reportinghub.no/ep/schema/core#> .
15 +@prefix ep-dpr-spin-lib: <http://www.reportinghub.no/ep/dpr/spin/1.1/lib#> .
16 +@prefix ep-spin-lib: <http://www.reportinghub.no/ep/spin/lib#> .
14 @prefix fn: <http://www.w3.org/2005/xpath-functions#> . 17 @prefix fn: <http://www.w3.org/2005/xpath-functions#> .
15 @prefix owl: <http://www.w3.org/2002/07/owl#> . 18 @prefix owl: <http://www.w3.org/2002/07/owl#> .
16 @prefix pca-dm: <http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003#> . 19 @prefix pca-dm: <http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003#> .
...@@ -21,21 +24,59 @@ ...@@ -21,21 +24,59 @@
21 @prefix spif: <http://spinrdf.org/spif#> . 24 @prefix spif: <http://spinrdf.org/spif#> .
22 @prefix spin: <http://spinrdf.org/spin#> . 25 @prefix spin: <http://spinrdf.org/spin#> .
23 @prefix spl: <http://spinrdf.org/spl#> . 26 @prefix spl: <http://spinrdf.org/spl#> .
27 +@prefix transhelp: <http://www.reportinghub.no/ep/transform/transform-helper-schema#> .
24 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 28 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
25 29
26 -<http://www.reportinghub.no/refdata/transform/uomprop2rd> 30 +ep-core:PerLength
27 - rdf:type owl:Ontology ; 31 + rdf:type ep-core:PropertySpace .
28 - owl:imports <http://rds.posccaesar.org/2008/06/OWL/RDL> , <http://www.reportinghub.no/ep/transform/transform-helper-schema> , <http://www.reportinghub.no/ep/schema/1.0/drilling> , <http://spinrdf.org/spin> , <http://rds.posccaesar.org/2008/06/OWL/RDL-annotations> , <http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003> , <http://www.reportinghub.no/refdata/transform/quantityToClassOfScaleMap> ; 32 +
29 - owl:versionInfo "Created with TopBraid Composer"^^xsd:string . 33 +ep-core:ProductivityIndex
34 + rdf:type ep-core:PropertySpace .
30 35
31 -owl:DatatypeProperty 36 +ep-core:PropertySpace
32 spin:rule 37 spin:rule
33 [ rdf:type sp:Construct ; 38 [ rdf:type sp:Construct ;
34 - rdfs:comment "0341 Set the domain and classification"^^xsd:string ; 39 + rdfs:comment "10331 Set URI and designation for EHR RD from a PropertySpace - not already in RDL"^^xsd:string ;
35 sp:templates ([ sp:object 40 sp:templates ([ sp:object
36 - [ sp:varName "rdDomain"^^xsd:string 41 + [ sp:varName "now"^^xsd:string
37 ] ; 42 ] ;
38 - sp:predicate pca-dm:hasDomain ; 43 + sp:predicate <http://posccaesar.org/rdl/hasCreationDate> ;
44 + sp:subject
45 + [ sp:varName "thisrduri"^^xsd:string
46 + ]
47 + ] [ sp:object
48 + [ sp:varName "designation"^^xsd:string
49 + ] ;
50 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
51 + sp:subject
52 + [ sp:varName "thisrduri"^^xsd:string
53 + ]
54 + ] [ sp:object
55 + [ sp:varName "designation"^^xsd:string
56 + ] ;
57 + sp:predicate rdfs:label ;
58 + sp:subject
59 + [ sp:varName "thisrduri"^^xsd:string
60 + ]
61 + ] [ sp:object
62 + [ sp:varName "pcaid"^^xsd:string
63 + ] ;
64 + sp:predicate <http://posccaesar.org/rdl/hasIdPCA> ;
65 + sp:subject
66 + [ sp:varName "thisrduri"^^xsd:string
67 + ]
68 + ] [ sp:object pca-dm:PropertySpace ;
69 + sp:predicate rdf:type ;
70 + sp:subject
71 + [ sp:varName "thisrduri"^^xsd:string
72 + ]
73 + ] [ sp:object "EPIM Property space imported into the RDL" ;
74 + sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
75 + sp:subject
76 + [ sp:varName "thisrduri"^^xsd:string
77 + ]
78 + ] [ sp:object <http://posccaesar.org/rdl/ERH00000> ;
79 + sp:predicate rdf:type ;
39 sp:subject 80 sp:subject
40 [ sp:varName "thisrduri"^^xsd:string 81 [ sp:varName "thisrduri"^^xsd:string
41 ] 82 ]
...@@ -44,9 +85,7 @@ owl:DatatypeProperty ...@@ -44,9 +85,7 @@ owl:DatatypeProperty
44 sp:subject 85 sp:subject
45 [ sp:varName "clsncuri"^^xsd:string 86 [ sp:varName "clsncuri"^^xsd:string
46 ] 87 ]
47 - ] [ sp:object 88 + ] [ sp:object <http://posccaesar.org/rdl/ERH00001> ;
48 - [ sp:varName "classOfScale"^^xsd:string
49 - ] ;
50 sp:predicate pca-dm:hasClassifier ; 89 sp:predicate pca-dm:hasClassifier ;
51 sp:subject 90 sp:subject
52 [ sp:varName "clsncuri"^^xsd:string 91 [ sp:varName "clsncuri"^^xsd:string
...@@ -63,78 +102,135 @@ owl:DatatypeProperty ...@@ -63,78 +102,135 @@ owl:DatatypeProperty
63 sp:subject 102 sp:subject
64 [ sp:varName "clsncuri"^^xsd:string 103 [ sp:varName "clsncuri"^^xsd:string
65 ] 104 ]
66 - ]) ;
67 - sp:where ([ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
68 - sp:predicate rdf:type ;
69 - sp:subject spin:_this
70 - ] [ sp:object spin:_this ;
71 - sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
72 - sp:subject
73 - [ sp:varName "thisrduri"^^xsd:string
74 - ]
75 ] [ sp:object 105 ] [ sp:object
76 - [ sp:varName "domain"^^xsd:string 106 + [ sp:varName "thisrduri"^^xsd:string
77 ] ; 107 ] ;
78 - sp:predicate rdfs:domain ; 108 + sp:predicate transhelp:hasEquivalentInRDL ;
79 sp:subject spin:_this 109 sp:subject spin:_this
80 - ] [ sp:object 110 + ]) ;
81 - [ sp:varName "rdDomain"^^xsd:string 111 + sp:where ([ rdf:type sp:NotExists ;
82 - ] ;
83 - sp:predicate owl:sameAs ;
84 - sp:subject
85 - [ sp:varName "domain"^^xsd:string
86 - ]
87 - ] [ rdf:type sp:Optional ;
88 sp:elements ([ sp:object 112 sp:elements ([ sp:object
89 - [ sp:varName "classOfScale"^^xsd:string 113 + [ sp:varName "seeReferenceData"^^xsd:string
90 ] ; 114 ] ;
91 - sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#quantitySpaceMapsToClassOfScale> ; 115 + sp:predicate transhelp:hasEquivalentInRDL ;
92 - sp:subject 116 + sp:subject spin:_this
93 - [ sp:varName "domain"^^xsd:string
94 - ]
95 ]) 117 ])
118 + ] [ sp:object
119 + [ sp:varName "label"^^xsd:string
120 + ] ;
121 + sp:predicate rdfs:label ;
122 + sp:subject spin:_this
96 ] [ rdf:type sp:Bind ; 123 ] [ rdf:type sp:Bind ;
97 sp:expression 124 sp:expression
98 [ rdf:type spif:generateUUID 125 [ rdf:type spif:generateUUID
99 ] ; 126 ] ;
100 sp:variable 127 sp:variable
101 - [ sp:varName "clsnuuid"^^xsd:string 128 + [ sp:varName "uuid"^^xsd:string
102 ] 129 ]
103 ] [ rdf:type sp:Bind ; 130 ] [ rdf:type sp:Bind ;
104 sp:expression 131 sp:expression
105 [ rdf:type fn:concat ; 132 [ rdf:type fn:concat ;
106 sp:arg1 "ERH" ; 133 sp:arg1 "ERH" ;
107 - sp:arg2 [ sp:varName "clsnuuid"^^xsd:string 134 + sp:arg2 [ sp:varName "uuid"^^xsd:string
108 ] 135 ]
109 ] ; 136 ] ;
110 sp:variable 137 sp:variable
111 - [ sp:varName "clsnid"^^xsd:string 138 + [ sp:varName "pcaid"^^xsd:string
112 ] 139 ]
113 ] [ rdf:type sp:Bind ; 140 ] [ rdf:type sp:Bind ;
114 sp:expression 141 sp:expression
115 [ rdf:type spif:buildURI ; 142 [ rdf:type spif:buildURI ;
116 - sp:arg1 "<http://posccaesar.org/rdl/{?clsnid}>" 143 + sp:arg1 "<http://posccaesar.org/rdl/{?pcaid}>"
117 ] ; 144 ] ;
118 sp:variable 145 sp:variable
119 - [ sp:varName "clsncuri"^^xsd:string 146 + [ sp:varName "thisrduri"^^xsd:string
147 + ]
148 + ] [ rdf:type sp:Bind ;
149 + sp:expression
150 + [ rdf:type fn:upper-case ;
151 + sp:arg1 [ sp:varName "label"^^xsd:string
152 + ]
153 + ] ;
154 + sp:variable
155 + [ sp:varName "designation"^^xsd:string
156 + ]
157 + ] [ rdf:type sp:Bind ;
158 + sp:expression
159 + [ rdf:type sp:now
160 + ] ;
161 + sp:variable
162 + [ sp:varName "now"^^xsd:string
120 ] 163 ]
121 ]) 164 ])
122 ] ; 165 ] ;
123 spin:rule 166 spin:rule
124 [ rdf:type sp:Construct ; 167 [ rdf:type sp:Construct ;
125 - rdfs:comment "0340a Set URI and designation for EHR RD from Datatype Property that ARE UoM - no label"^^xsd:string ; 168 + rdfs:comment "10330 Set map from EHR to RDL for a property space"^^xsd:string ;
126 sp:templates ([ sp:object 169 sp:templates ([ sp:object
127 [ sp:varName "thisrduri"^^xsd:string 170 [ sp:varName "thisrduri"^^xsd:string
128 ] ; 171 ] ;
129 - sp:predicate owl:sameAs ; 172 + sp:predicate transhelp:hasEquivalentInRDL ;
130 sp:subject spin:_this 173 sp:subject spin:_this
174 + ] [ sp:object "EPIM Property space mapped to RDL by designation identity" ;
175 + sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
176 + sp:subject
177 + [ sp:varName "thisrduri"^^xsd:string
178 + ]
179 + ]) ;
180 + sp:where ([ sp:object
181 + [ sp:varName "label"^^xsd:string
182 + ] ;
183 + sp:predicate rdfs:label ;
184 + sp:subject spin:_this
185 + ] [ rdf:type sp:NotExists ;
186 + sp:elements ([ sp:object
187 + [ sp:varName "seeReferenceData"^^xsd:string
188 + ] ;
189 + sp:predicate transhelp:hasEquivalentInRDL ;
190 + sp:subject spin:_this
191 + ])
192 + ] [ sp:object pca-dm:SinglePropertyDimension ;
193 + sp:predicate rdf:type ;
194 + sp:subject
195 + [ sp:varName "thisrduri"^^xsd:string
196 + ]
131 ] [ sp:object 197 ] [ sp:object
132 - [ sp:varName "desigation"^^xsd:string 198 + [ sp:varName "designation"^^xsd:string
133 ] ; 199 ] ;
134 sp:predicate <http://posccaesar.org/rdl/hasDesignation> ; 200 sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
135 sp:subject 201 sp:subject
136 [ sp:varName "thisrduri"^^xsd:string 202 [ sp:varName "thisrduri"^^xsd:string
137 ] 203 ]
204 + ] [ rdf:type sp:Bind ;
205 + sp:expression
206 + [ rdf:type fn:upper-case ;
207 + sp:arg1 [ sp:varName "label"^^xsd:string
208 + ]
209 + ] ;
210 + sp:variable
211 + [ sp:varName "designation"^^xsd:string
212 + ]
213 + ])
214 + ] .
215 +
216 +ep-core:Scale
217 + spin:rule
218 + [ rdf:type sp:Construct ;
219 + rdfs:comment "10341a Set URI and designation for EHR RD from Datatype Property that ARE UoM - no label"^^xsd:string ;
220 + sp:templates ([ sp:object
221 + [ sp:varName "designation"^^xsd:string
222 + ] ;
223 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
224 + sp:subject
225 + [ sp:varName "thisrduri"^^xsd:string
226 + ]
227 + ] [ sp:object
228 + [ sp:varName "designation"^^xsd:string
229 + ] ;
230 + sp:predicate rdfs:label ;
231 + sp:subject
232 + [ sp:varName "thisrduri"^^xsd:string
233 + ]
138 ] [ sp:object 234 ] [ sp:object
139 [ sp:varName "pcaid"^^xsd:string 235 [ sp:varName "pcaid"^^xsd:string
140 ] ; 236 ] ;
...@@ -147,36 +243,26 @@ owl:DatatypeProperty ...@@ -147,36 +243,26 @@ owl:DatatypeProperty
147 sp:subject 243 sp:subject
148 [ sp:varName "thisrduri"^^xsd:string 244 [ sp:varName "thisrduri"^^xsd:string
149 ] 245 ]
150 - ] [ sp:object "Scale imported from the EPIM schema - no label" ; 246 + ] [ sp:object "EPIM Scale imported into the RDL - no label" ;
151 sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ; 247 sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
152 sp:subject 248 sp:subject
153 [ sp:varName "thisrduri"^^xsd:string 249 [ sp:varName "thisrduri"^^xsd:string
154 ] 250 ]
155 - ] [ sp:object spin:_this ; 251 + ] [ sp:object
156 - sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
157 - sp:subject
158 [ sp:varName "thisrduri"^^xsd:string 252 [ sp:varName "thisrduri"^^xsd:string
159 - ] 253 + ] ;
254 + sp:predicate transhelp:hasEquivalentInRDL ;
255 + sp:subject spin:_this
160 ]) ; 256 ]) ;
161 sp:where ([ rdf:type sp:NotExists ; 257 sp:where ([ rdf:type sp:NotExists ;
162 sp:elements ([ sp:object 258 sp:elements ([ sp:object
163 - [ sp:varName "same"^^xsd:string 259 + [ sp:varName "equivalentInRDL"^^xsd:string
164 ] ; 260 ] ;
165 - sp:predicate owl:sameAs ; 261 + sp:predicate transhelp:hasEquivalentInRDL ;
166 sp:subject spin:_this 262 sp:subject spin:_this
167 ]) 263 ])
168 ] [ rdf:type sp:NotExists ; 264 ] [ rdf:type sp:NotExists ;
169 sp:elements ([ sp:object 265 sp:elements ([ sp:object
170 - [ sp:varName "seeReferenceData"^^xsd:string
171 - ] ;
172 - sp:predicate <http://www.reportinghub.no/ep/schema/core#seeReferenceData> ;
173 - sp:subject spin:_this
174 - ])
175 - ] [ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
176 - sp:predicate rdf:type ;
177 - sp:subject spin:_this
178 - ] [ rdf:type sp:NotExists ;
179 - sp:elements ([ sp:object
180 [ sp:varName "label"^^xsd:string 266 [ sp:varName "label"^^xsd:string
181 ] ; 267 ] ;
182 sp:predicate rdfs:label ; 268 sp:predicate rdfs:label ;
...@@ -213,7 +299,7 @@ owl:DatatypeProperty ...@@ -213,7 +299,7 @@ owl:DatatypeProperty
213 sp:arg1 "no label" 299 sp:arg1 "no label"
214 ] ; 300 ] ;
215 sp:variable 301 sp:variable
216 - [ sp:varName "desigation"^^xsd:string 302 + [ sp:varName "designation"^^xsd:string
217 ] 303 ]
218 ] [ rdf:type sp:Filter ; 304 ] [ rdf:type sp:Filter ;
219 sp:expression 305 sp:expression
...@@ -235,40 +321,25 @@ owl:DatatypeProperty ...@@ -235,40 +321,25 @@ owl:DatatypeProperty
235 ] ; 321 ] ;
236 spin:rule 322 spin:rule
237 [ rdf:type sp:Construct ; 323 [ rdf:type sp:Construct ;
238 - rdfs:comment "0342 Set the range - not Beaufort scale which has an integer range"^^xsd:string ; 324 + rdfs:comment "10341 Set URI and designation for EHR RD from a Datatype Property that is a UoM"^^xsd:string ;
239 - sp:templates ([ sp:object <http://rds.posccaesar.org/2008/06/OWL/RDL#RDS999900710> ; 325 + sp:templates ([ sp:object
240 - sp:predicate pca-dm:hasCodomain ; 326 + [ sp:varName "now"^^xsd:string
327 + ] ;
328 + sp:predicate <http://posccaesar.org/rdl/hasCreationDate> ;
241 sp:subject 329 sp:subject
242 [ sp:varName "thisrduri"^^xsd:string 330 [ sp:varName "thisrduri"^^xsd:string
243 ] 331 ]
244 - ]) ; 332 + ] [ sp:object
245 - sp:where ([ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ; 333 + [ sp:varName "designation"^^xsd:string
246 - sp:predicate rdf:type ; 334 + ] ;
247 - sp:subject spin:_this 335 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
248 - ] [ rdf:type sp:NotExists ;
249 - sp:elements ([ sp:object "Beaufort scale number" ;
250 - sp:predicate rdfs:label ;
251 - sp:subject spin:_this
252 - ])
253 - ] [ sp:object spin:_this ;
254 - sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
255 sp:subject 336 sp:subject
256 [ sp:varName "thisrduri"^^xsd:string 337 [ sp:varName "thisrduri"^^xsd:string
257 ] 338 ]
258 - ])
259 - ] ;
260 - spin:rule
261 - [ rdf:type sp:Construct ;
262 - rdfs:comment "0340 Set URI and designation for EHR RD from Datatype Property that ARE UoM"^^xsd:string ;
263 - sp:templates ([ sp:object
264 - [ sp:varName "thisrduri"^^xsd:string
265 - ] ;
266 - sp:predicate owl:sameAs ;
267 - sp:subject spin:_this
268 ] [ sp:object 339 ] [ sp:object
269 - [ sp:varName "desigation"^^xsd:string 340 + [ sp:varName "designation"^^xsd:string
270 ] ; 341 ] ;
271 - sp:predicate <http://posccaesar.org/rdl/hasDesignation> ; 342 + sp:predicate rdfs:label ;
272 sp:subject 343 sp:subject
273 [ sp:varName "thisrduri"^^xsd:string 344 [ sp:varName "thisrduri"^^xsd:string
274 ] 345 ]
...@@ -284,7 +355,7 @@ owl:DatatypeProperty ...@@ -284,7 +355,7 @@ owl:DatatypeProperty
284 sp:subject 355 sp:subject
285 [ sp:varName "thisrduri"^^xsd:string 356 [ sp:varName "thisrduri"^^xsd:string
286 ] 357 ]
287 - ] [ sp:object "Scale imported from the EPIM schema" ; 358 + ] [ sp:object "EPIM Scale imported into the RDL" ;
288 sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ; 359 sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
289 sp:subject 360 sp:subject
290 [ sp:varName "thisrduri"^^xsd:string 361 [ sp:varName "thisrduri"^^xsd:string
...@@ -316,34 +387,29 @@ owl:DatatypeProperty ...@@ -316,34 +387,29 @@ owl:DatatypeProperty
316 sp:subject 387 sp:subject
317 [ sp:varName "clsncuri"^^xsd:string 388 [ sp:varName "clsncuri"^^xsd:string
318 ] 389 ]
319 - ] [ sp:object spin:_this ; 390 + ] [ sp:object
320 - sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
321 - sp:subject
322 [ sp:varName "thisrduri"^^xsd:string 391 [ sp:varName "thisrduri"^^xsd:string
323 - ] 392 + ] ;
393 + sp:predicate transhelp:hasEquivalentInRDL ;
394 + sp:subject spin:_this
324 ]) ; 395 ]) ;
325 sp:where ([ rdf:type sp:NotExists ; 396 sp:where ([ rdf:type sp:NotExists ;
326 sp:elements ([ sp:object 397 sp:elements ([ sp:object
327 - [ sp:varName "same"^^xsd:string
328 - ] ;
329 - sp:predicate owl:sameAs ;
330 - sp:subject spin:_this
331 - ])
332 - ] [ rdf:type sp:NotExists ;
333 - sp:elements ([ sp:object
334 [ sp:varName "seeReferenceData"^^xsd:string 398 [ sp:varName "seeReferenceData"^^xsd:string
335 ] ; 399 ] ;
336 - sp:predicate <http://www.reportinghub.no/ep/schema/core#seeReferenceData> ; 400 + sp:predicate transhelp:hasEquivalentInRDL ;
337 sp:subject spin:_this 401 sp:subject spin:_this
338 ]) 402 ])
339 - ] [ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
340 - sp:predicate rdf:type ;
341 - sp:subject spin:_this
342 ] [ sp:object 403 ] [ sp:object
343 [ sp:varName "label"^^xsd:string 404 [ sp:varName "label"^^xsd:string
344 ] ; 405 ] ;
345 sp:predicate rdfs:label ; 406 sp:predicate rdfs:label ;
346 sp:subject spin:_this 407 sp:subject spin:_this
408 + ] [ rdf:type sp:NotExists ;
409 + sp:elements ([ sp:object "undefined scale" ;
410 + sp:predicate rdfs:label ;
411 + sp:subject spin:_this
412 + ])
347 ] [ rdf:type sp:Bind ; 413 ] [ rdf:type sp:Bind ;
348 sp:expression 414 sp:expression
349 [ rdf:type spif:generateUUID 415 [ rdf:type spif:generateUUID
...@@ -376,7 +442,14 @@ owl:DatatypeProperty ...@@ -376,7 +442,14 @@ owl:DatatypeProperty
376 ] 442 ]
377 ] ; 443 ] ;
378 sp:variable 444 sp:variable
379 - [ sp:varName "desigation"^^xsd:string 445 + [ sp:varName "designation"^^xsd:string
446 + ]
447 + ] [ rdf:type sp:Bind ;
448 + sp:expression
449 + [ rdf:type sp:now
450 + ] ;
451 + sp:variable
452 + [ sp:varName "now"^^xsd:string
380 ] 453 ]
381 ] [ rdf:type sp:Filter ; 454 ] [ rdf:type sp:Filter ;
382 sp:expression 455 sp:expression
...@@ -395,4 +468,356 @@ owl:DatatypeProperty ...@@ -395,4 +468,356 @@ owl:DatatypeProperty
395 sp:arg2 "http://www.w3.org/2004/02/skos/core#" 468 sp:arg2 "http://www.w3.org/2004/02/skos/core#"
396 ] 469 ]
397 ]) 470 ])
471 + ] ;
472 + spin:rule
473 + [ rdf:type sp:Construct ;
474 + rdfs:comment "10342a Check for missing domain"^^xsd:string ;
475 + sp:templates ([ sp:object "No domain specified for EPIM Scale" ;
476 + sp:predicate rdfs:label ;
477 + sp:subject
478 + [ sp:varName "thisrduri"^^xsd:string
479 + ]
480 + ]) ;
481 + sp:where ([ sp:object
482 + [ sp:varName "thisrduri"^^xsd:string
483 + ] ;
484 + sp:predicate transhelp:hasEquivalentInRDL ;
485 + sp:subject spin:_this
486 + ] [ rdf:type sp:NotExists ;
487 + sp:elements ([ sp:object
488 + [ sp:varName "domain"^^xsd:string
489 + ] ;
490 + sp:predicate rdfs:domain ;
491 + sp:subject spin:_this
492 + ])
493 + ])
494 + ] ;
495 + spin:rule
496 + [ rdf:type sp:Construct ;
497 + rdfs:comment "10344 Set the range - not Beaufort scale which has an integer range"^^xsd:string ;
498 + sp:templates ([ sp:object <http://posccaesar.org/rdl/RDS999900710> ;
499 + sp:predicate pca-dm:hasCodomain ;
500 + sp:subject
501 + [ sp:varName "thisrduri"^^xsd:string
502 + ]
503 + ]) ;
504 + sp:where ([ sp:object
505 + [ sp:varName "thisrduri"^^xsd:string
506 + ] ;
507 + sp:predicate transhelp:hasEquivalentInRDL ;
508 + sp:subject spin:_this
509 + ] [ rdf:type sp:NotExists ;
510 + sp:elements ([ sp:object "Beaufort scale number" ;
511 + sp:predicate rdfs:label ;
512 + sp:subject spin:_this
513 + ])
514 + ])
515 + ] ;
516 + spin:rule
517 + [ rdf:type sp:Construct ;
518 + rdfs:comment "10340 Set map from EHR to RDL for a scale"^^xsd:string ;
519 + sp:templates ([ sp:object
520 + [ sp:varName "thisrduri"^^xsd:string
521 + ] ;
522 + sp:predicate transhelp:hasEquivalentInRDL ;
523 + sp:subject spin:_this
524 + ] [ sp:object "EPIM Scale mapped to RDL by designation identity" ;
525 + sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
526 + sp:subject
527 + [ sp:varName "thisrduri"^^xsd:string
528 + ]
529 + ]) ;
530 + sp:where ([ sp:object
531 + [ sp:varName "label"^^xsd:string
532 + ] ;
533 + sp:predicate rdfs:label ;
534 + sp:subject spin:_this
535 + ] [ rdf:type sp:NotExists ;
536 + sp:elements ([ sp:object
537 + [ sp:varName "seeReferenceData"^^xsd:string
538 + ] ;
539 + sp:predicate transhelp:hasEquivalentInRDL ;
540 + sp:subject spin:_this
541 + ])
542 + ] [ sp:object pca-dm:Scale ;
543 + sp:predicate rdf:type ;
544 + sp:subject
545 + [ sp:varName "thisrduri"^^xsd:string
546 + ]
547 + ] [ sp:object
548 + [ sp:varName "designation"^^xsd:string
549 + ] ;
550 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
551 + sp:subject
552 + [ sp:varName "thisrduri"^^xsd:string
553 + ]
554 + ] [ rdf:type sp:Bind ;
555 + sp:expression
556 + [ rdf:type fn:upper-case ;
557 + sp:arg1 [ sp:varName "label"^^xsd:string
558 + ]
559 + ] ;
560 + sp:variable
561 + [ sp:varName "designation"^^xsd:string
562 + ]
563 + ])
564 + ] ;
565 + spin:rule
566 + [ rdf:type sp:Construct ;
567 + rdfs:comment "10342c Check for EPIM - RDL domain mismatch"^^xsd:string ;
568 + sp:templates ([ sp:object
569 + [ sp:varName "mismatchMessage"^^xsd:string
570 + ] ;
571 + sp:predicate rdfs:label ;
572 + sp:subject
573 + [ sp:varName "thisrduri"^^xsd:string
574 + ]
575 + ]) ;
576 + sp:where ([ sp:object
577 + [ sp:varName "thisrduri"^^xsd:string
578 + ] ;
579 + sp:predicate transhelp:hasEquivalentInRDL ;
580 + sp:subject spin:_this
581 + ] [ sp:object
582 + [ sp:varName "domain"^^xsd:string
583 + ] ;
584 + sp:predicate rdfs:domain ;
585 + sp:subject spin:_this
586 + ] [ sp:object
587 + [ sp:varName "rdDomainEPIM"^^xsd:string
588 + ] ;
589 + sp:predicate transhelp:hasEquivalentInRDL ;
590 + sp:subject
591 + [ sp:varName "domain"^^xsd:string
592 + ]
593 + ] [ sp:object
594 + [ sp:varName "rdDomainDesignationEPIM"^^xsd:string
595 + ] ;
596 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
597 + sp:subject
598 + [ sp:varName "rdDomainEPIM"^^xsd:string
599 + ]
600 + ] [ sp:object
601 + [ sp:varName "rdDomainRDL"^^xsd:string
602 + ] ;
603 + sp:predicate pca-dm:hasDomain ;
604 + sp:subject
605 + [ sp:varName "thisrduri"^^xsd:string
606 + ]
607 + ] [ sp:object
608 + [ sp:varName "rdDomainDesignationRDL"^^xsd:string
609 + ] ;
610 + sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
611 + sp:subject
612 + [ sp:varName "rdDomainRDL"^^xsd:string
613 + ]
614 + ] [ rdf:type sp:Filter ;
615 + sp:expression
616 + [ rdf:type sp:ne ;
617 + sp:arg1 [ sp:varName "rdDomainEPIM"^^xsd:string
618 + ] ;
619 + sp:arg2 [ sp:varName "rdDomainRDL"^^xsd:string
620 + ]
621 + ]
622 + ] [ rdf:type sp:Bind ;
623 + sp:expression
624 + [ rdf:type fn:concat ;
625 + sp:arg1 "The domain in EPIM is '" ;
626 + sp:arg2 [ sp:varName "rdDomainDesignationEPIM"^^xsd:string
627 + ] ;
628 + sp:arg3 "' but the domain in the RDL is '" ;
629 + sp:arg4 [ sp:varName "rdDomainDesignationRDL"^^xsd:string
630 + ] ;
631 + sp:arg5 "'."
632 + ] ;
633 + sp:variable
634 + [ sp:varName "mismatchMessage"^^xsd:string
635 + ]
636 + ])
637 + ] ;
638 + spin:rule
639 + [ rdf:type sp:Construct ;
640 + rdfs:comment "10342 Set the domain"^^xsd:string ;
641 + sp:templates ([ sp:object
642 + [ sp:varName "rdDomain"^^xsd:string
643 + ] ;
644 + sp:predicate pca-dm:hasDomain ;
645 + sp:subject
646 + [ sp:varName "thisrduri"^^xsd:string
647 + ]
648 + ]) ;
649 + sp:where ([ sp:object
650 + [ sp:varName "thisrduri"^^xsd:string
651 + ] ;
652 + sp:predicate transhelp:hasEquivalentInRDL ;
653 + sp:subject spin:_this
654 + ] [ sp:object
655 + [ sp:varName "domain"^^xsd:string
656 + ] ;
657 + sp:predicate rdfs:domain ;
658 + sp:subject spin:_this
659 + ] [ sp:object
660 + [ sp:varName "rdDomain"^^xsd:string
661 + ] ;
662 + sp:predicate transhelp:hasEquivalentInRDL ;
663 + sp:subject
664 + [ sp:varName "domain"^^xsd:string
665 + ]
666 + ])
667 + ] ;
668 + spin:rule
669 + [ rdf:type sp:Construct ;
670 + rdfs:comment "10343 Set the classification"^^xsd:string ;
671 + sp:templates ([ sp:object pca-dm:Classification ;
672 + sp:predicate rdf:type ;
673 + sp:subject
674 + [ sp:varName "clsncuri"^^xsd:string
675 + ]
676 + ] [ sp:object
677 + [ sp:varName "classOfScale"^^xsd:string
678 + ] ;
679 + sp:predicate pca-dm:hasClassifier ;
680 + sp:subject
681 + [ sp:varName "clsncuri"^^xsd:string
682 + ]
683 + ] [ sp:object
684 + [ sp:varName "thisrduri"^^xsd:string
685 + ] ;
686 + sp:predicate pca-dm:hasClassified ;
687 + sp:subject
688 + [ sp:varName "clsncuri"^^xsd:string
689 + ]
690 + ] [ sp:object <http://posccaesar.org/rdl/ERH00000> ;
691 + sp:predicate rdf:type ;
692 + sp:subject
693 + [ sp:varName "clsncuri"^^xsd:string
694 + ]
695 + ]) ;
696 + sp:where ([ sp:object
697 + [ sp:varName "thisrduri"^^xsd:string
698 + ] ;
699 + sp:predicate transhelp:hasEquivalentInRDL ;
700 + sp:subject spin:_this
701 + ] [ sp:object
702 + [ sp:varName "domain"^^xsd:string
703 + ] ;
704 + sp:predicate rdfs:domain ;
705 + sp:subject spin:_this
706 + ] [ sp:object
707 + [ sp:varName "rdDomain"^^xsd:string
708 + ] ;
709 + sp:predicate transhelp:hasEquivalentInRDL ;
710 + sp:subject
711 + [ sp:varName "domain"^^xsd:string
712 + ]
713 + ] [ sp:object
714 + [ sp:varName "classOfScale"^^xsd:string
715 + ] ;
716 + sp:predicate transhelp:quantitySpaceMapsToClassOfScale ;
717 + sp:subject
718 + [ sp:varName "domain"^^xsd:string
719 + ]
720 + ] [ rdf:type sp:Bind ;
721 + sp:expression
722 + [ rdf:type spif:generateUUID
723 + ] ;
724 + sp:variable
725 + [ sp:varName "clsnuuid"^^xsd:string
726 + ]
727 + ] [ rdf:type sp:Bind ;
728 + sp:expression
729 + [ rdf:type fn:concat ;
730 + sp:arg1 "ERH" ;
731 + sp:arg2 [ sp:varName "clsnuuid"^^xsd:string
732 + ]
733 + ] ;
734 + sp:variable
735 + [ sp:varName "clsnid"^^xsd:string
736 + ]
737 + ] [ rdf:type sp:Bind ;
738 + sp:expression
739 + [ rdf:type spif:buildURI ;
740 + sp:arg1 "<http://posccaesar.org/rdl/{?clsnid}>"
741 + ] ;
742 + sp:variable
743 + [ sp:varName "clsncuri"^^xsd:string
744 + ]
745 + ])
746 + ] ;
747 + spin:rule
748 + [ rdf:type sp:Construct ;
749 + rdfs:comment "10342b Check for domain not in RDL."^^xsd:string ;
750 + sp:templates ([ sp:object "Domain of EPIM Scale not mapped to the RDL" ;
751 + sp:predicate rdfs:label ;
752 + sp:subject
753 + [ sp:varName "thisrduri"^^xsd:string
754 + ]
755 + ]) ;
756 + sp:where ([ sp:object
757 + [ sp:varName "thisrduri"^^xsd:string
758 + ] ;
759 + sp:predicate transhelp:hasEquivalentInRDL ;
760 + sp:subject spin:_this
761 + ] [ sp:object
762 + [ sp:varName "domain"^^xsd:string
763 + ] ;
764 + sp:predicate rdfs:domain ;
765 + sp:subject spin:_this
766 + ] [ rdf:type sp:NotExists ;
767 + sp:elements ([ sp:object
768 + [ sp:varName "rdDomain"^^xsd:string
769 + ] ;
770 + sp:predicate transhelp:hasEquivalentInRDL ;
771 + sp:subject
772 + [ sp:varName "domain"^^xsd:string
773 + ]
774 + ])
775 + ])
776 + ] .
777 +
778 +<http://www.reportinghub.no/refdata/transform/uomprop2rd>
779 + rdf:type owl:Ontology ;
780 + owl:imports <http://www.reportinghub.no/ep/schema/1.0/drilling> , <http://www.reportinghub.no/ep/transform/transform-helper-schema> , <http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003> , <http://spinrdf.org/spin> , <http://rds.posccaesar.org/2008/06/OWL/RDL-annotations> , <http://www.reportinghub.no/refdata/transform/quantityToClassOfScaleMap> , <http://posccaesar.org/rdl> ;
781 + owl:versionInfo "Created with TopBraid Composer"^^xsd:string .
782 +
783 +owl:Thing
784 + spin:rule
785 + [ rdf:type sp:Construct ;
786 + rdfs:comment "10000 Set preexisting map from EHR to RDL"^^xsd:string ;
787 + sp:templates ([ sp:object
788 + [ sp:varName "thisrduri"^^xsd:string
789 + ] ;
790 + sp:predicate transhelp:hasEquivalentInRDL ;
791 + sp:subject spin:_this
792 + ] [ sp:object "EPIM schema mapped to RDL by ep-core:seeReferenceData statement" ;
793 + sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
794 + sp:subject
795 + [ sp:varName "thisrduri"^^xsd:string
796 + ]
797 + ]) ;
798 + sp:where ([ sp:object
799 + [ sp:varName "rdlURIString"^^xsd:string
800 + ] ;
801 + sp:predicate ep-core:seeReferenceData ;
802 + sp:subject spin:_this
803 + ] [ rdf:type sp:Bind ;
804 + sp:expression
805 + [ rdf:type fn:substring ;
806 + sp:arg1 [ sp:varName "rdlURIString"^^xsd:string
807 + ] ;
808 + sp:arg2 27
809 + ] ;
810 + sp:variable
811 + [ sp:varName "thisrdlocal"^^xsd:string
812 + ]
813 + ] [ rdf:type sp:Bind ;
814 + sp:expression
815 + [ rdf:type transhelp:buildRdlURI ;
816 + sp:arg1 [ sp:varName "thisrdlocal"^^xsd:string
817 + ]
818 + ] ;
819 + sp:variable
820 + [ sp:varName "thisrduri"^^xsd:string
821 + ]
822 + ])
398 ] . 823 ] .
......