@prefix : <http://saref.linkeddata.es/def/envi#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix wot: <http://xmlns.com/wot/0.1/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rddl: <http://www.rddl.org/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix saref: <https://w3id.org/saref#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@base <http://saref.linkeddata.es/def/envi> .

<http://saref.linkeddata.es/def/envi> rdf:type owl:Ontology ;
                                       owl:versionIRI <http://saref.linkeddata.es/def/v1/envi> ;
                                       dcterms:creator <http://purl.org/net/mpoveda> ;
                                       rdfs:comment "This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc."@en ;
                                       vann:preferredNamespaceUri "http://saref.linkeddata.es/def/envi/" ;
                                       dcterms:license "http://purl.org/NET/rdflicense/cc-by4.0"^^xsd:anyURI ;
                                       dc:title "SAREF extension for environment"@en ;
                                       dcterms:creator <http://www.garcia-castro.com/foaf.rdf#me> ;
                                       dcterms:license <http://purl.org/NET/rdflicense/cc-by4.0> ;
                                       vann:preferredNamespacePrefix "saref4envi" ;
                                       dc:publisher <http://www.oeg-upm.net/> .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/creator
dcterms:creator rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/dateCopyrighted
dcterms:dateCopyrighted rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/rightsHolder
dcterms:rightsHolder rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespacePrefix
vann:preferredNamespacePrefix rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespaceUri
vann:preferredNamespaceUri rdf:type owl:AnnotationProperty .


#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#duration
xsd:duration rdf:type rdfs:Datatype .


#################################################################
#    Object Properties
#################################################################

###  http://saref.linkeddata.es/def/envi#affectsProperty
:affectsProperty rdf:type owl:ObjectProperty ;
                 rdfs:domain :Actuator ;
                 rdfs:range saref:Property .


###  http://saref.linkeddata.es/def/envi#containsDevice
:containsDevice rdf:type owl:ObjectProperty ;
                rdfs:domain :PhysicalObject ;
                rdfs:range :Device ;
                rdfs:label "containsDevice"@en .


###  http://saref.linkeddata.es/def/envi#encapsulatesObject
:encapsulatesObject rdf:type owl:ObjectProperty ;
                    owl:inverseOf :hasDigitalRepresentation ;
                    rdfs:domain :DigitalRepresentation ;
                    rdfs:range :PhysicalObject ;
                    rdfs:label "encapsulatesObject"@en .


###  http://saref.linkeddata.es/def/envi#exposesFunctionality
:exposesFunctionality rdf:type owl:ObjectProperty ;
                      rdfs:domain :DigitalRepresentation ;
                      rdfs:range saref:ActuatingFunction ;
                      rdfs:label "exposesFunctionality"@en .


###  http://saref.linkeddata.es/def/envi#hasComponent
:hasComponent rdf:type owl:ObjectProperty ;
              owl:inverseOf :isComponentOf ;
              rdfs:domain :System ;
              rdfs:range :System ;
              rdfs:label "hasComponent"@en .


###  http://saref.linkeddata.es/def/envi#hasDigitalRepresentation
:hasDigitalRepresentation rdf:type owl:ObjectProperty ,
                                   owl:InverseFunctionalProperty ;
                          rdfs:domain :PhysicalObject ;
                          rdfs:range :DigitalRepresentation ;
                          rdfs:label "has digital representation"@en .


###  http://saref.linkeddata.es/def/envi#hasLightColor
:hasLightColor rdf:type owl:ObjectProperty ;
               rdfs:domain :Light ;
               rdfs:range :LightColor ;
               rdfs:label "hasLightColor"@en .


###  http://saref.linkeddata.es/def/envi#hasLightGeometry
:hasLightGeometry rdf:type owl:ObjectProperty ;
                  rdfs:domain :Light ;
                  rdfs:range :Geometry ;
                  rdfs:label "hasLightGeometry"@en .


###  http://saref.linkeddata.es/def/envi#hasLightPoint
:hasLightPoint rdf:type owl:ObjectProperty ;
               rdfs:domain :Lamppost ;
               rdfs:range :LightPoint ;
               rdfs:label "hasLightPoint"@en .


###  http://saref.linkeddata.es/def/envi#hasObservationFrequency
:hasObservationFrequency rdf:type owl:ObjectProperty ;
                         rdfs:domain :Device ;
                         rdfs:range :Frequency ;
                         rdfs:label "has observation frequency"@en .


