|
@@ -0,0 +1,219 @@
|
|
|
+@prefix rr: <http://www.w3.org/ns/r2rml#> .
|
|
|
+@prefix rrf: <http://kdeg.scss.tcd.ie/ns/rrf#>
|
|
|
+@prefix daq: <http://purl.org/eis/vocab/daq#> .
|
|
|
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
|
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
|
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
|
+@prefix sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>.
|
|
|
+@prefix qb: <http://purl.org/linked-data/cube#> .
|
|
|
+@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
|
+
|
|
|
+<#Less-Expensive-Query>
|
|
|
+ rr:sqlQuery """
|
|
|
+ SELECT VALIDATION_BATCH_ID FROM VALIDATION_RULE
|
|
|
+ """;
|
|
|
+ rr:sqlVersion rr:Oracle .
|
|
|
+
|
|
|
+
|
|
|
+<#Observation-View>
|
|
|
+ rr:sqlQuery """
|
|
|
+ SELECT DISTINCT VALIDATION_RULE.CATEGORY, VALIDATION_RULE.DIMENSION as DIMENSION,
|
|
|
+ VALIDATION_RULE.VALIDATION_BATCH_ID,
|
|
|
+ VALIDATION_RULE.VALIDATION_BATCH,
|
|
|
+ VALIDATION_RULE.TABLE_NAME,
|
|
|
+ VALIDATION_RULE.ORA_ERROR || 'ERROR' as METRIC,
|
|
|
+ VALIDATION_RULE.COUNT as NUM_INSTANCES,
|
|
|
+ VALIDATION_RULE.VALIDATION_DATE as ASSESSMENT_DATE,
|
|
|
+ VALIDATION_RULE.TABLE_NAME as COMPUTED_ON,
|
|
|
+ CASE
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'ARTIFICIAL' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BLP' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BOUNDARY_AREA' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BOUNDARY_LINE' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BOUNDARY_MEREING' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BOUNDARY_POINT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BOUNDARY_SSA' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BUILDING' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BUILDING_GROUP' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'BUILDING_UNIT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'DIVISION' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'EXPOSED' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'LOCALE' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'RAIL_NETWORK_SEGMENT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'RAIL_POINT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'SERVICE_LINE' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'SITE' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'SITE_POINT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'STRUCTURE' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'VEGETATION' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WATER' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WATER_POINT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WATER_SINGLE_STREAM' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WAY' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WAY_GDF2' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ WHEN VALIDATION_RULE.TABLE_NAME = 'WAY_POINT' THEN VALIDATION_FEATURE.COUNT
|
|
|
+ END TOTAL_INSTANCES
|
|
|
+ from VALIDATION_FEATURE
|
|
|
+ inner join VALIDATION_RULE on VALIDATION_RULE.TABLE_NAME = VALIDATION_FEATURE.TABLENAME
|
|
|
+ INNER JOIN ORA_ERRORS on ORA_ERRORS.ERROR_ID=VALIDATION_RULE.ORA_ERROR
|
|
|
+ """;
|
|
|
+ rr:sqlVersion rr:Oracle .
|
|
|
+
|
|
|
+
|
|
|
+<#Graph-Instance>
|
|
|
+ rr:logicalTable <#Less-Expensive-Query> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:constant <http://data.example.com/1spatialassessment/quality-graph/> ;
|
|
|
+ rr:class daq:QualityGraph
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate qb:structure ;
|
|
|
+ rr:object daq:dsd
|
|
|
+ ] .
|
|
|
+
|
|
|
+
|
|
|
+<#Category-Instance>
|
|
|
+ rr:logicalTable <#Observation-View> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/category/{CATEGORY}-instance" ;
|
|
|
+
|
|
|
+ rr:class <http://data.example.com/category/Oracle> ;
|
|
|
+ rr:graph <http://data.example.com/1spatialassessment/quality-graph> ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicateMap [
|
|
|
+ rr:template "http://data.example.com/dimension/has{DIMENSION}Dimension";
|
|
|
+ ] ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/dimension/{DIMENSION}-instance" ;
|
|
|
+ ] ;
|
|
|
+ ] .
|
|
|
+
|
|
|
+<#Dimension-Instance>
|
|
|
+ rr:logicalTable <#Observation-View> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/dimension/{DIMENSION}-instance" ;
|
|
|
+ rr:graph <http://data.example.com/1spatialassessment/quality-graph> ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate rdf:type ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/dimension/{DIMENSION}"
|
|
|
+ ] ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicateMap [
|
|
|
+ rr:template "http://data.example.com/dimension/has{METRIC}metric";
|
|
|
+ ] ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/metric/{METRIC}-instance" ;
|
|
|
+ ] ;
|
|
|
+ ] .
|
|
|
+
|
|
|
+<#Metric-Instance>
|
|
|
+ rr:logicalTable <#Observation-View> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/metric/{METRIC}-instance" ;
|
|
|
+ rr:graph <http://data.example.com/1spatialassessment/quality-graph> ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate rdf:type ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/metric/{METRIC}"
|
|
|
+ ] ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:Observation ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}--{VALIDATION_BATCH}";
|
|
|
+ ] ;
|
|
|
+ ] .
|
|
|
+
|
|
|
+
|
|
|
+<#Observations>
|
|
|
+ rr:logicalTable <#Observation-View> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}-{VALIDATION_BATCH}";
|
|
|
+ rr:class daq:Observation ;
|
|
|
+ rr:graph <http://data.example.com/1spatialassessment/quality-graph> ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:isEstimate ;
|
|
|
+ rr:objectMap [ rr:constant "false"^^xsd:boolean ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:metric ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/metric/{METRIC}-instance" ;
|
|
|
+ ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:value ;
|
|
|
+ rr:objectMap [
|
|
|
+ rrf:functionCall [
|
|
|
+ rrf:function <#CalculateValue> ;
|
|
|
+ rrf:parameterBindings (
|
|
|
+ [ rr:column "NUM_INSTANCES" ]
|
|
|
+ [ rr:column "TOTAL_INSTANCES" ]
|
|
|
+ ) ;
|
|
|
+ ] ;
|
|
|
+ ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate sdmx-dimension:timePeriod ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:termType rr:Literal ;
|
|
|
+ rr:template "{ASSESSMENT_DATE}";
|
|
|
+ ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate qb:dataSet ;
|
|
|
+ rr:object <http://data.example.com/1spatialassessment/quality-graph/> ;
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:computedOn ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://ontologies.adaptcentre.ie/dataset-hierarchy#{COMPUTED_ON}"
|
|
|
+ ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:computedOn ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://ontologies.adaptcentre.ie/dataset-hierarchy#{COMPUTED_ON}"
|
|
|
+ ];
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate prov:wasGeneratedBy ;
|
|
|
+ rr:object <http://data.example.com/1spatialassessment/r2rmlconverter/>
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate prov:generated ;
|
|
|
+ rr:objectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}-{VALIDATION_BATCH}-profiling"
|
|
|
+ ]
|
|
|
+ ] .
|
|
|
+
|
|
|
+
|
|
|
+ # Do we need more profiling information?
|
|
|
+ <#Profiling>
|
|
|
+ rr:logicalTable <#Observation-View> ;
|
|
|
+ rr:subjectMap [
|
|
|
+ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}-{VALIDATION_BATCH}-profiling" ;
|
|
|
+ rr:class daq:MetricProfile ;
|
|
|
+ rr:graph <http://data.example.com/1spatialassessment/quality-graph>
|
|
|
+ ] ;
|
|
|
+ rr:predicateObjectMap [
|
|
|
+ rr:predicate daq:totalDatasetTriplesAssessed ; # this might be changed if we create a small vocabulary for osi
|
|
|
+ rr:objectMap [
|
|
|
+ rr:column "TOTAL_INSTANCES"
|
|
|
+ ]
|
|
|
+ ] .
|
|
|
+
|
|
|
+
|
|
|
+<#CalculateValue>
|
|
|
+ rrf:functionName "calculateValue" ;
|
|
|
+ rrf:functionBody """
|
|
|
+ function calculateValue(numInstances, totalInstances) {
|
|
|
+ return 1 - (numInstances / totalInstances);
|
|
|
+ } """ ;
|
|
|
+.
|