<?xml version="1.0"?>


<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
    <!ENTITY om "http://seres.uni-muenster.de/ont/om#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY om_seres "http://seres.uni-muenster.de/ont/om_seres#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
    <!ENTITY SensorOntology "http://www.csiro.au/Ontologies/2009/SensorOntology.owl#" >
    <!ENTITY xgpl-time "http://www.ir.bbn.com/projects/xmac/owl/2004/03/xgpl-time.owl#" >
]>


<rdf:RDF xmlns="http://www.csiro.au/Ontologies/2009/SensorOntology.owl#"
     xml:base="http://www.csiro.au/Ontologies/2009/SensorOntology.owl"
     xmlns:om_seres="http://seres.uni-muenster.de/ont/om_seres#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:xgpl-time="http://www.ir.bbn.com/projects/xmac/owl/2004/03/xgpl-time.owl#"
     xmlns:SensorOntology="http://www.csiro.au/Ontologies/2009/SensorOntology.owl#"
     xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
     xmlns:om="http://seres.uni-muenster.de/ont/om#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <owl:Ontology rdf:about="">
        <rdfs:comment
            >12-01-09 Nguyen: Sensor Ontology built upon previous work. Modelled after OWL-S, SensorML, O&amp;M and the CMAR fisheries Ontology.</rdfs:comment>
        <rdfs:comment
            >Assume OWL-S is OWL-S v1.1 unless specified otherwise (only v1.2 is used in some cases).</rdfs:comment>
    </owl:Ontology>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Guard -->

    <owl:ObjectProperty rdf:about="#Guard">
        <rdfs:range rdf:resource="#Condition"/>
        <rdfs:domain rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#bindingDestination -->

    <owl:ObjectProperty rdf:about="#bindingDestination">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:domain rdf:resource="#Binding"/>
        <rdfs:range rdf:resource="#Input"/>
        <owl:inverseOf rdf:resource="#boundAt"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#bindingSource -->

    <owl:ObjectProperty rdf:about="#bindingSource">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:domain rdf:resource="#Binding"/>
        <rdfs:range rdf:resource="#Output"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#boundAt -->

    <owl:ObjectProperty rdf:about="#boundAt">
        <rdfs:range rdf:resource="#Binding"/>
        <rdfs:domain rdf:resource="#Input"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#boundTo -->

    <owl:ObjectProperty rdf:about="#boundTo">
        <rdfs:range rdf:resource="#Binding"/>
        <rdfs:domain rdf:resource="#Output"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#component -->

    <owl:ObjectProperty rdf:about="#component">
        <rdfs:domain rdf:resource="#CompositeProcess"/>
        <rdfs:range rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#constructionMaterial -->

    <owl:ObjectProperty rdf:about="#constructionMaterial">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#deploymentInformation -->

    <owl:ObjectProperty rdf:about="#deploymentInformation">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#derivesFrom -->

    <owl:ObjectProperty rdf:about="#derivesFrom">
        <rdfs:comment>MUO</rdfs:comment>
        <rdfs:comment
            >MUO Documentation:

This property relates a unit with another unit from which the former is derived. For instance, square meter derives from meter.</rdfs:comment>
        <rdfs:range rdf:resource="#UnitOfMeasurement"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#details -->

    <owl:ObjectProperty rdf:about="#details">
        <rdfs:domain rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#else -->

    <owl:ObjectProperty rdf:about="#else">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:domain rdf:resource="#IfThenElse"/>
        <rdfs:subPropertyOf rdf:resource="#component"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#expressionLanguage -->

    <owl:ObjectProperty rdf:about="#expressionLanguage">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:domain rdf:resource="#Expression"/>
        <rdfs:range rdf:resource="#MathLanguage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#groundsModel -->

    <owl:ObjectProperty rdf:about="#groundsModel">
        <rdfs:range rdf:resource="#OperationModel"/>
        <rdfs:domain rdf:resource="#SensorModelGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasCalibration -->

    <owl:ObjectProperty rdf:about="#hasCalibration">
        <rdfs:range rdf:resource="#Calibration"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasDescription -->

    <owl:ObjectProperty rdf:about="#hasDescription">
        <rdfs:range rdf:resource="#Description"/>
        <rdfs:domain rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasEffect -->

    <owl:ObjectProperty rdf:about="#hasEffect">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:range rdf:resource="#Effect"/>
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasFieldofSensing -->

    <owl:ObjectProperty rdf:about="#hasFieldofSensing">
        <rdfs:range rdf:resource="#FieldOfSensing"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasIdentification -->

    <owl:ObjectProperty rdf:about="#hasIdentification">
        <rdfs:range rdf:resource="#Identification"/>
        <rdfs:domain rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasInput -->

    <owl:ObjectProperty rdf:about="#hasInput">
        <rdfs:range rdf:resource="#Input"/>
        <rdfs:domain rdf:resource="#Process"/>
        <rdfs:subPropertyOf rdf:resource="#hasParameter"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasLocation -->

    <owl:ObjectProperty rdf:about="#hasLocation">
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:range rdf:resource="#Location"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasMetaDataInformation -->

    <owl:ObjectProperty rdf:about="#hasMetaDataInformation">
        <rdfs:comment
            >Possibly removed in favour of ISO 19115</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
        <rdfs:range rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasMobility -->

    <owl:ObjectProperty rdf:about="#hasMobility">
        <rdfs:range rdf:resource="#Mobility"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasMobilityofFieldofSensing -->

    <owl:ObjectProperty rdf:about="#hasMobilityofFieldofSensing">
        <rdfs:range rdf:resource="#MobilityOfFieldofSensing"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasNote -->

    <owl:ObjectProperty rdf:about="#hasNote">
        <rdfs:range rdf:resource="#Note"/>
        <rdfs:domain rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasOperatingCondition -->

    <owl:ObjectProperty rdf:about="#hasOperatingCondition">
        <rdfs:range rdf:resource="#OperatingCondition"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasOperationModel -->

    <owl:ObjectProperty rdf:about="#hasOperationModel">
        <rdfs:range rdf:resource="#OperationModel"/>
        <rdfs:domain rdf:resource="#Sensor"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasOutput -->

    <owl:ObjectProperty rdf:about="#hasOutput">
        <rdfs:range rdf:resource="#Output"/>
        <rdfs:domain rdf:resource="#Process"/>
        <rdfs:subPropertyOf rdf:resource="#hasParameter"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasParameter -->

    <owl:ObjectProperty rdf:about="#hasParameter">
        <rdfs:range rdf:resource="#Parameter"/>
        <rdfs:domain rdf:resource="#Process"/>
        <rdfs:subPropertyOf rdf:resource="#hasVar"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasPhysicalCharacteristic -->

    <owl:ObjectProperty rdf:about="#hasPhysicalCharacteristic">
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasPrecondition -->

    <owl:ObjectProperty rdf:about="#hasPrecondition">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:range rdf:resource="#Condition"/>
        <rdfs:domain rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasProcess -->

    <owl:ObjectProperty rdf:about="#hasProcess">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:range rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasProperty -->

    <owl:ObjectProperty rdf:about="#hasProperty">
        <rdfs:domain rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasQuality -->

    <owl:ObjectProperty rdf:about="#hasQuality">
        <rdfs:domain rdf:resource="#Feature"/>
        <rdfs:range rdf:resource="#PhysicalQuality"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasReferenceDocumentation -->

    <owl:ObjectProperty rdf:about="#hasReferenceDocumentation">
        <rdfs:range rdf:resource="#ReferenceDocumention"/>
        <rdfs:domain rdf:resource="#SensorMetaData"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasResponse -->

    <owl:ObjectProperty rdf:about="#hasResponse"/>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasResponseModel -->

    <owl:ObjectProperty rdf:about="#hasResponseModel">
        <rdfs:domain rdf:resource="#OperationModel"/>
        <rdfs:range rdf:resource="#ResponseModel"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasResult -->

    <owl:ObjectProperty rdf:about="#hasResult">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:range rdf:resource="#ModelResult"/>
        <rdfs:domain rdf:resource="#OperationModel"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasTypeofOperation -->

    <owl:ObjectProperty rdf:about="#hasTypeofOperation">
        <rdfs:domain rdf:resource="#Sensor"/>
        <rdfs:range rdf:resource="#TypeOfOperation"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#hasVar -->

    <owl:ObjectProperty rdf:about="#hasVar">
        <rdfs:domain rdf:resource="#Process"/>
        <rdfs:range rdf:resource="#ProcessVar"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#housingMaterial -->

    <owl:ObjectProperty rdf:about="#housingMaterial">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ifCondition -->

    <owl:ObjectProperty rdf:about="#ifCondition">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="#Guard"/>
        <rdfs:domain rdf:resource="#IfThenElse"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#inCondition -->

    <owl:ObjectProperty rdf:about="#inCondition">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:range rdf:resource="#Condition"/>
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#isAbstractionOf -->

    <owl:ObjectProperty rdf:about="#isAbstractionOf">
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:domain rdf:resource="#AbstractProcess"/>
        <rdfs:range rdf:resource="#Process"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#leftComponent -->

    <owl:ObjectProperty rdf:about="#leftComponent">
        <rdfs:subPropertyOf rdf:resource="#component"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#measures -->

    <owl:ObjectProperty rdf:about="#measures">
        <rdfs:range rdf:resource="#PhysicalQuality"/>
        <rdfs:domain rdf:resource="#Sensor"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#modelGrounding -->

    <owl:ObjectProperty rdf:about="#modelGrounding">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
        <rdfs:range rdf:resource="#SensorModelGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#mountedOn -->

    <owl:ObjectProperty rdf:about="#mountedOn">
        <rdfs:range rdf:resource="#Platform"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#onPlatform -->

    <owl:ObjectProperty rdf:about="#onPlatform">
        <rdfs:range rdf:resource="#Platform"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#outputs -->

    <owl:ObjectProperty rdf:about="#outputs">
        <rdfs:domain rdf:resource="#Transducer"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#powerSource -->

    <owl:ObjectProperty rdf:about="#powerSource">
        <rdfs:range rdf:resource="#PowerSupply"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#qualityValue -->

    <owl:ObjectProperty rdf:about="#qualityValue">
        <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
        <rdfs:comment
            >MUO Documentation:

The quality value of a measurable physical quality of an entity or phenomenon.</rdfs:comment>
        <rdfs:comment>MUO</rdfs:comment>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#rightComponent -->

    <owl:ObjectProperty rdf:about="#rightComponent">
        <rdfs:subPropertyOf rdf:resource="#component"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#supportedBy -->

    <owl:ObjectProperty rdf:about="#supportedBy">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:range rdf:resource="#Sensor"/>
        <rdfs:domain rdf:resource="#SensorGrounding"/>
        <owl:inverseOf rdf:resource="#supports"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#supports -->

    <owl:ObjectProperty rdf:about="#supports">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:domain rdf:resource="#Sensor"/>
        <rdfs:range rdf:resource="#SensorGrounding"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#then -->

    <owl:ObjectProperty rdf:about="#then">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:domain rdf:resource="#IfThenElse"/>
        <rdfs:subPropertyOf rdf:resource="#component"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#untilCondition -->

    <owl:ObjectProperty rdf:about="#untilCondition">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="#Guard"/>
        <rdfs:domain rdf:resource="#RepeatUntil"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#whileCondition -->

    <owl:ObjectProperty rdf:about="#whileCondition">
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:subPropertyOf rdf:resource="#Guard"/>
        <rdfs:domain rdf:resource="#RepeatWhile"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#withAccuracy -->

    <owl:ObjectProperty rdf:about="#withAccuracy">
        <rdfs:range rdf:resource="#Accuracy"/>
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#withLatency -->

    <owl:ObjectProperty rdf:about="#withLatency">
        <rdfs:range rdf:resource="#Latency"/>
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#withRange -->

    <owl:ObjectProperty rdf:about="#withRange">
        <rdfs:range rdf:resource="#MeasurementRange"/>
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:ObjectProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#withResolution -->

    <owl:ObjectProperty rdf:about="#withResolution">
        <rdfs:domain rdf:resource="#ModelResult"/>
        <rdfs:range rdf:resource="#Resolution"/>
    </owl:ObjectProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Data properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#characteristicTransferFunction -->

    <owl:DatatypeProperty rdf:about="#characteristicTransferFunction">
        <rdfs:domain rdf:resource="#ResponseModel"/>
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#contactInformation -->

    <owl:DatatypeProperty rdf:about="#contactInformation">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#content -->

    <owl:DatatypeProperty rdf:about="#content">
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#dimension -->

    <owl:DatatypeProperty rdf:about="#dimension">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#expressionBody -->

    <owl:DatatypeProperty rdf:about="#expressionBody">
        <rdfs:domain rdf:resource="#Expression"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#historyInformation -->

    <owl:DatatypeProperty rdf:about="#historyInformation">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#name -->

    <owl:DatatypeProperty rdf:about="#name">
        <rdfs:domain rdf:resource="#Process"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#powerConsumption -->

    <owl:DatatypeProperty rdf:about="#powerConsumption">
        <rdfs:domain rdf:resource="#ModelResult"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#serialID -->

    <owl:DatatypeProperty rdf:about="#serialID">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#voltage -->

    <owl:DatatypeProperty rdf:about="#voltage">
        <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#weight -->

    <owl:DatatypeProperty rdf:about="#weight">
        <rdfs:domain rdf:resource="#SensorGrounding"/>
    </owl:DatatypeProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#AbstractProcess -->

    <owl:Class rdf:about="#AbstractProcess">
        <rdfs:subClassOf rdf:resource="#Process"/>
        <rdfs:comment
            >Formerly AbstractProcess from SensorML (and SimpleProcess from OWL-S).</rdfs:comment>
        <rdfs:comment>SensorML</rdfs:comment>
        <rdfs:comment
            >Nguyen: Interface for processes to specify what it does and the operations needed to interact with it.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Accuracy -->

    <owl:Class rdf:about="#Accuracy">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Nguyen: The range that the measured value differs from the actual value.</rdfs:comment>
        <rdfs:comment
            >See Siphon Tipping Bucket Rain Gauge Specification</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Acoustic -->

    <owl:Class rdf:about="#Acoustic">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ActiveSensing -->

    <owl:Class rdf:about="#ActiveSensing">
        <rdfs:subClassOf rdf:resource="#TypeOfOperation"/>
        <rdfs:comment
            >OntoSensor Derived</rdfs:comment>
        <rdfs:comment
            >Nguyen: The sensor produces an input in to its environment and analyses the respose. For example, radiation is emitted from a radar and the reflected (or transmitted) radiation is measured.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#AnyOrder -->

    <owl:Class rdf:about="#AnyOrder">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#rightComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#leftComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment
            >OWL-S: Allows the process components (specified as a bag) to be executed in some unspecified order but not concurrently. Execution and completion of all components is required. The execution of processes in an &#39;AnyOrder&#39; construct cannot overlap, i.e.atomic processes cannot be executed concurrently and composite processes cannot be interleaved.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#AtomicProcess -->

    <owl:Class rdf:about="#AtomicProcess">
        <rdfs:subClassOf rdf:resource="#Process"/>
        <rdfs:comment
            >OWL-S: An atomic process is a description of a service that expects one (possibly complex) message and returns one (possibly complex) message in response.
SensorML: Processes that are considered Indivisible either by design or necessity.
Nguyen: It is favoured more towards SensorML.</rdfs:comment>
        <rdfs:comment
            >SensorML and OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Binding -->

    <owl:Class rdf:about="#Binding">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#bindingDestination"/>
                <owl:onClass rdf:resource="#Input"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#bindingSource"/>
                <owl:onClass rdf:resource="#Output"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Calibration -->

    <owl:Class rdf:about="#Calibration">
        <rdfs:comment
            >Nguyen: Fine adjustments to the sensor to improve its accuracy and reliability.</rdfs:comment>
        <rdfs:comment>SensorML</rdfs:comment>
        <rdfs:comment
            >Accuracy and Resolution / Precission might depend on callibration.  How best to model this?</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Chemical -->

    <owl:Class rdf:about="#Chemical">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Choice -->

    <owl:Class rdf:about="#Choice">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#rightComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#leftComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment
            >OWL-S: Choice calls for the execution of a single control construct from a given bag of control constructs (given by the components property). Any of the given control constructs may be chosen for execution.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#CompositeProcess -->

    <owl:Class rdf:about="#CompositeProcess">
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#AnyOrder"/>
                    <rdf:Description rdf:about="#Choice"/>
                    <rdf:Description rdf:about="#IfThenElse"/>
                    <rdf:Description rdf:about="#Iterate"/>
                    <rdf:Description rdf:about="#Sequence"/>
                    <rdf:Description rdf:about="#Split"/>
                    <rdf:Description rdf:about="#SplitJoin"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#Process"/>
        <rdfs:comment
            >Nguyen: Similar meanings from both SensorML and OWL-S.</rdfs:comment>
        <rdfs:comment
            >SensorML: Processes that are composed of other processes connected in some logical manner.</rdfs:comment>
        <rdfs:comment
            >SensorML and OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S (Modified): Composite processes are decomposable into other (non-composite or composite) processes; their decomposition can be specified by using control constructs such as  Sequence and If-Then-Else. Since many of the control constructs have names reminiscent of control structures in programming languages, it is easy to lose sight of a fundamental difference: a composite process is not a behavior a service will do, but a behavior (or set of behaviors) the client can perform by sending and receiving a series of messages. If the composite process has an overall effect, then the client must perform the entire process in order to achieve that effect. We have not yet given a precise specification of what it means to perform a process, but all we mean is that, e.g., if a composite is a Sequence, then the client sends a series of messages that invoke every step in order.

One crucial feature of a composite process is its specification of how its inputs are accepted by particular subprocesses, and how its various outputs are produced by particular subprocesses.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Condition -->

    <owl:Class rdf:about="#Condition">
        <rdfs:subClassOf rdf:resource="#Expression"/>
        <rdfs:comment
            >Nguyen: A special case of Expression. There is no difference with Effect, but the distinction is made for human readability (an OWL-S justification).</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Description -->

    <owl:Class rdf:about="#Description">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >SensorML and Davis 7817 Weather Station</rdfs:comment>
        <rdfs:comment
            >SensorML: The value of this property is a text description of the object. gml:description uses gml:StringOrRefType as its content model, so it may contain a simple text string content, or carry a reference to an external description. The use of gml:description to reference an external description has been deprecated and replaced by the gml:descriptionReference property.</rdfs:comment>
        <rdfs:comment
            >Nguyen: This class was intended to be only a simple text string that describes the object in human readable terminologies.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Effect -->

    <owl:Class rdf:about="#Effect">
        <rdfs:subClassOf rdf:resource="#Expression"/>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >Nguyen: A special case of Expression. There is no difference with Condition, but the distinction is made for human readability (an OWL-S justification).</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Electrical -->

    <owl:Class rdf:about="#Electrical">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Error -->

    <owl:Class rdf:about="#Error">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Nguyen: The difference of the measured value from the actual value.</rdfs:comment>
        <rdfs:comment
            >Davis 7817 Weather Station</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Expression -->

    <owl:Class rdf:about="#Expression">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#expressionLanguage"/>
                <owl:onClass rdf:resource="#MathLanguage"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment
            >Nguyen: Expressions are logical formulas to express conditions that must be satisfied. Expressions can be described in any language, which is not shown here. See OWL-S Expression.owl for examples with DRS, KIF and SWRL.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >Not sure how to say correctly that there should be only 1 expression body, but that it could be just about anything</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Feature -->

    <owl:Class rdf:about="#Feature">
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#hasLocation"/>
                <owl:someValuesFrom rdf:resource="#Location"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#FieldOfSensing -->

    <owl:Class rdf:about="#FieldOfSensing">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Identification -->

    <owl:Class rdf:about="#Identification">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >change the below to properties of identification</rdfs:comment>
        <rdfs:comment>SensorML</rdfs:comment>
        <rdfs:comment
            >SensorML (Composed): The identification and classification properties provide relevant information that can be mined to support asset discovery and cataloging. Means of specifying classification values with types such as &quot;sensorType&quot;, &quot;intendedApplication&quot;, etc., whose terms can be defined in a dictionary.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#IfThenElse -->

    <owl:Class rdf:about="#IfThenElse">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#then"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#else"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#ifCondition"/>
                <owl:onClass rdf:resource="#Condition"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S: IfThenElse Class is a ControlConstruct that consists of a Condition, a then and an optional else process.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Input -->

    <owl:Class rdf:about="#Input">
        <rdfs:subClassOf rdf:resource="#Parameter"/>
        <owl:disjointWith rdf:resource="#Output"/>
        <rdfs:comment
            >OWL-S 1.2: Inputs and outputs specify the data transformation produced by the process. Inputs specify the information that the process requires for its execution.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Iterate -->

    <owl:Class rdf:about="#Iterate">
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#RepeatUntil"/>
                    <rdf:Description rdf:about="#RepeatWhile"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S: Iterate is an &#39;abstract&#39; class, in the sense that it&#39;s not detailed enough to be instantiated in a process model.  It&#39;s here to serve as the common superclass of Repeat-While, Repeat-Until, and potentially other specific iteration constructs that might be needed in the future.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Language -->

    <owl:Class rdf:about="#Language">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Latency -->

    <owl:Class rdf:about="#Latency">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Davis 7817 Weather Station</rdfs:comment>
        <rdfs:comment
            >Nguyen: The time delay in which an event occured and the measurement that is produced.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Location -->

    <owl:Class rdf:about="#Location">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:comment
            >Nguyen: Defines the location of the sensor based on different descriptions (ideally from concrete geographic description to abstract human descriptions).</rdfs:comment>
        <rdfs:comment
            >Possibly removed in favour of a Location Ontology.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Magnetic -->

    <owl:Class rdf:about="#Magnetic">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ManufacturerID -->

    <owl:Class rdf:about="#ManufacturerID">
        <rdfs:subClassOf rdf:resource="#Identification"/>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#MathLanguage -->

    <owl:Class rdf:about="#MathLanguage">
        <rdfs:subClassOf rdf:resource="#Language"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#MeasurementRange -->

    <owl:Class rdf:about="#MeasurementRange">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >See WM30 Wind Sensor for Mobile Applications</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:comment
            >Nguyen: The range that measurable values can be taken.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Mechanical -->

    <owl:Class rdf:about="#Mechanical">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Mobility -->

    <owl:Class rdf:about="#Mobility">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#MobilityOfFieldofSensing -->

    <owl:Class rdf:about="#MobilityOfFieldofSensing">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ModelName -->

    <owl:Class rdf:about="#ModelName">
        <rdfs:subClassOf rdf:resource="#Identification"/>
        <rdfs:comment
            >Davis 7817 Weather Station</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ModelNumber -->

    <owl:Class rdf:about="#ModelNumber">
        <rdfs:subClassOf rdf:resource="#Identification"/>
        <rdfs:comment
            >Davis 7817 Weather Station</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ModelResult -->

    <owl:Class rdf:about="#ModelResult">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Note -->

    <owl:Class rdf:about="#Note">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Nguyen: Additional notes about the sensor that can detail deficiencies discovered, other possible applications, missing parts, or any human readable description of the sensor.</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Nuclear -->

    <owl:Class rdf:about="#Nuclear">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Observation -->

    <owl:Class rdf:about="#Observation">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment>O&amp;M Derived</rdfs:comment>
        <rdfs:comment
            >O&amp;M OGC Doc: An act of observing a property or phenomenon, with the goal of producing an estimate of the value of the property. A specialized event whose result is a data value.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#OperatingCondition -->

    <owl:Class rdf:about="#OperatingCondition">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >See Pyrano-Albedometer (EP16 &amp; EP16-E) Specification</rdfs:comment>
        <rdfs:comment
            >Nguyen: The temperature at which the sensor can function.</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#OperationModel -->

    <owl:Class rdf:about="#OperationModel">
        <rdfs:comment>OWL-S Derived</rdfs:comment>
        <rdfs:comment
            >Michael: Should this be something more generic like ProcessModel or ExecutionModel?  Nothing below here is specific to sensors.</rdfs:comment>
        <rdfs:comment
            >Nguyen: This class is modelled after ServiceModel from OWL-S. The class aims to describe the processes that occur within sensors similar to describing the processes in services of OWL-S. However, this class differs from OWL-S because the focus on sensors produces some problematic cases when multiple sensors interact with each other. That is, should sensors be described in terms of their processes or processes in terms of the sensors they use? This problem is resolved by defining an &#39;Interface&#39; to the sensor to bring the abstract descriptions of what the sensor does (related to ServiceProfile) and how the sensor does it (related to ServiceModel) closer as they can essentially be viewed as the same concept. So, how a sensor performs a process ultimately defines what it does and vice versa.

By providing an Interface class, this allows a common facade where processes only work with interfaces, which simplifies encoding of multiple processes because the workings behind the interface is not specified at that point. Essentially, the workings behind the interface can be any process, sensor, or something else, which is described elsewhere. So, this uniform presentation allows composite processes to be encoded without too much verbosity.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Optical -->

    <owl:Class rdf:about="#Optical">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Output -->

    <owl:Class rdf:about="#Output">
        <rdfs:subClassOf rdf:resource="#Parameter"/>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S 1.2: Inputs and outputs specify the data transformation produced by the process.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Parameter -->

    <owl:Class rdf:about="#Parameter">
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#Input"/>
                    <rdf:Description rdf:about="#Output"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#ProcessVar"/>
        <rdfs:comment
            >OWL-S 1.2: Parameter is the disjoint union of Input and Output</rdfs:comment>
        <rdfs:comment
            >I don&#39;t interpret Inputs and Outputs as data in the sense of passed by proccedure call or similar; I&#39;m happy to interpret these concepts so that input could be pure water and output, thick green slime.   Just any sort of input and output: physical, electronic, conceptual, whatever.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#PassiveSensing -->

    <owl:Class rdf:about="#PassiveSensing">
        <rdfs:subClassOf rdf:resource="#TypeOfOperation"/>
        <rdfs:comment
            >Nguyen: The sensor only observes the environment. That is, the sensor only takes measurements of observations that were not caused by sensor itself. For example, measuring temperature or solar radiation.</rdfs:comment>
        <rdfs:comment
            >OntoSensor Derived</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#PhysicalProcess -->

    <owl:Class rdf:about="#PhysicalProcess">
        <rdfs:subClassOf rdf:resource="#Process"/>
        <rdfs:comment
            >SensorML: Processes where physical location or physical interface of the process is important (e.g. a sensor system).</rdfs:comment>
        <rdfs:comment>SensorML</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#PhysicalQuality -->

    <owl:Class rdf:about="#PhysicalQuality">
        <rdfs:comment>MUO</rdfs:comment>
        <rdfs:comment
            >MUO Documentation:

Physical quality - The physical qualities such as mass, weight, speed, etc. are kind of properties that can be quantified i.e. that can be perceived, measured or even calculated. The concept of physical quality is similar to the notion of quality, used in metrology, the science of measurement. We distinguish between: 1) A physical quality in the general sense: a kind of physical property ascribed to phenomena that can be quantified for a particular phenomenon (e.g. length and electrical charge); 2) A physical quantity in the particular sense: a quantifiable property ascribed to a particular phenomenon (e.g. the weight of my device). MUO only uses physical quantities in the general sense.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Platform -->

    <owl:Class rdf:about="#Platform">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#hasLocation"/>
                <owl:someValuesFrom rdf:resource="#Location"/>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OntoSensor</rdfs:comment>
        <rdfs:comment
            >Wikipedia (Computer Platform): In computing, a platform describes some sort of hardware architecture or software framework (including application frameworks), that allows software to run. Typical platforms include a computer&#39;s architecture, operating system, programming languages and related runtime libraries or graphical user interface.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#PowerSupply -->

    <owl:Class rdf:about="#PowerSupply">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Process -->

    <owl:Class rdf:about="#Process">
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#AbstractProcess"/>
                    <rdf:Description rdf:about="#AtomicProcess"/>
                    <rdf:Description rdf:about="#CompositeProcess"/>
                    <rdf:Description rdf:about="#PhysicalProcess"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#OperationModel"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#name"/>
                <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >Nguyen: The anonymous superclasses were mostly derived from OWL-S v1.2 Diagram of Process in the Overview documentation.</rdfs:comment>
        <rdfs:comment
            >Nguyen: The different process types in a sensor.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ProcessVar -->

    <owl:Class rdf:about="#ProcessVar">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S 1.2: This is the simplest way to relate parameters to SWRL (and DRS) variables.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ReferenceDocumention -->

    <owl:Class rdf:about="#ReferenceDocumention">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment>SensorML</rdfs:comment>
        <rdfs:comment
            >SensorML: The documentation property provides a reference description and URI to an online resource (e.g., specification documentation, peer-reviewed algorithm literature, etc.).</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#RepeatUntil -->

    <owl:Class rdf:about="#RepeatUntil">
        <rdfs:subClassOf rdf:resource="#Iterate"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#untilCondition"/>
                <owl:onClass rdf:resource="#Condition"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#component"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment
            >OWL-S: The RepeatUntil class specializes the ControlConstruct class where the with properties &#39;untilCondition&#39; (range of type Condition) and &#39;untilProcess&#39; (range of type Reapeat). Repeat-Until does the operation, tests for the condition, exits if it is true, and otherwise loops.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#RepeatWhile -->

    <owl:Class rdf:about="#RepeatWhile">
        <rdfs:subClassOf rdf:resource="#Iterate"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#whileCondition"/>
                <owl:onClass rdf:resource="#Condition"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#component"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S: The RepeatWhile class specializes the ControlConstruct class where the with properties &quot;whileCondition&quot; (range of type Condition) and &#39;whileProcess&#39; (range of type Repeat).  Repeat-While tests for the condition, exits if it is false and does the operation if the condition is true, then loops.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Resolution -->

    <owl:Class rdf:about="#Resolution">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Nguyen: The granularity of the measurement obtainable from the sensor.</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#ResponseModel -->

    <owl:Class rdf:about="#ResponseModel">
        <rdfs:comment
            >In telecommunications, a response is the effect of a driving signal upon an active or passive device. An output resulting from an input. -Wikipedia (Response)</rdfs:comment>
        <rdfs:comment>OntoSensor</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Sensor -->

    <owl:Class rdf:about="#Sensor">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >Holger: A sensor is a source producing a value within a value space representing a phenomenon in a given domain of discourse.</rdfs:comment>
        <rdfs:comment
            >Nguyen: A Sensor in this ontology is based on the Service of the OWL-S ontology. A sensor is modelled in this class, where the description of the sensor from the views of what it does, how it does it, how to interact with it and where it is, are captured in this ontology.</rdfs:comment>
        <rdfs:comment
            >OWL-S Derived (i.e. Service)</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#SensorGrounding -->

    <owl:Class rdf:about="#SensorGrounding">
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#hasLocation"/>
                <owl:someValuesFrom rdf:resource="#Location"/>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S Derived</rdfs:comment>
        <rdfs:comment
            >Nguyen: This class is modelled after the OWL-S ServiceGrounding class, where the concrete specifications are given about interacting with the sensor. This class describes the concrete inputs and outputs of the sensor, which is seen through the data that is inputted to and outputted from the sensor. The methods of interacting with the sensor such as the interface is also described here.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#SensorMetaData -->

    <owl:Class rdf:about="#SensorMetaData">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment
            >SensorML Derived</rdfs:comment>
        <rdfs:comment
            >Nguyen: This class is modelled after the metadata elements in SensorML. The idea of this class is to capture the documentation that comes with the sensor, such as leaflets, specification sheets, manuals, descriptions and so on. This allows the addition of human readable content that provides an additional level of understanding and also facilitates the searching of sensors through keywords or queries.</rdfs:comment>
        <rdfs:comment
            >Possibly removed in favour of ISO 19115</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#SensorModelGrounding -->

    <owl:Class rdf:about="#SensorModelGrounding">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Sequence -->

    <owl:Class rdf:about="#Sequence">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#leftComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#rightComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment
            >OWL-S: Sequence is defined as having a list of component processes that specify the body. The Preconditions, parameters and effects of the sequence are not defined in the minimal version.  An obvious extension would be to define the effect of the sequence to be the union of the effect of the individual members, and the parameters of the sequence to be the union of the parameters of individual members. However, some implementations may decide to use the last event&#39;s effects as the effect of the sequence, etc.</rdfs:comment>
        <rdfs:comment>OWL-S</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#SpatialResolution -->

    <owl:Class rdf:about="#SpatialResolution">
        <rdfs:subClassOf rdf:resource="#Resolution"/>
        <rdfs:comment
            >Nguyen: The smallest physical separation between two objects that the sensor can distinguish.</rdfs:comment>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Split -->

    <owl:Class rdf:about="#Split">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#rightComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#leftComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S: Here the process consists of concurrent execution of a bunch of sub-processes.  No further specification about waiting, synchronization, etc. Similar to other ontologies&#39; use of &#39;Concurrent&#39; or &#39;Parallel&#39;.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#SplitJoin -->

    <owl:Class rdf:about="#SplitJoin">
        <rdfs:subClassOf rdf:resource="#CompositeProcess"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#leftComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#rightComponent"/>
                <owl:onClass rdf:resource="#Process"/>
                <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:comment>OWL-S</rdfs:comment>
        <rdfs:comment
            >OWL-S: Here the process consists of concurrent execution of a bunch of sub-processes.  with barrier synchroniztion. With Split and Split and Join, we can define processes which have partial synchronization (ex. split all and join some subset).</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#TemporalResolution -->

    <owl:Class rdf:about="#TemporalResolution">
        <rdfs:subClassOf rdf:resource="#Resolution"/>
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:comment
            >Wikipedia: The precision of the measurement with respect to time.
Nguyen: That is, the smallest time frame such that the measurement of successive values fall within acceptable parameters.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Thermal -->

    <owl:Class rdf:about="#Thermal">
        <rdfs:subClassOf rdf:resource="#Transducer"/>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Transducer -->

    <owl:Class rdf:about="#Transducer">
        <rdfs:subClassOf rdf:resource="#Sensor"/>
        <rdfs:comment
            >Nguyen: These are basic energy classification for sensors as seen in &#39;Sensor science - essentials for instrumentation and measurement technology.&#39; Joseph McGhee et al. and OntoSensor.</rdfs:comment>
        <rdfs:comment
            >Nguyen: Expanded list to include more sensors. Derived from OntoSensor.</rdfs:comment>
        <rdfs:comment
            >OntoSensor Derived</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#TypeOfOperation -->

    <owl:Class rdf:about="#TypeOfOperation">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <rdfs:comment>addition</rdfs:comment>
        <rdfs:comment
            >Nguyen: The sensor can only measure observations either actively (interacts with the environment) or passively (observes the environment).</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#UnitOfMeasurement -->

    <owl:Class rdf:about="#UnitOfMeasurement">
        <rdfs:comment>MUO</rdfs:comment>
        <rdfs:comment
            >MUO Documentation:

Unit of measurement - Measurement units are standards for measurement of physical properties or qualities. Every unit is related to a particular kind of property. For instance, the meter unit is uniquely related to the length property. Under our ontological approach, units are abstract spaces used as a reference metrics for quality spaces, such as physical qualia, and they are counted by some number. For instance, weight-units define some quality spaces for the weight-quality where specific weights of objects, like devices or persons, are located by means of comparisons with the proper weight-value of the selected weight-unit.</rdfs:comment>
        <rdfs:comment
            >Nguyen: Laurent wants to make a Units of Measurement ontology. So this class and its subclasses may not be needed.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.csiro.au/Ontologies/2009/SensorOntology.owl#Version -->

    <owl:Class rdf:about="#Version">
        <rdfs:subClassOf rdf:resource="#Identification"/>
        <rdfs:comment>addition</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.w3.org/2002/07/owl#Thing -->

    <owl:Class rdf:about="&owl;Thing"/>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // General axioms
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <rdf:Description>
        <rdf:type rdf:resource="&owl;AllDisjointClasses"/>
        <owl:members rdf:parseType="Collection">
            <rdf:Description rdf:about="#AbstractProcess"/>
            <rdf:Description rdf:about="#AtomicProcess"/>
            <rdf:Description rdf:about="#CompositeProcess"/>
        </owl:members>
    </rdf:Description>
</rdf:RDF>



<!-- Generated by the OWL API (version 2.2.1.962) http://owlapi.sourceforge.net -->