###  http://saref.linkeddata.es/def/envi#hasTransmissionPeriod
:hasTransmissionPeriod rdf:type owl:ObjectProperty ;
                       rdfs:domain :Device ;
                       rdfs:range :Period ;
                       rdfs:label "hasTransmissionPeriod"@en .


###  http://saref.linkeddata.es/def/envi#isAccesibleThroughService
:isAccesibleThroughService rdf:type owl:ObjectProperty ,
                                    owl:FunctionalProperty ;
                           rdfs:domain :DigitalRepresentation ;
                           rdfs:range :Service ;
                           rdfs:label "is accesible through service"@en .


###  http://saref.linkeddata.es/def/envi#isComponentOf
:isComponentOf rdf:type owl:ObjectProperty ;
               rdfs:domain :System ;
               rdfs:range :System ;
               rdfs:label "isComponentOf"@en .


###  http://saref.linkeddata.es/def/envi#isConnectedToSystem
:isConnectedToSystem rdf:type owl:ObjectProperty ,
                              owl:SymmetricProperty ;
                     rdfs:domain :System ;
                     rdfs:range :System ;
                     rdfs:label "isConnectedToSystem"@en .


###  http://saref.linkeddata.es/def/envi#isProjectedFromHeight
:isProjectedFromHeight rdf:type owl:ObjectProperty ;
                       rdfs:domain :Light ;
                       rdfs:range :LightHeight ;
                       rdfs:label "isProjectedFromHeight"@en .


###  http://saref.linkeddata.es/def/envi#isProjectedInDirection
:isProjectedInDirection rdf:type owl:ObjectProperty ;
                        rdfs:domain :Light ;
                        rdfs:range :CompassDirection ;
                        rdfs:label "isProjectedInDirection"@en .


###  http://saref.linkeddata.es/def/envi#makesObservation
:makesObservation rdf:type owl:ObjectProperty ;
                  rdfs:domain :Sensor ;
                  rdfs:range :Observation ;
                  rdfs:label "makesObservation"@en .


###  http://saref.linkeddata.es/def/envi#observedProperty
:observedProperty rdf:type owl:ObjectProperty ;
                  rdfs:domain :Observation ;
                  rdfs:range saref:Property ;
                  rdfs:label "observedProperty"@en .


###  http://saref.linkeddata.es/def/envi#observesProperty
:observesProperty rdf:type owl:ObjectProperty ;
                  rdfs:domain :Sensor ;
                  rdfs:range saref:Property ;
                  rdfs:label "observesProperty"@en .


###  http://saref.linkeddata.es/def/envi#projectsLight
:projectsLight rdf:type owl:ObjectProperty ;
               rdfs:domain [ rdf:type owl:Class ;
                             owl:unionOf ( :Lamppost
                                           :LightPoint
                                         )
                           ] ;
               rdfs:range :Light ;
               rdfs:label "projectsLight"@en .


###  http://saref.linkeddata.es/def/envi#usesCommunicationInterface
:usesCommunicationInterface rdf:type owl:ObjectProperty ;
                            rdfs:domain :System ;
                            rdfs:range :CommunicationInterface ;
                            rdfs:label "uses communication interface"@en .


###  http://saref.linkeddata.es/def/envi#usesCommunicationProtocol
:usesCommunicationProtocol rdf:type owl:ObjectProperty ;
                           rdfs:domain :System ;
                           rdfs:range :CommunicationProtocol ;
                           rdfs:label "usesCommunicationProtocol"@en .


###  http://www.w3.org/2003/01/geo/wgs84_pos#location
geo:location rdf:type owl:ObjectProperty .


###  https://w3id.org/saref#isMeasuredIn
saref:isMeasuredIn rdf:type owl:ObjectProperty .


#################################################################
#    Data properties
#################################################################

###  http://saref.linkeddata.es/def/envi#creationDate
:creationDate rdf:type owl:DatatypeProperty ,
                       owl:FunctionalProperty ;
              rdfs:domain owl:Thing ;
              rdfs:range xsd:dateTime ;
              rdfs:label "creationDate"@en .


###  http://saref.linkeddata.es/def/envi#frequencyValue
:frequencyValue rdf:type owl:DatatypeProperty ;
                rdfs:domain :Frequency ;
                rdfs:range xsd:float ;
                rdfs:label "frequencyValue"@en .


