TRANSFORM_mpr-wellTest-v1.1.1.ttl 19.4 KB
# baseURI: http://www.reportinghub.no/ep/transform/1.0/mpr/wellTest
# imports: http://spinrdf.org/spin
# imports: http://www.epim.no/schemas/mprml/1
# imports: http://www.reportinghub.no/ep/dpr/spin/1.1/lib
# imports: http://www.reportinghub.no/ep/schema/1.0/production-well
# imports: http://www.reportinghub.no/ep/schema/1.0/report
# imports: http://www.reportinghub.no/ep/schema/1.0/well

@prefix :        <http://www.reportinghub.no/ep/transform/1.0/mpr/wellTest#> .
@prefix arg:     <http://spinrdf.org/arg#> .
@prefix ep-dpr-spin-lib:  <http://www.reportinghub.no/ep/dpr/spin/1.1/lib#> .
@prefix ep-spin-lib:  <http://www.reportinghub.no/ep/spin/lib#> .
@prefix fn:      <http://www.w3.org/2005/xpath-functions#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rhspin:  <http://www.reportinghub.no/spin/rh#> .
@prefix sp:      <http://spinrdf.org/sp#> .
@prefix spin:    <http://spinrdf.org/spin#> .
@prefix spl:     <http://spinrdf.org/spl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://www.epim.no/schemas/mprml/1#A_Global-Objects>
      spin:rule
              [ rdf:type sp:Construct ;
                rdfs:comment """STEP 30101 Create WellTest activity - anonymous because there is no mandatory data about it
DPR was using wellbore for this, here we use Well.
Would be much better if we could assume testDate is mandatory - that would give us a unique ID and a way to link to predecessor."""^^xsd:string ;
                sp:templates ([ sp:object <http://www.reportinghub.no/ep/schema/activity#WellTest> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/core#hasPart> ;
                            sp:subject
                                    [ sp:varName "monthlyProductionActivity"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "testDate"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/activity#nominallyAt> ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epWellTP"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/activity#onWell> ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellTestName"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:label ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/core#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object <http://www.reportinghub.no/ep/schema/well#TemporalPartOfAWell> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "epWellTP"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epWell"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/core#temporalPartOf> ;
                            sp:subject
                                    [ sp:varName "epWellTP"^^xsd:string
                                    ]
                          ] [ sp:object <http://www.reportinghub.no/ep/schema/activity#WellTestType> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "epWellTestType"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epWellTestType"^^xsd:string
                                    ] ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellTestTypeText"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:label ;
                            sp:subject
                                    [ sp:varName "epWellTestType"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epWellTestReasonType"^^xsd:string
                                    ] ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "previousTestDate"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/activity#nominallyAt> ;
                            sp:subject
                                    [ sp:varName "epPreviousWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epPreviousWellTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/production-activity#hasPredecessor> ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "lastValidTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/activity#nominallyAt> ;
                            sp:subject
                                    [ sp:varName "epLastValidTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "epLastValidTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/production-activity#hasValidPredecessor> ;
                            sp:subject
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ sp:object spin:_this ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/core#derivedFrom> ;
                            sp:subject
                                    [ sp:varName "monthlyProductionActivity"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "monthlyProductionActivity"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.reportinghub.no/ep/schema/report#reportOn> ;
                            sp:subject
                                    [ sp:varName "monthlyProductionActivity"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellTest"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.epim.no/schemas/mprml/1#objectRef> ;
                            sp:subject spin:_this
                          ] [ sp:object <http://www.epim.no/schemas/mprml/1#Obj_wellTest> ;
                            sp:predicate rdf:type ;
                            sp:subject
                                    [ sp:varName "wellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellName"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.epim.no/schemas/mprml/1#nameWell> ;
                            sp:subject
                                    [ sp:varName "wellTest"^^xsd:string
                                    ]
                          ] [ sp:object
                                    [ sp:varName "wellTestName"^^xsd:string
                                    ] ;
                            sp:predicate <http://www.epim.no/schemas/mprml/1#name> ;
                            sp:subject
                                    [ sp:varName "wellTest"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type rhspin:wellByName ;
                                      arg:wellName
                                              [ sp:varName "wellName"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "epWell"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type ep-spin-lib:buildURI ;
                                      sp:arg1 "https://www.reportinghub.no/ep/data/temporalPartOfAWell/" ;
                                      sp:arg2 [ rdf:type fn:concat ;
                                                sp:arg1 [ rdf:type ep-spin-lib:normalizeString ;
                                                          sp:arg1 [ sp:varName "wellName"^^xsd:string
                                                                  ]
                                                        ] ;
                                                sp:arg2 <http://topbraid.org/sparqlmotionfunctions#generateUUID>
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "epWellTP"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type ep-spin-lib:buildURI ;
                                      sp:arg1 "https://www.reportinghub.no/ep/data/wellTest/" ;
                                      sp:arg2 [ rdf:type fn:concat ;
                                                sp:arg1 [ rdf:type ep-spin-lib:normalizeString ;
                                                          sp:arg1 [ sp:varName "wellName"^^xsd:string
                                                                  ]
                                                        ] ;
                                                sp:arg2 <http://topbraid.org/sparqlmotionfunctions#generateUUID>
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "epWellTest"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "testDate"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.epim.no/schemas/mprml/1#testDate> ;
                                        sp:subject
                                                [ sp:varName "wellTest"^^xsd:string
                                                ]
                                      ])
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "previousTestDate"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.epim.no/schemas/mprml/1#previousTestDate> ;
                                        sp:subject
                                                [ sp:varName "wellTest"^^xsd:string
                                                ]
                                      ] [ rdf:type sp:Bind ;
                                        sp:expression
                                                [ rdf:type ep-spin-lib:buildURI ;
                                                  sp:arg1 "https://www.reportinghub.no/ep/data/wellTest/" ;
                                                  sp:arg2 [ rdf:type fn:concat ;
                                                            sp:arg1 [ rdf:type ep-spin-lib:normalizeString ;
                                                                      sp:arg1 [ sp:varName "wellName"^^xsd:string
                                                                              ]
                                                                    ] ;
                                                            sp:arg2 <http://topbraid.org/sparqlmotionfunctions#generateUUID>
                                                          ]
                                                ] ;
                                        sp:variable
                                                [ sp:varName "epPreviousWellTest"^^xsd:string
                                                ]
                                      ])
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "lastValidTest"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.epim.no/schemas/mprml/1#previousTestDate> ;
                                        sp:subject
                                                [ sp:varName "wellTest"^^xsd:string
                                                ]
                                      ] [ rdf:type sp:Bind ;
                                        sp:expression
                                                [ rdf:type ep-spin-lib:buildURI ;
                                                  sp:arg1 "https://www.reportinghub.no/ep/data/wellTest/" ;
                                                  sp:arg2 [ rdf:type fn:concat ;
                                                            sp:arg1 [ rdf:type ep-spin-lib:normalizeString ;
                                                                      sp:arg1 [ sp:varName "wellName"^^xsd:string
                                                                              ]
                                                                    ] ;
                                                            sp:arg2 <http://topbraid.org/sparqlmotionfunctions#generateUUID>
                                                          ]
                                                ] ;
                                        sp:variable
                                                [ sp:varName "epLastValidTest"^^xsd:string
                                                ]
                                      ])
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "testReason"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.epim.no/schemas/mprml/1#testReasonRef> ;
                                        sp:subject
                                                [ sp:varName "wellTest"^^xsd:string
                                                ]
                                      ] [ rdf:type sp:Bind ;
                                        sp:expression
                                                [ rdf:type ep-dpr-spin-lib:selectWellTestReasonType ;
                                                  sp:arg1 [ sp:varName "testReason"^^xsd:string
                                                          ]
                                                ] ;
                                        sp:variable
                                                [ sp:varName "epWellTestReasonType"^^xsd:string
                                                ]
                                      ])
                          ] [ rdf:type sp:Optional ;
                            sp:elements ([ sp:object
                                                [ sp:varName "wellTestTypeText"^^xsd:string
                                                ] ;
                                        sp:predicate <http://www.epim.no/schemas/mprml/1#testType> ;
                                        sp:subject
                                                [ sp:varName "wellTest"^^xsd:string
                                                ]
                                      ] [ rdf:type sp:Bind ;
                                        sp:expression
                                                [ rdf:type ep-spin-lib:buildURI ;
                                                  sp:arg1 "https://www.reportinghub.no/ep/data/wellTestType/" ;
                                                  sp:arg2 [ rdf:type fn:concat ;
                                                            sp:arg1 [ rdf:type ep-spin-lib:normalizeString ;
                                                                      sp:arg1 [ sp:varName "wellTestTypeText"^^xsd:string
                                                                              ]
                                                                    ]
                                                          ]
                                                ] ;
                                        sp:variable
                                                [ sp:varName "epWellTestType"^^xsd:string
                                                ]
                                      ])
                          ])
              ] .

<http://www.reportinghub.no/ep/transform/1.0/mpr/wellTest>
      rdf:type owl:Ontology ;
      owl:imports <http://spinrdf.org/spin> , <http://www.epim.no/schemas/mprml/1> , <http://www.reportinghub.no/ep/schema/1.0/well> , <http://www.reportinghub.no/ep/schema/1.0/report> , <http://www.reportinghub.no/ep/schema/1.0/production-well> , <http://www.reportinghub.no/ep/dpr/spin/1.1/lib> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .