@prefix rr: . @prefix rrf: @prefix daq: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix sdmx-dimension: . @prefix qb: . @prefix 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 ; 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 ; rr: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" ; rr:termType rr:IRI; ] ; ] . <#Dimension-Instance> rr:logicalTable <#Observation-View> ; rr:subjectMap [ rr:template "http://data.example.com/1spatialassessment/dimension/{DIMENSION}-instance" ; rr:graph ; ] ; rr:predicateObjectMap [ rr:predicate rdf:type ; rr:objectMap [ rr:template "http://data.example.com/dimension/{DIMENSION}"; rr:termType rr:IRI; ] ; ] ; 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" ; rr:termType rr:IRI; ] ; ] . <#Metric-Instance> rr:logicalTable <#Observation-View> ; rr:subjectMap [ rr:template "http://data.example.com/1spatialassessment/metric/{METRIC}-instance" ; rr:graph ; ] ; rr:predicateObjectMap [ rr:predicate rdf:type ; rr:objectMap [ rr:template "http://data.example.com/metric/{METRIC}"; rr:termType rr:IRI; ] ; ] ; rr:predicateObjectMap [ rr:predicate daq:Observation ; rr:objectMap [ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}--{VALIDATION_BATCH}"; rr:termType rr:IRI; ] ; ] . <#Observations> rr:logicalTable <#Observation-View> ; rr:subjectMap [ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}-{VALIDATION_BATCH}"; rr:class daq:Observation ; rr:graph ; ] ; rr:predicateObjectMap [ rr:predicate daq:isEstimate ; rr:objectMap [ rr:constant "false"; rr:datatype xsd:boolean; ]; ] ; rr:predicateObjectMap [ rr:predicate daq:metric ; rr:objectMap [ rr:template "http://data.example.com/1spatialassessment/metric/{METRIC}-instance" ; rr:termType rr:IRI; ]; ] ; 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 ; ] ; rr:predicateObjectMap [ rr:predicate daq:computedOn ; rr:objectMap [ rr:template "http://ontologies.adaptcentre.ie/dataset-hierarchy#{COMPUTED_ON}"; rr:termType rr:IRI; ]; ] ; rr:predicateObjectMap [ rr:predicate daq:computedOn ; rr:objectMap [ rr:template "http://ontologies.adaptcentre.ie/dataset-hierarchy#{COMPUTED_ON}" ; rr:termType rr:IRI; ]; ] ; rr:predicateObjectMap [ rr:predicate prov:wasGeneratedBy ; rr:object ] ; rr:predicateObjectMap [ rr:predicate prov:generated ; rr:objectMap [ rr:template "http://data.example.com/1spatialassessment/observation/{METRIC}-{VALIDATION_BATCH_ID}-profiling"; rr:termType rr:IRI; ] ] . # 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 ] ; 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); } """ ; .