###  http://saref.linkeddata.es/def/envi#hasFlash
:hasFlash rdf:type owl:DatatypeProperty ,
                   owl:FunctionalProperty ;
          rdfs:domain saref:Light ;
          rdfs:range xsd:boolean ;
          rdfs:label "hasFlash"@en .


###  http://saref.linkeddata.es/def/envi#hasIdentifier
:hasIdentifier rdf:type owl:DatatypeProperty ;
               rdfs:domain owl:Thing ;
               rdfs:range xsd:string ;
               rdfs:comment "A relationship providing the identifier of an entity (e.g., digital representation)"@en ;
               rdfs:label "has id"@en ,
                          "has identifier"@en .


###  http://saref.linkeddata.es/def/envi#hasProjectionAngle
:hasProjectionAngle rdf:type owl:DatatypeProperty ,
                             owl:FunctionalProperty ;
                    rdfs:domain saref:Light ;
                    rdfs:range xsd:float ;
                    rdfs:label "hasProjectionAngle"@en .


###  http://saref.linkeddata.es/def/envi#hasRevisionNumber
:hasRevisionNumber rdf:type owl:DatatypeProperty ;
                   rdfs:domain owl:Thing ;
                   rdfs:range rdfs:Literal ;
                   rdfs:label "hasRevisionNumber"@en .


###  http://saref.linkeddata.es/def/envi#hasShield
:hasShield rdf:type owl:DatatypeProperty ,
                    owl:FunctionalProperty ;
           rdfs:domain :Lamppost ;
           rdfs:range xsd:boolean ;
           rdfs:label "hasShield"@en .


###  http://saref.linkeddata.es/def/envi#hasTag
:hasTag rdf:type owl:DatatypeProperty ;
        rdfs:domain owl:Thing ;
        rdfs:range xsd:string ;
        rdfs:label "tag"@en .


###  http://saref.linkeddata.es/def/envi#hasVersion
:hasVersion rdf:type owl:DatatypeProperty ,
                     owl:FunctionalProperty ;
            rdfs:domain owl:Thing ;
            rdfs:range rdfs:Literal ;
            rdfs:label "hasVersion"@en .


###  http://saref.linkeddata.es/def/envi#isActionable
:isActionable rdf:type owl:DatatypeProperty ,
                       owl:FunctionalProperty ;
              rdfs:domain :Device ;
              rdfs:range xsd:boolean ;
              rdfs:label "isActionable"@en .


###  http://saref.linkeddata.es/def/envi#observationTimeStamp
:observationTimeStamp rdf:type owl:DatatypeProperty ,
                               owl:FunctionalProperty ;
                      rdfs:domain :Observation ;
                      rdfs:range xsd:dateTime ;
                      rdfs:label "observationTimeStamp"@en .


###  http://saref.linkeddata.es/def/envi#periodValue
:periodValue rdf:type owl:DatatypeProperty ,
                      owl:FunctionalProperty ;
             rdfs:domain :Period ;
             rdfs:range xsd:float ;
             rdfs:label "periodValue"@en .


###  https://w3id.org/saref#hasDescription
saref:hasDescription rdf:type owl:DatatypeProperty .


###  https://w3id.org/saref#hasManufacturer
saref:hasManufacturer rdf:type owl:DatatypeProperty ;
                      rdfs:subPropertyOf owl:topDataProperty .


###  https://w3id.org/saref#hasName
saref:hasName rdf:type owl:DatatypeProperty .


###  https://w3id.org/saref#hasValue
saref:hasValue rdf:type owl:DatatypeProperty .


#################################################################
#    Classes
#################################################################

###  http://saref.linkeddata.es/def/envi#Actuator
:Actuator rdf:type owl:Class ;
          rdfs:subClassOf :Device ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :affectsProperty ;
                            owl:allValuesFrom saref:Property
                          ] ;
          rdfs:label "Actuator"@en .


###  http://saref.linkeddata.es/def/envi#CommunicationInterface
:CommunicationInterface rdf:type owl:Class ;
                        rdfs:subClassOf [ rdf:type owl:Restriction ;
                                          owl:onProperty :hasVersion ;
                                          owl:allValuesFrom xsd:string
                                        ] ;
                        rdfs:label "CommunicationInterface"@en .


###  http://saref.linkeddata.es/def/envi#CommunicationProtocol
:CommunicationProtocol rdf:type owl:Class ;
                       rdfs:label "Communication protocol"@en .


###  http://saref.linkeddata.es/def/envi#CompassDirection
:CompassDirection rdf:type owl:Class ;
                  rdfs:label "CompassDirection"@en .


