@base <http://def.seegrid.csiro.au/isotc211/iso19115/2003/dataquality> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix basic: <../../iso19103/2005/basic#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dq: <#> .
@prefix h2o: <../../iso19150/-2/2012/basic#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<code/EvaluationMethodType>
    rdfs:label "Evaluation method type code"^^xsd:string .

<>
    dc:creator """Simon Jonathan David COX
CSIRO"""^^xsd:string ;
    dc:date "2012-05-25T00:00:00"^^xsd:dateTime ;
    dc:description "An OWL representation of parts of the Geographic Metadata model described in ISO 19115:2003 with Corrigendum 2006 - DQ Package"^^xsd:string ;
    dc:source """ISO 19115:2003
ISO 19115:2006 Corrigendum"""^^xsd:string ;
    dc:title "OWL representation of ISO 19115 (Geographic Information - Metadata - Data quality package)"^^xsd:string ;
    dcterms:created "2012-05-18T00:00:00"^^xsd:dateTime ;
    dcterms:hasPart dq:AbsoluteExternalPositionalAccuracy, dq:AccuracyOfATimeMeasurement, dq:Completeness, dq:CompletenessCommission, dq:CompletenessOmission, dq:ConceptualConsistency, dq:ConformanceResult, dq:DataQuality, dq:DomainConsistency, dq:Element, dq:EvaluationMethodTypeCode, dq:FormatConsistency, dq:GriddedDataPositionalAccuracy, dq:LogicalConsistency, dq:NonQuantitativeAttributeAccuracy, dq:PositionalAccuracy, dq:QuantitativeAttributeAccuracy, dq:QuantitativeResult, dq:RelativeInternalPositionalAccuracy, dq:Result, dq:Scope, dq:TemporalAccuracy, dq:TemporalConsistency, dq:TemporalValidity, dq:ThematicAccuracy, dq:ThematicClassificationCorrectness, dq:TopologicalConsistency, dq:dateTime, dq:errorStatistic, dq:evaluationMethodDescription, dq:evaluationMethodType, dq:evaluationProcedure, dq:explanation, dq:extent, dq:level, dq:levelDescription, dq:lineage, dq:measureDescription, dq:measureIdentification, dq:nameOfMeasure, dq:pass, dq:report, dq:result, dq:scope, dq:specification, dq:value, dq:valueType, dq:valueUnit ;
    dcterms:modified "2012-10-26T00:00:00"^^xsd:dateTime ;
    a owl:Ontology ;
    rdfs:comment "This version of the ontology uses # and /code/ patterns as agreed in ISO 19150-2 meeting in Toulouse, June 2012."^^xsd:string ;
    owl:imports <../../iso19103/2005/basic>, <code/EvaluationMethodType>, <../../iso19150/-2/2012/basic> ;
    owl:priorVersion <https://www.seegrid.csiro.au/subversion/xmml/ontologies/tags/201210/ISOTC211/HM/dataquality.rdf> ;
    owl:versionIRI <https://www.seegrid.csiro.au/subversion/xmml/ontologies/tags/201305/ISOTC211/HM/dataquality.rdf> .

dq:AbsoluteExternalPositionalAccuracy
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Absolute external positional accuracy"^^xsd:string ;
    rdfs:subClassOf dq:PositionalAccuracy ;
    skos:notation "DQ_AbsoluteExternalPositionalAccuracy"^^h2o:ISOClassName .

dq:AccuracyOfATimeMeasurement
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Accuracy of a Time measurement"^^xsd:string ;
    rdfs:subClassOf dq:TemporalAccuracy ;
    skos:notation "DQ_AccuracyOfATimeMeasurement"^^h2o:ISOClassName .

dq:Completeness
    h2o:isAbstract true ;
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Completeness"^^xsd:string ;
    rdfs:subClassOf dq:Element ;
    skos:notation "DQ_Completeness"^^h2o:ISOClassName .

dq:CompletenessCommission
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Completeness commission"^^xsd:string ;
    rdfs:subClassOf dq:Completeness ;
    skos:notation "DQ_CompletenessCommission"^^h2o:ISOClassName .

dq:CompletenessOmission
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Completeness omission"^^xsd:string ;
    rdfs:subClassOf dq:Completeness ;
    skos:notation "DQ_CompletenessOmission"^^h2o:ISOClassName .

dq:ConceptualConsistency
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Conceptual consistency"^^xsd:string ;
    rdfs:subClassOf dq:LogicalConsistency ;
    skos:notation "DQ_ConceptualConsistency"^^h2o:ISOClassName .

dq:ConformanceResult
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Conformance result"^^xsd:string ;
    rdfs:subClassOf dq:Result, [
        a owl:Restriction ;
        owl:allValuesFrom <citation#Citation> ;
        owl:onProperty dq:specification
    ], [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:explanation
    ], [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:pass
    ], [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:specification
    ] ;
    skos:notation "DQ_ConformanceResult"^^h2o:ISOClassName .

