uomprop2rd.ttl 22.2 KB
# baseURI: http://www.reportinghub.no/refdata/transform/uomprop2rd
# imports: http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003
# imports: http://rds.posccaesar.org/2008/06/OWL/RDL
# imports: http://rds.posccaesar.org/2008/06/OWL/RDL-annotations
# imports: http://spinrdf.org/spin
# imports: http://www.reportinghub.no/ep/schema/1.0/drilling
# imports: http://www.reportinghub.no/ep/transform/transform-helper-schema
# imports: http://www.reportinghub.no/refdata/transform/quantityToClassOfScaleMap

@prefix :        <http://www.reportinghub.no/refdata/transform/uomprop2rd#> .
@prefix RDL-annotations:  <http://rds.posccaesar.org/2008/06/OWL/RDL-annotations#> .
@prefix afn:     <http://jena.hpl.hp.com/ARQ/function#> .
@prefix drilling:  <http://www.reportinghub.no/ep/schema/1.0/drilling#> .
@prefix fn:      <http://www.w3.org/2005/xpath-functions#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix pca-dm:  <http://rds.posccaesar.org/2008/02/OWL/ISO-15926-2_2003#> .
@prefix quantityToClassOfScaleMap:  <http://www.reportinghub.no/refdata/transform/quantityToClassOfScaleMap#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sp:      <http://spinrdf.org/sp#> .
@prefix spif:    <http://spinrdf.org/spif#> .
@prefix spin:    <http://spinrdf.org/spin#> .
@prefix spl:     <http://spinrdf.org/spl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://www.reportinghub.no/refdata/transform/uomprop2rd>
      rdf:type owl:Ontology ;
      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> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

owl:DatatypeProperty
      spin:rule
              [ rdf:type sp:Construct ;
                rdfs:comment "0341 Set the domain and classification"^^xsd:string ;
                sp:templates ([ sp:object
                                    [ sp:varName "rdDomain"^^xsd:string
                                    ] ;
                            sp:predicate pca-dm:hasDomain ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object pca-dm:Classification ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "classOfScale"^^xsd:string
                                    ] ;
                            sp:predicate pca-dm:hasClassifier ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ] ;
                            sp:predicate pca-dm:hasClassified ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object <http://posccaesar.org/rdl/ERH00000> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
                            sp:predicate rdf:type ;
                            sp:subject spin:_this
                          ] [ sp:object spin:_this ;
                            sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "domain"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:domain ;
                            sp:subject spin:_this
                          ] [ sp:object
                                    [ sp:varName "rdDomain"^^xsd:string
                                    ] ;
                            sp:predicate owl:sameAs ;
                            sp:subject
                                    [ sp:varName "domain"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "classOfScale"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#quantitySpaceMapsToClassOfScale> ;
                                        sp:subject
                                                [ sp:varName "domain"^^xsd:string
                                                ]
                                      ])
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:generateUUID
                                    ] ;
                            sp:variable
                                    [ sp:varName "clsnuuid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:concat ;
                                      sp:arg1 "ERH" ;
                                      sp:arg2 [ sp:varName "clsnuuid"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "clsnid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:buildURI ;
                                      sp:arg1 "<http://posccaesar.org/rdl/{?clsnid}>"
                                    ] ;
                            sp:variable
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ])
              ] ;
      spin:rule
              [ rdf:type sp:Construct ;
                rdfs:comment "0340a Set URI and designation for EHR RD from Datatype Property that ARE UoM - no label"^^xsd:string ;
                sp:templates ([ sp:object
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ] ;
                            sp:predicate owl:sameAs ;
                            sp:subject spin:_this
                          ] [ sp:object
                                    [ sp:varName "desigation"^^xsd:string
                                    ] ;
                            sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "pcaid"^^xsd:string
                                    ] ;
                            sp:predicate <http://posccaesar.org/rdl/hasIdPCA> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object pca-dm:Scale ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object "Scale imported from the EPIM schema - no label" ;
                            sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object spin:_this ;
                            sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object
                                                [ sp:varName "same"^^xsd:string
                                                ] ;
                                        sp:predicate owl:sameAs ;
                                        sp:subject spin:_this
                                      ])
                          ] [ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object
                                                [ sp:varName "seeReferenceData"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.reportinghub.no/ep/schema/core#seeReferenceData> ;
                                        sp:subject spin:_this
                                      ])
                          ] [ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
                            sp:predicate rdf:type ;
                            sp:subject spin:_this
                          ] [ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object
                                                [ sp:varName "label"^^xsd:string
                                                ] ;
                                        sp:predicate rdfs:label ;
                                        sp:subject spin:_this
                                      ])
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:generateUUID
                                    ] ;
                            sp:variable
                                    [ sp:varName "uuid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:concat ;
                                      sp:arg1 "ERH" ;
                                      sp:arg2 [ sp:varName "uuid"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "pcaid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:buildURI ;
                                      sp:arg1 "<http://posccaesar.org/rdl/{?pcaid}>"
                                    ] ;
                            sp:variable
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:upper-case ;
                                      sp:arg1 "no label"
                                    ] ;
                            sp:variable
                                    [ sp:varName "desigation"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:ne ;
                                      sp:arg1 [ rdf:type afn:namespace ;
                                                sp:arg1 spin:_this
                                              ] ;
                                      sp:arg2 "http://www.linkedmodel.org/schema/vaem#"
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:ne ;
                                      sp:arg1 [ rdf:type afn:namespace ;
                                                sp:arg1 spin:_this
                                              ] ;
                                      sp:arg2 "http://www.w3.org/2004/02/skos/core#"
                                    ]
                          ])
              ] ;
      spin:rule
              [ rdf:type sp:Construct ;
                rdfs:comment "0342 Set the range - not Beaufort scale which has an integer range"^^xsd:string ;
                sp:templates ([ sp:object <http://rds.posccaesar.org/2008/06/OWL/RDL#RDS999900710> ;
                            sp:predicate pca-dm:hasCodomain ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
                            sp:predicate rdf:type ;
                            sp:subject spin:_this
                          ] [ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object "Beaufort scale number" ;
                                        sp:predicate rdfs:label ;
                                        sp:subject spin:_this
                                      ])
                          ] [ sp:object spin:_this ;
                            sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ])
              ] ;
      spin:rule
              [ rdf:type sp:Construct ;
                rdfs:comment "0340 Set URI and designation for EHR RD from Datatype Property that ARE UoM"^^xsd:string ;
                sp:templates ([ sp:object
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ] ;
                            sp:predicate owl:sameAs ;
                            sp:subject spin:_this
                          ] [ sp:object
                                    [ sp:varName "desigation"^^xsd:string
                                    ] ;
                            sp:predicate <http://posccaesar.org/rdl/hasDesignation> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "pcaid"^^xsd:string
                                    ] ;
                            sp:predicate <http://posccaesar.org/rdl/hasIdPCA> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object pca-dm:Scale ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object "Scale imported from the EPIM schema" ;
                            sp:predicate <http://posccaesar.org/rdl/hasNoteAdmin> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object <http://posccaesar.org/rdl/ERH00000> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ sp:object pca-dm:Classification ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object <http://posccaesar.org/rdl/ERH00001> ;
                            sp:predicate pca-dm:hasClassifier ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ] ;
                            sp:predicate pca-dm:hasClassified ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object <http://posccaesar.org/rdl/ERH00000> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "clsncuri"^^xsd:string
                                    ]
                          ] [ sp:object spin:_this ;
                            sp:predicate <http://www.reportinghub.no/ep/transform/transform-helper-schema#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object
                                                [ sp:varName "same"^^xsd:string
                                                ] ;
                                        sp:predicate owl:sameAs ;
                                        sp:subject spin:_this
                                      ])
                          ] [ rdf:type sp:NotExists ;
                            sp:elements ([ sp:object
                                                [ sp:varName "seeReferenceData"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.reportinghub.no/ep/schema/core#seeReferenceData> ;
                                        sp:subject spin:_this
                                      ])
                          ] [ sp:object <http://www.reportinghub.no/ep/schema/core#Scale> ;
                            sp:predicate rdf:type ;
                            sp:subject spin:_this
                          ] [ sp:object
                                    [ sp:varName "label"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:label ;
                            sp:subject spin:_this
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:generateUUID
                                    ] ;
                            sp:variable
                                    [ sp:varName "uuid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:concat ;
                                      sp:arg1 "ERH" ;
                                      sp:arg2 [ sp:varName "uuid"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "pcaid"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type spif:buildURI ;
                                      sp:arg1 "<http://posccaesar.org/rdl/{?pcaid}>"
                                    ] ;
                            sp:variable
                                    [ sp:varName "thisrduri"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:upper-case ;
                                      sp:arg1 [ sp:varName "label"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "desigation"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:ne ;
                                      sp:arg1 [ rdf:type afn:namespace ;
                                                sp:arg1 spin:_this
                                              ] ;
                                      sp:arg2 "http://www.linkedmodel.org/schema/vaem#"
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:ne ;
                                      sp:arg1 [ rdf:type afn:namespace ;
                                                sp:arg1 spin:_this
                                              ] ;
                                      sp:arg2 "http://www.w3.org/2004/02/skos/core#"
                                    ]
                          ])
              ] .