###  http://saref.linkeddata.es/def/envi#Device
:Device rdf:type owl:Class ;
        rdfs:subClassOf :System ,
                        saref:Device ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasObservationFrequency ;
                          owl:allValuesFrom :Frequency
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasTransmissionPeriod ;
                          owl:allValuesFrom :Period
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasRevisionNumber ;
                          owl:allValuesFrom xsd:string
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasVersion ;
                          owl:allValuesFrom xsd:string
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :isActionable ;
                          owl:allValuesFrom xsd:boolean
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty saref:hasManufacturer ;
                          owl:allValuesFrom xsd:string
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasRevisionNumber ;
                          owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onDataRange xsd:string
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasVersion ;
                          owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onDataRange xsd:string
                        ] ;
        rdfs:label "Device"@en .


###  http://saref.linkeddata.es/def/envi#DigitalRepresentation
:DigitalRepresentation rdf:type owl:Class ;
                       rdfs:subClassOf [ rdf:type owl:Restriction ;
                                         owl:onProperty :encapsulatesObject ;
                                         owl:allValuesFrom :PhysicalObject
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :exposesFunctionality ;
                                         owl:allValuesFrom saref:ActuatingFunction
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :isAccesibleThroughService ;
                                         owl:allValuesFrom :Service
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :creationDate ;
                                         owl:allValuesFrom xsd:dateTime
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasIdentifier ;
                                         owl:allValuesFrom xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasTag ;
                                         owl:allValuesFrom xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty saref:hasDescription ;
                                         owl:allValuesFrom xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty saref:hasName ;
                                         owl:allValuesFrom xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasIdentifier ;
                                         owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                         owl:onDataRange xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty saref:hasDescription ;
                                         owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                         owl:onDataRange xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty saref:hasName ;
                                         owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                         owl:onDataRange xsd:string
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :creationDate ;
                                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                         owl:onDataRange xsd:dateTime
                                       ] ;
                       rdfs:label "Digital representation"@en .


###  http://saref.linkeddata.es/def/envi#Frequency
:Frequency rdf:type owl:Class ;
           rdfs:subClassOf [ rdf:type owl:Restriction ;
                             owl:onProperty saref:isMeasuredIn ;
                             owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                             owl:onClass :FrequencyUnit
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :frequencyValue ;
                             owl:allValuesFrom xsd:float
                           ] ;
           rdfs:label "Frequency"@en .


###  http://saref.linkeddata.es/def/envi#FrequencyUnit
:FrequencyUnit rdf:type owl:Class ;
               rdfs:subClassOf saref:UnitOfMeasure ;
               rdfs:label "FrequencyUnit"@en .


###  http://saref.linkeddata.es/def/envi#Geometry
:Geometry rdf:type owl:Class ;
          rdfs:label "Geometry"@en .


###  http://saref.linkeddata.es/def/envi#Lamppost
:Lamppost rdf:type owl:Class ;
          rdfs:subClassOf :Device ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :hasLightPoint ;
                            owl:allValuesFrom :LightPoint
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :projectsLight ;
                            owl:allValuesFrom :Light
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :hasShield ;
                            owl:allValuesFrom xsd:boolean
                          ] ;
          rdfs:label "Lamppost"@en .


###  http://saref.linkeddata.es/def/envi#LengthUnit
:LengthUnit rdf:type owl:Class ;
            rdfs:subClassOf saref:UnitOfMeasure ;
            rdfs:label "LengthUnit"@en .


###  http://saref.linkeddata.es/def/envi#Light
:Light rdf:type owl:Class ;
       rdfs:subClassOf [ rdf:type owl:Restriction ;
                         owl:onProperty :hasLightColor ;
                         owl:allValuesFrom :LightColor
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :hasLightGeometry ;
                         owl:allValuesFrom :Geometry
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :isProjectedFromHeight ;
                         owl:allValuesFrom :LightHeight
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :isProjectedInDirection ;
                         owl:allValuesFrom :CompassDirection
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :hasFlash ;
                         owl:allValuesFrom xsd:boolean
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :hasProjectionAngle ;
                         owl:allValuesFrom xsd:float
                       ] ;
       rdfs:label "Light"@en .


###  http://saref.linkeddata.es/def/envi#LightColor
:LightColor rdf:type owl:Class ;
            rdfs:label "LightColor"@en .