dq:DataQuality
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data quality"^^xsd:string ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:minCardinality "0"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:report
    ], [
        a owl:Restriction ;
        owl:allValuesFrom dq:Element ;
        owl:onProperty dq:report
    ], [
        a owl:Restriction ;
        owl:allValuesFrom dq:Scope ;
        owl:onProperty dq:scope
    ], [
        a owl:Restriction ;
        owl:allValuesFrom <lineage#Lineage> ;
        owl:onProperty dq:lineage
    ], [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:scope
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:lineage
    ] ;
    skos:notation "DQ_DataQuality"^^h2o:ISOClassName .

dq:DomainConsistency
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Domain consistency"^^xsd:string ;
    rdfs:subClassOf dq:LogicalConsistency ;
    skos:notation "DQ_DomainConsistency"^^h2o:ISOClassName .

dq:Element
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Element"^^xsd:string ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom <citation#Citation> ;
        owl:onProperty dq:evaluationProcedure
    ], [
        a owl:Restriction ;
        owl:allValuesFrom dq:EvaluationMethodTypeCode ;
        owl:onProperty dq:evaluationMethodType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom dq:Result ;
        owl:onProperty dq:result
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:evaluationMethodDescription
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:evaluationMethodType
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:evaluationProcedure
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:measureDescription
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:measureIdentification
    ], [
        a owl:Restriction ;
        owl:maxCardinality "2"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:result
    ], [
        a owl:Restriction ;
        owl:minCardinality "0"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:dateTime
    ], [
        a owl:Restriction ;
        owl:minCardinality "0"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:nameOfMeasure
    ], [
        a owl:Restriction ;
        owl:minCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:result
    ] ;
    skos:notation "DQ_Element"^^h2o:ISOClassName .

dq:EvaluationMethodTypeCode
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Evaluation method code"^^xsd:string ;
    rdfs:subClassOf skos:Concept ;
    skos:notation "DQ_EvaluationMethodTypeCode"^^h2o:ISOClassName .

dq:FormatConsistency
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Format consistency"^^xsd:string ;
    rdfs:subClassOf dq:LogicalConsistency ;
    skos:notation "DQ_FormatConsistency"^^h2o:ISOClassName .

dq:GriddedDataPositionalAccuracy
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Gridded data positional accuracy"^^xsd:string ;
    rdfs:subClassOf dq:PositionalAccuracy ;
    skos:notation "DQ_GriddedDataPositionalAccuracy"^^h2o:ISOClassName .

dq:LogicalConsistency
    h2o:isAbstract true ;
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Logical consistency"^^xsd:string ;
    rdfs:subClassOf dq:Element ;
    skos:notation "DQ_LogicalConsistency"^^h2o:ISOClassName .

dq:NonQuantitativeAttributeAccuracy
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Non quantitative attribute accuracy"^^xsd:string ;
    rdfs:subClassOf dq:ThematicAccuracy ;
    skos:notation "DQ_NonQuantitativeAttributeAccuracy"^^h2o:ISOClassName .

dq:PositionalAccuracy
    h2o:isAbstract true ;
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Positional accuracy"^^xsd:string ;
    rdfs:subClassOf dq:Element ;
    skos:notation "DQ_PositionalAccuracy"^^h2o:ISOClassName .

dq:QuantitativeAttributeAccuracy
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Quantitative attribute accuracy"^^xsd:string ;
    rdfs:subClassOf dq:ThematicAccuracy ;
    skos:notation "DQ_QuantitativeAttributeAccuracy"^^xsd:string .

dq:QuantitativeResult
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Quantitative result"^^xsd:string ;
    rdfs:subClassOf dq:Result, [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:valueUnit
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:errorStatistic
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:valueType
    ], [
        a owl:Restriction ;
        owl:minCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:value
    ] ;
    skos:notation "DQ_QuantitativeResult"^^h2o:ISOClassName .

dq:RelativeInternalPositionalAccuracy
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Relative internal positional accuracy"^^xsd:string ;
    rdfs:subClassOf dq:PositionalAccuracy ;
    skos:notation "DQ_RelativeInternalPositionalAccuracy"^^h2o:ISOClassName .

dq:Result
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Result"^^xsd:string ;
    skos:notation "DQ_Result"^^h2o:ISOClassName .

dq:Scope
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Scope"^^xsd:string ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom <extent#Extent> ;
        owl:onProperty dq:extent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom <metadata#ScopeCode> ;
        owl:onProperty dq:level
    ], [
        a owl:Restriction ;
        owl:allValuesFrom <metadata#ScopeDescription> ;
        owl:onProperty dq:levelDescription
    ], [
        a owl:Restriction ;
        owl:cardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:level
    ], [
        a owl:Restriction ;
        owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:extent
    ], [
        a owl:Restriction ;
        owl:minCardinality "0"^^xsd:nonNegativeInteger ;
        owl:onProperty dq:levelDescription
    ] ;
    skos:notation "DQ_Scope"^^h2o:ISOClassName .

dq:TemporalAccuracy
    h2o:isAbstract true ;
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Temporal accuracy"^^xsd:string ;
    rdfs:subClassOf dq:Element ;
    skos:notation "DQ_TemporalAccuracy"^^h2o:ISOClassName .

