# Base: http://protege.stanford.edu/swbp/temperature.n3#
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix :        <> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .

:temperature_value
      a       owl:ObjectProperty , owl:FunctionalProperty .

:STABLE
      a       :Temperature_trend .

:NORMAL
      a       :Temperature_value .

:Temperature_value
      a       owl:Class ;
      owl:equivalentClass
              [ a       owl:Class ;
                owl:oneOf (:ELEVATED :NORMAL :BELOW_NORMAL)
              ] .

[]    a       owl:AllDifferent ;
      owl:distinctMembers (:FALLING :RISING :STABLE) .

:has_temperature
      a       owl:ObjectProperty , owl:FunctionalProperty ;
      rdfs:range :Temperature_Observation .

:BELOW_NORMAL
      a       :Temperature_value .

:RISING
      a       :Temperature_trend .

:ELEVATED
      a       :Temperature_value .

:Temperature_trend
      a       owl:Class ;
      owl:equivalentClass
              [ a       owl:Class ;
                owl:oneOf (:FALLING :RISING :STABLE)
              ] .

:FALLING
      a       :Temperature_trend .

:Person
      a       owl:Class ;
      rdfs:subClassOf
              [ a       owl:Restriction ;
                owl:allValuesFrom :Temperature_Observation ;
                owl:onProperty :has_temperature
              ] .

_:Temperature_Observation_1
      a       :Temperature_Observation ;
      :temperature_trend :FALLING ;
      :temperature_value :ELEVATED .

:temperature_trend
      a       owl:ObjectProperty , owl:FunctionalProperty .

:Steve
      a       :Person ;
      :has_temperature _:Temperature_Observation_1 .


:Temperature_Observation
      a       owl:Class ;
      rdfs:subClassOf
              [ a       owl:Restriction ;
                owl:allValuesFrom :Temperature_value ;
                owl:onProperty :temperature_value
              ] ;
      rdfs:subClassOf
              [ a       owl:Restriction ;
                owl:allValuesFrom :Temperature_trend ;
                owl:onProperty :temperature_trend
              ] .

<http://protege.stanford.edu/swbp/temperature>
      a       owl:Ontology .

[]    a       owl:AllDifferent ;
      owl:distinctMembers (:BELOW_NORMAL :ELEVATED :NORMAL) .