###  http://saref.linkeddata.es/def/envi#LightHeight
:LightHeight rdf:type owl:Class ;
             rdfs:subClassOf [ rdf:type owl:Restriction ;
                               owl:onProperty saref:isMeasuredIn ;
                               owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass :LengthUnit
                             ] ;
             rdfs:label "LightHeight"@en .


###  http://saref.linkeddata.es/def/envi#LightPoint
:LightPoint rdf:type owl:Class ;
            rdfs:subClassOf [ rdf:type owl:Restriction ;
                              owl:onProperty :projectsLight ;
                              owl:allValuesFrom :Light
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty geo:location ;
                              owl:allValuesFrom geo:SpatialThing
                            ] ;
            rdfs:label "LightPoint"@en .


###  http://saref.linkeddata.es/def/envi#LightProperty
:LightProperty rdf:type owl:Class ;
               rdfs:subClassOf saref:Property ;
               rdfs:label "LightProperty"@en .


###  http://saref.linkeddata.es/def/envi#Observation
:Observation rdf:type owl:Class ;
             rdfs:subClassOf [ rdf:type owl:Restriction ;
                               owl:onProperty :observedProperty ;
                               owl:allValuesFrom saref:Property
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty saref:isMeasuredIn ;
                               owl:allValuesFrom saref:UnitOfMeasure
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :observedProperty ;
                               owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass saref:Property
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty saref:isMeasuredIn ;
                               owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass saref:UnitOfMeasure
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :observationTimeStamp ;
                               owl:allValuesFrom xsd:dateTime
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty saref:hasValue ;
                               owl:allValuesFrom xsd:string
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :observationTimeStamp ;
                               owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onDataRange xsd:dateTime
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty saref:hasValue ;
                               owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onDataRange xsd:string
                             ] ;
             rdfs:label "Observation"@en .


###  http://saref.linkeddata.es/def/envi#Period
:Period rdf:type owl:Class ;
        rdfs:subClassOf [ rdf:type owl:Restriction ;
                          owl:onProperty saref:isMeasuredIn ;
                          owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onClass time:TemporalUnit
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :periodValue ;
                          owl:allValuesFrom xsd:float
                        ] ;
        rdfs:label "Period"@en .


###  http://saref.linkeddata.es/def/envi#Photometer
:Photometer rdf:type owl:Class ;
            rdfs:subClassOf :Sensor ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :observesProperty ;
                              owl:someValuesFrom :LightProperty
                            ] ;
            rdfs:label "Photometer"@en .


###  http://saref.linkeddata.es/def/envi#PhysicalObject
:PhysicalObject rdf:type owl:Class ;
                rdfs:subClassOf [ rdf:type owl:Restriction ;
                                  owl:onProperty :containsDevice ;
                                  owl:allValuesFrom :Device
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :hasDigitalRepresentation ;
                                  owl:allValuesFrom :DigitalRepresentation
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty geo:location ;
                                  owl:allValuesFrom geo:SpatialThing
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty saref:hasDescription ;
                                  owl:allValuesFrom xsd:string
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty saref:hasDescription ;
                                  owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                  owl:onDataRange xsd:string
                                ] ;
                rdfs:label "Physical object"@en .


###  http://saref.linkeddata.es/def/envi#Sensor
:Sensor rdf:type owl:Class ;
        rdfs:subClassOf :Device ,
                        saref:Sensor ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :makesObservation ;
                          owl:allValuesFrom :Observation
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :observesProperty ;
                          owl:allValuesFrom saref:Property
                        ] ;
        rdfs:label "Sensor"@en .


###  http://saref.linkeddata.es/def/envi#Service
:Service rdf:type owl:Class ;
         rdfs:label "Service"@en .


###  http://saref.linkeddata.es/def/envi#System
:System rdf:type owl:Class ;
        rdfs:subClassOf :PhysicalObject ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :hasComponent ;
                          owl:allValuesFrom :System
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :isComponentOf ;
                          owl:allValuesFrom :System
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :isConnectedToSystem ;
                          owl:allValuesFrom :System
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :usesCommunicationInterface ;
                          owl:allValuesFrom :CommunicationInterface
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :usesCommunicationProtocol ;
                          owl:allValuesFrom :CommunicationProtocol
                        ] ;
        rdfs:label "System"@en .


###  http://saref.linkeddata.es/def/envi#TESS
:TESS rdf:type owl:Class ;
      rdfs:subClassOf :Photometer ;
      rdfs:label "TESS (Telescope Encoder and Sky Sensor)"@en .