dq:TemporalConsistency
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Temporal consistency"^^xsd:string ;
    rdfs:subClassOf dq:TemporalAccuracy ;
    skos:notation "DQ_TemporalConsistency"^^h2o:ISOClassName .

dq:TemporalValidity
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Temporal validity"^^xsd:string ;
    rdfs:subClassOf dq:TemporalAccuracy ;
    skos:notation "DQ_TemporalValidity"^^h2o:ISOClassName .

dq:ThematicAccuracy
    h2o:isAbstract true ;
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Thematic accuracy"^^xsd:string ;
    rdfs:subClassOf dq:Element ;
    skos:notation "DQ_ThematicAccuracy"^^h2o:ISOClassName .

dq:ThematicClassificationCorrectness
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Thematic classification correctness"^^xsd:string ;
    rdfs:subClassOf dq:ThematicAccuracy ;
    skos:notation "DQ_ThematicClassificationCorrectness"^^h2o:ISOClassName .

dq:TopologicalConsistency
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Topological consistency"^^xsd:string ;
    rdfs:subClassOf dq:LogicalConsistency ;
    skos:notation "DQ_TopologicalConsistency"^^h2o:ISOClassName .

dq:dateTime
    a owl:DatatypeProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "date time"^^xsd:string ;
    rdfs:range xsd:dateTime .

dq:errorStatistic
    a owl:DatatypeProperty ;
    rdfs:domain dq:QuantitativeResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "error statistic"^^xsd:string ;
    rdfs:range xsd:string .

dq:evaluationMethodDescription
    a owl:DatatypeProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "evaluation method description"^^xsd:string ;
    rdfs:range xsd:string .

dq:evaluationMethodType
    a owl:ObjectProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "evaluation method type"^^xsd:string ;
    rdfs:range dq:EvaluationMethodTypeCode .

dq:evaluationProcedure
    a owl:ObjectProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "evaluation procedure"^^xsd:string ;
    rdfs:range <citation#Citation> .

dq:explanation
    a owl:DatatypeProperty ;
    rdfs:domain dq:ConformanceResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "explanation"^^xsd:string ;
    rdfs:range xsd:string .

dq:extent
    a owl:ObjectProperty ;
    rdfs:domain dq:Scope ;
    rdfs:isDefinedBy <> ;
    rdfs:label "extent"^^xsd:string ;
    rdfs:range <extent#Extent> .

dq:level
    a owl:ObjectProperty ;
    rdfs:domain dq:Scope ;
    rdfs:isDefinedBy <> ;
    rdfs:label "level"^^xsd:string ;
    rdfs:range <metadata#ScopeCode> .

dq:levelDescription
    a owl:ObjectProperty ;
    rdfs:domain dq:Scope ;
    rdfs:isDefinedBy <> ;
    rdfs:label "level description"^^xsd:string ;
    rdfs:range <metadata#ScopeDescription> .

dq:lineage
    a owl:ObjectProperty ;
    rdfs:domain dq:DataQuality ;
    rdfs:isDefinedBy <> ;
    rdfs:label "lineage"^^xsd:string ;
    rdfs:range <lineage#Lineage> .

dq:measureDescription
    a owl:DatatypeProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "measure description"^^xsd:string ;
    rdfs:range xsd:string .

dq:measureIdentification
    a owl:ObjectProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "measure identification"^^xsd:string .

dq:nameOfMeasure
    a owl:DatatypeProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "name of measure"^^xsd:string ;
    rdfs:range xsd:string .

dq:pass
    a owl:DatatypeProperty ;
    rdfs:domain dq:ConformanceResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "pass"^^xsd:string ;
    rdfs:range xsd:boolean .

dq:report
    a owl:ObjectProperty ;
    rdfs:domain dq:DataQuality ;
    rdfs:isDefinedBy <> ;
    rdfs:label "report"^^xsd:string ;
    rdfs:range dq:Element .

dq:result
    a owl:ObjectProperty ;
    rdfs:domain dq:Element ;
    rdfs:isDefinedBy <> ;
    rdfs:label "result"^^xsd:string ;
    rdfs:range dq:Result .

dq:scope
    a owl:ObjectProperty ;
    rdfs:domain dq:DataQuality ;
    rdfs:isDefinedBy <> ;
    rdfs:label "scope"^^xsd:string ;
    rdfs:range dq:Scope .

dq:specification
    a owl:ObjectProperty ;
    rdfs:domain dq:ConformanceResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "specification"^^xsd:string ;
    rdfs:range <citation#Citation> .

dq:value
    a owl:ObjectProperty ;
    rdfs:domain dq:QuantitativeResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "value"^^xsd:string .

dq:valueType
    a owl:ObjectProperty ;
    rdfs:domain dq:QuantitativeResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "value type"^^xsd:string .

dq:valueUnit
    a owl:ObjectProperty ;
    rdfs:domain dq:QuantitativeResult ;
    rdfs:isDefinedBy <> ;
    rdfs:label "unit of measure"^^xsd:string ;
    rdfs:subPropertyOf basic:uom .

