including unit of measure in semantic properties

Hi Davide –

In last week’s teleconf<http://www.w3.org/2014/03/05-csvw-minutes.html> you and Jeni were talking about units of measurement. Jeni noted that the “semantic type might cover some part of the measure unit”. To clarify, this is what I’ve been doing / attempting when thinking about publishing weather observations in RDF using the Semantic Sensor Network Ontology<http://www.w3.org/2005/Incubator/ssn/ssnx/ssn> and QUDT<http://qudt.org/>. Using some OWL axioms I can create semantic properties that assert the unit of measurement as Celsius and the quantity type and air temperature.

Example below in TTL …

it’s quite complicated (helps to know QUDT!) but the axioms relating to property ex:airTemperature_C chain together to ensure that:

-    the rdfs:range of property ex:airTemperature_C is an instance of ex:AirTemperatureQuantityValue_Cel

-    the unit of measure associated with ex:AirTemperatureQuantityValue_Cel is <http://qudt.org/vocab/unit#DegreeCelsius<http://qudt.org/vocab/unit%22%20%5Cl%20%22DegreeCelsius>>

-    the quantity for all instances of ex:AirTemperatureQuantityValue_Cel is ex:AirTemperatureQuantity

-    the quantity kind for all instances of ex:AirTemperatureQuantity must be <http://codes.wmo.int/common/c-15/me/airTemperature>

Hope this helps. Jeremy

---

@prefix ssn:      <http://purl.oclc.org/NET/ssnx/ssn#> . # semantic sensor network ontology
@prefix qudt:     <http://qudt.org/1.1/schema/qudt#> . # Quantities, units, dimensions

# the weather observation (or at least a temperature measurement)
<http://data.example.com/ex/weather-observation/site/22580943/date-time/20131213T0900Z>
    a ssn:Observation ;
    ssn:observationSamplingTime [ time:inXSDDateTime “2013-12-13T09:00:00Z”^^xsd:dateTime ] ;
    ssn:observationResult [
        a ssn:SensorOutput ;
        ex:airTemperature_C [ qudt:numericValue “12.0”^^xsd:double ] ] ;
    .

# the definitions
ex:airTemperature_C

    a owl:ObjectProperty ;

    rdfs:label "Air temperature (Celsius)"@en ;

    rdfs:subPropertyOf qudt:value ;

    rdfs:range ex:AirTemperatureQuantityValue_Cel .
ex:AirTemperatureQuantityValue_Cel

    a owl:Class ;

    rdfs:label "Air temperature quantity value expressed in Celsius"@en ;

    rdfs:subClassOf qudt:QuantityValue ;

    rdfs:subClassOf

      [ a owl:Restriction ;

        owl:onProperty qudt:unit ;

        owl:hasValue <http://qudt.org/vocab/unit#DegreeCelsius<http://qudt.org/vocab/unit%22%20%5Cl%20%22DegreeCelsius>>
        ] ;

    rdfs:subClassOf

      [ a owl:Restriction ;

        owl:onProperty qudt:valueQuantity ;

        owl:cardinality "1"^^xsd:int
        ] ;

    rdfs:subClassOf

      [ a owl:Restriction ;

        owl:onProperty qudt:valueQuantity ;

        owl:allValuesFrom ex:AirTemperatureQuantity
        ] .
ex:AirTemperatureQuantity

    a owl:Class ;

    rdfs:label "Air temperature quantity"@en ;

    rdfs:subClassOf qudt:Quantity ;

    rdfs:subClassOf

      [ a owl:Restriction ;

        owl:onProperty qudt:quantityKind ;

        owl:hasValue <http://codes.wmo.int/common/c-15/me/airTemperature>

      ] .

Received on Monday, 10 March 2014 20:34:09 UTC