###  http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing
geo:SpatialThing rdf:type owl:Class .


###  http://www.w3.org/2006/time#TemporalUnit
time:TemporalUnit rdf:type owl:Class .


###  https://w3id.org/saref#ActuatingFunction
saref:ActuatingFunction rdf:type owl:Class .


###  https://w3id.org/saref#Device
saref:Device rdf:type owl:Class .


###  https://w3id.org/saref#Light
saref:Light rdf:type owl:Class .


###  https://w3id.org/saref#Property
saref:Property rdf:type owl:Class .


###  https://w3id.org/saref#Sensor
saref:Sensor rdf:type owl:Class .


###  https://w3id.org/saref#UnitOfMeasure
saref:UnitOfMeasure rdf:type owl:Class .


#################################################################
#    Individuals
#################################################################

###  http://saref.linkeddata.es/def/envi#fluorescence
:fluorescence rdf:type owl:NamedIndividual ,
                       :LightProperty ;
              rdfs:label "fluorescence"@en .


###  http://saref.linkeddata.es/def/envi#illuminance
:illuminance rdf:type owl:NamedIndividual ,
                      :LightProperty ;
             rdfs:label "illuminance"@en .


###  http://saref.linkeddata.es/def/envi#irradiance
:irradiance rdf:type owl:NamedIndividual ,
                     :LightProperty ;
            rdfs:label "irradiance"@en .


###  http://saref.linkeddata.es/def/envi#lightAbsorption
:lightAbsorption rdf:type owl:NamedIndividual ,
                          :LightProperty ;
                 rdfs:label "lightAbsorption"@en .


###  http://saref.linkeddata.es/def/envi#lightMagnitude
:lightMagnitude rdf:type owl:NamedIndividual ,
                         :LightProperty ;
                rdfs:label "light magnitude"@en .


###  http://saref.linkeddata.es/def/envi#luminiscence
:luminiscence rdf:type owl:NamedIndividual ,
                       :LightProperty ;
              rdfs:label "luminiscence"@en .


###  http://saref.linkeddata.es/def/envi#phosphorescence
:phosphorescence rdf:type owl:NamedIndividual ,
                          :LightProperty ;
                 rdfs:label "phosphorescence"@en .


###  http://saref.linkeddata.es/def/envi#reflectionOfLight
:reflectionOfLight rdf:type owl:NamedIndividual ,
                            :LightProperty ;
                   rdfs:label "reflectionOfLight"@en .


###  http://saref.linkeddata.es/def/envi#scatteringOfLight
:scatteringOfLight rdf:type owl:NamedIndividual ,
                            :LightProperty ;
                   rdfs:label "scatteringOfLight"@en .


###  http://www.wurvoc.org/vocabularies/om-1.8/centimetre
<http://www.wurvoc.org/vocabularies/om-1.8/centimetre> rdf:type owl:NamedIndividual ,
                                                                :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/decametre
<http://www.wurvoc.org/vocabularies/om-1.8/decametre> rdf:type owl:NamedIndividual ,
                                                               :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/decimetre
<http://www.wurvoc.org/vocabularies/om-1.8/decimetre> rdf:type owl:NamedIndividual ,
                                                               :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/hectometre
<http://www.wurvoc.org/vocabularies/om-1.8/hectometre> rdf:type owl:NamedIndividual ,
                                                                :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/hertz
<http://www.wurvoc.org/vocabularies/om-1.8/hertz> rdf:type owl:NamedIndividual ,
                                                           :FrequencyUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/kilometre
<http://www.wurvoc.org/vocabularies/om-1.8/kilometre> rdf:type owl:NamedIndividual ,
                                                               :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/metre
<http://www.wurvoc.org/vocabularies/om-1.8/metre> rdf:type owl:NamedIndividual ,
                                                           :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/millimetre
<http://www.wurvoc.org/vocabularies/om-1.8/millimetre> rdf:type owl:NamedIndividual ,
                                                                :LengthUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day
<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day> rdf:type owl:NamedIndividual ,
                                                                    :FrequencyUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour
<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour> rdf:type owl:NamedIndividual ,
                                                                     :FrequencyUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time
<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time> rdf:type owl:NamedIndividual ,
                                                                            :FrequencyUnit .


###  http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year
<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year> rdf:type owl:NamedIndividual ,
                                                                     :FrequencyUnit .


###  Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi
