match-xsd-label.ttl 5.02 KB
# baseURI: http://www.reportinghub.no/refdata/transform/match-xsd-label
# imports: http://spinrdf.org/spin
# imports: http://www.reportinghub.no/ep/schema/1.0/activity-purpose
# imports: http://www.witsml.org/schemas/1series

@prefix :        <http://www.reportinghub.no/refdata/transform/match-xsd-label#> .
@prefix afn:     <http://jena.hpl.hp.com/ARQ/function#> .
@prefix fn:      <http://www.w3.org/2005/xpath-functions#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix p1series:  <http://www.witsml.org/schemas/1series#> .
@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 spin:    <http://spinrdf.org/spin#> .
@prefix spl:     <http://spinrdf.org/spl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://www.reportinghub.no/ep/schema/core#ClassificationFunctionOverTime>
      rdfs:subClassOf :DDR-Thing .

<http://www.reportinghub.no/ep/schema/core#Pair>
      rdfs:subClassOf :DDR-Thing .

<http://www.reportinghub.no/ep/schema/core#PhysicalThing>
      rdfs:subClassOf :DDR-Thing .

<http://www.reportinghub.no/ep/schema/material#MaterialPair>
      rdfs:subClassOf :DDR-Thing .

<http://www.reportinghub.no/ep/schema/report#Report>
      rdfs:subClassOf :DDR-Thing .

<http://www.reportinghub.no/refdata/transform/match-xsd-label>
      rdf:type owl:Ontology ;
      owl:imports <http://spinrdf.org/spin> , <http://www.reportinghub.no/ep/schema/1.0/activity-purpose> , <http://www.witsml.org/schemas/1series> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

:DDR-Thing
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing .

owl:Class
      spin:rule
              [ rdf:type sp:Construct ;
                sp:templates ([ sp:object
                                    [ sp:varName "s1"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:seeAlso ;
                            sp:subject
                                    [ sp:varName "s2"^^xsd:string
                                    ]
                          ]) ;
                sp:where ([ sp:object
                                    [ sp:varName "label1"^^xsd:string
                                    ] ;
                            sp:predicate rdfs:label ;
                            sp:subject
                                    [ sp:varName "s1"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:eq ;
                                      sp:arg1 [ rdf:type afn:namespace ;
                                                sp:arg1 [ sp:varName "s1"^^xsd:string
                                                        ]
                                              ] ;
                                      sp:arg2 "http://www.witsml.org/schemas/1series#"
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:upper-case ;
                                      sp:arg1 [ sp:varName "label1"^^xsd:string
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "ulabel1"^^xsd:string
                                    ]
                          ] [ rdf:type sp:TriplePath ;
                            sp:object :DDR-Thing ;
                            sp:path [ rdf:type sp:ModPath ;
                                      sp:modMax -2 ;
                                      sp:modMin 0 ;
                                      sp:subPath rdfs:subClassOf
                                    ] ;
                            sp:subject
                                    [ sp:varName "s2"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Bind ;
                            sp:expression
                                    [ rdf:type fn:upper-case ;
                                      sp:arg1 [ rdf:type afn:localname ;
                                                sp:arg1 [ sp:varName "s2"^^xsd:string
                                                        ]
                                              ]
                                    ] ;
                            sp:variable
                                    [ sp:varName "localname"^^xsd:string
                                    ]
                          ] [ rdf:type sp:Filter ;
                            sp:expression
                                    [ rdf:type sp:eq ;
                                      sp:arg1 [ sp:varName "localname"^^xsd:string
                                              ] ;
                                      sp:arg2 [ sp:varName "ulabel1"^^xsd:string
                                              ]
                                    ]
                          ])
              ] .