PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX s4wear: <https://saref.etsi.org/saref4wear/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<https://saref.etsi.org/core/Function> a rdfs:Class .

s4wear:Interface a rdfs:Class ;
  rdfs:label "Interface"@en ;
  rdfs:comment "An interface is the mechanism with which a device can receive or transmit data to another device."@en .

s4wear:EnvironmentProperty a rdfs:Class ;
  rdfs:label "Environment property"@en ;
  rdfs:comment "Class to group those properties related to environment."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4wear:LivingOrganism a rdfs:Class ;
  rdfs:label "Living organism"@en ;
  rdfs:comment "A living organism is any entity composed of cells."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , <https://saref.etsi.org/core/FeatureOfInterest> .

s4wear:meansOfTransport a rdf:Property ;
  rdfs:label "means of transport"@en ;
  rdfs:comment "A relationship stating the means of transport on which the wearable is operating."@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range xsd:string .

<http://purl.org/vocommons/voaf#Vocabulary> a rdfs:Class .

<http://schema.org/Person> a rdfs:Class .

<https://saref.etsi.org/core/Sensor> a rdfs:Class .

s4wear:User a rdfs:Class ;
  rdfs:label "User"@en ;
  rdfs:comment "A user is an entity using a wearable."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

s4wear:interactsWith a rdf:Property ;
  rdfs:label "interacts with"@en ;
  rdfs:comment "A relationship specifying the interaction between a user and a device."@en ;
  rdfs:domain s4wear:User ;
  rdfs:range <https://saref.etsi.org/core/Device> .

s4wear:ElectricalSafetyProperty a rdfs:Class ;
  rdfs:label "Electrical safety property"@en ;
  rdfs:comment "Class to group those electrical safety properties related to wearables."@en ;
  rdfs:subClassOf s4wear:WearableProperty .

s4wear:NotifyingFunction a rdfs:Class ;
  rdfs:label "Notifying function"@en ;
  rdfs:comment "A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Function> .

s4wear:FabricWearable a rdfs:Class ;
  rdfs:label "Fabric wearable"@en ;
  rdfs:comment "A fabric wearable is a fabric integrating the sensors directly into its fibers."@en ;
  rdfs:subClassOf s4wear:TextileBasedWearable .

s4wear:isLocatedOn a rdf:Property ;
  rdfs:label "is located on"@en ;
  rdfs:comment "A relationship specifying the location of a wearer with respect to an on-body wearable."@en ;
  rdfs:domain s4wear:OnBodyWearable ;
  rdfs:range s4wear:Wearer ;
  rdfs:subPropertyOf s4wear:isLocated .

<http://www.opengis.net/ont/geosparql#Feature> a rdfs:Class ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

s4wear:InBodyWearable a rdfs:Class ;
  rdfs:label "In-body wearable"@en ;
  rdfs:comment "An in-body wearable is a wearable located inside a physical body."@en .

s4wear:isLocatedIn a rdf:Property ;
  rdfs:label "is located in"@en ;
  rdfs:comment "A relationship specifying the location of a wearer with respect to an in-body wearable."@en ;
  rdfs:domain s4wear:InBodyWearable ;
  rdfs:range s4wear:Wearer ;
  rdfs:subPropertyOf s4wear:isLocated .

s4wear:NavigatingFunction a rdfs:Class ;
  rdfs:label "Navigating function"@en ;
  rdfs:comment "A function that allows a device to provide navigation information."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Function> .

s4wear:Software a rdfs:Class ;
  rdfs:label "Software"@en ;
  rdfs:comment "A software is a computer program."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

<https://saref.etsi.org/saref4city/Event> a rdfs:Class ;
  rdfs:subClassOf s4wear:Occurrence .

s4wear:isDetectedBy a rdf:Property ;
  rdfs:label "is detected by"@en ;
  rdfs:comment "Defines the relationship between an occurrence and the device detecting it."@en ;
  rdfs:domain s4wear:Occurrence ;
  rdfs:range <https://saref.etsi.org/core/Device> .

s4wear:takesPlaceAt a rdf:Property ;
  rdfs:label "takes place at"@en ;
  rdfs:comment "The place where an occurrence takes place."@en ;
  rdfs:range <http://www.opengis.net/ont/geosparql#Feature> .

s4wear:TextileBasedWearable a rdfs:Class ;
  rdfs:label "Textile-based wearable"@en ;
  rdfs:comment "A textile-based wearable is a wearable directly integrated into a textile artifact."@en ;
  rdfs:subClassOf s4wear:OnBodyWearable .

s4wear:Occurrence a rdfs:Class ;
  rdfs:label "Occurrence"@en ;
  rdfs:comment "An occurrence is the fact of something existing or being found in a place."@en .

<https://saref.etsi.org/core/Device> a rdfs:Class .

s4wear:hasInterface a rdf:Property ;
  rdfs:label "has interface"@en ;
  rdfs:comment "A relationship specifying the interface with which a device is equipped."@en ;
  rdfs:domain <https://saref.etsi.org/core/Device> ;
  rdfs:range s4wear:Interface .

s4wear:hasPowerSupply a rdf:Property ;
  rdfs:label "has power supply"@en ;
  rdfs:comment "A relationship specifying the type of power supply equipping a device."@en ;
  rdfs:domain <https://saref.etsi.org/core/Device> ;
  rdfs:range s4wear:PowerSupply .

s4wear:monitors a rdf:Property ;
  rdfs:label "monitors"@en ;
  rdfs:comment "A relationship specifying the monitoring activity of a device on another device."@en ;
  rdfs:domain <https://saref.etsi.org/core/Device> ;
  rdfs:range <https://saref.etsi.org/core/Device> .

s4wear:OnBodyWearable a rdfs:Class ;
  rdfs:label "On-body wearable"@en ;
  rdfs:comment "An on-body wearable is a wearable having a direct contact with a physical body."@en .

<http://www.opengis.net/ont/geosparql#SpatialObject> a rdfs:Class .

<https://saref.etsi.org/saref4city/Facility> a rdfs:Class .

s4wear:installs a rdf:Property ;
  rdfs:label "installs"@en ;
  rdfs:comment "A relationship specifying in which facility a device has been installed."@en ;
  rdfs:domain <https://saref.etsi.org/saref4city/Facility> ;
  rdfs:range <https://saref.etsi.org/core/Device> .

s4wear:hasCapacity a rdf:Property ;
  rdfs:label "has capacity"@en ;
  rdfs:comment "A relationship defining the capacity of a facility."@en ;
  rdfs:domain <https://saref.etsi.org/saref4city/Facility> ;
  rdfs:range xsd:long .

s4wear:WearableDevice a rdfs:Class ;
  rdfs:label "Wearable device"@en ;
  rdfs:comment "A wearable device is a device that is intended to be located near, on or in an organism."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , <https://saref.etsi.org/core/Device> .

s4wear:sendsInformationTo a rdf:Property ;
  rdfs:label "sends information to"@en ;
  rdfs:comment "A relationship specifying the sending information operation between two wearables."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range s4wear:WearableDevice ;
  rdfs:subPropertyOf <https://saref.etsi.org/saref4syst/connectedTo> .

s4wear:followsPolicy a rdf:Property ;
  rdfs:label "follows policy"@en ;
  rdfs:comment "A relationship specifying the policy followed by a wearable device."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range s4wear:Policy .

s4wear:hasHeight a rdf:Property ;
  rdfs:label "has height"@en ;
  rdfs:comment "A relationship defining the height dimension of a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4wear:sendsNotificationsTo a rdf:Property ;
  rdfs:label "sends notifications to"@en ;
  rdfs:comment "A relationship specifying the sending notification operation between two wearables."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range s4wear:Wearer ;
  rdfs:subPropertyOf <https://saref.etsi.org/saref4syst/connectedTo> .

s4wear:isLocated a rdf:Property ;
  rdfs:label "is located"@en ;
  rdfs:comment "A relationship specifying the location of a wearer with respect to a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range s4wear:Wearer .

<https://saref.etsi.org/core/hasProperty> a rdf:Property ;
  rdfs:range s4wear:WearableProperty , s4wear:WearerProperty .

s4wear:hasWeight a rdf:Property ;
  rdfs:label "has weight"@en ;
  rdfs:comment "A relationship defining the weight of a wearable device."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4wear:hasLength a rdf:Property ;
  rdfs:label "has length"@en ;
  rdfs:comment "A relationship defining the length dimension of a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4wear:hasOperatingTemperature a rdf:Property ;
  rdfs:label "has height"@en ;
  rdfs:comment "It specifies the length dimension of a given Wearable device."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4wear:hasDataTransmissionRate a rdf:Property ;
  rdfs:label "has data transmission rate"@en ;
  rdfs:comment "A relationship defining the data transmission rate of a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range xsd:double .

s4wear:hasStorage a rdf:Property ;
  rdfs:label "has storage"@en ;
  rdfs:comment "A relationship defining the storage capacity of a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range xsd:double .

s4wear:hasWidth a rdf:Property ;
  rdfs:label "has width"@en ;
  rdfs:comment "A relationship defining the width dimension of a wearable."@en ;
  rdfs:domain s4wear:WearableDevice ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4wear:Policy a rdfs:Class ;
  rdfs:label "Policy"@en ;
  rdfs:comment "A policy is a set of guidelines adopted during the wearable building process and defining how a wearables operates."@en .

s4wear:Wearer a rdfs:Class ;
  rdfs:label "Wearer"@en ;
  rdfs:comment "A wearer is any living organism that is sensed by a wearable."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

s4wear:wearerStatus a rdf:Property ;
  rdfs:label "wearer status"@en ;
  rdfs:comment "A relationship defining the status of a wearer."@en ;
  rdfs:domain s4wear:Wearer ;
  rdfs:range xsd:string .

s4wear:wearerAgeRange a rdf:Property ;
  rdfs:label "wearer age range"@en ;
  rdfs:comment "A relationship stating the age range of a wearer."@en ;
  rdfs:domain s4wear:Wearer ;
  rdfs:range xsd:string .

<https://saref.etsi.org/core/isObservedBy> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4wear:MemoryStorage a rdfs:Class ;
  rdfs:label "Memory storage"@en ;
  rdfs:comment "A memory storage is an hardware component intended to store data within the device."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

<http://schema.org/Organization> a rdfs:Class .

s4wear:NearBodyWearable a rdfs:Class ;
  rdfs:label "Near-body wearable"@en ;
  rdfs:comment "A near-body wearable is a wearable located near a physical body."@en .

s4wear:isLocatedNear a rdf:Property ;
  rdfs:label "is located near"@en ;
  rdfs:comment "A relationship specifying the location of a wearer with respect to an near-body wearable."@en ;
  rdfs:domain s4wear:NearBodyWearable ;
  rdfs:range s4wear:Wearer ;
  rdfs:subPropertyOf s4wear:isLocated .

s4wear:CommunicatingFunction a rdfs:Class ;
  rdfs:label "Communicating function"@en ;
  rdfs:comment "A function that allows a device to communicate with another device."@en ;
  rdfs:subClassOf s4wear:NotifyingFunction .

s4wear:WearableProperty a rdfs:Class ;
  rdfs:label "Wearable property"@en ;
  rdfs:comment "Class to group those properties related to wearables."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

s4wear:TextileBasedSensor a rdfs:Class ;
  rdfs:label "Textile-based sensor"@en ;
  rdfs:comment "A textile-based sensor is a sensor directly integrated into a textile artifact."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Sensor> .

s4wear:WearerProperty a rdfs:Class ;
  rdfs:label "Wearer property"@en ;
  rdfs:comment "Class to group those properties related to wearers."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/Property> a rdfs:Class .

<https://saref.etsi.org/core/FeatureOfInterest> a rdfs:Class .

s4wear:PowerSupply a rdfs:Class ;
  rdfs:label "Power supply"@en ;
  rdfs:comment "A power supply is an hardware component intended to plug a device to a power grid."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

s4wear:ControllingFunction a rdfs:Class ;
  rdfs:label "Controlling function"@en ;
  rdfs:comment "A function that allows to control a device from another device."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Function> .

<https://saref.etsi.org/saref4syst/connectedTo> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4wear:BiometricProperty a rdfs:Class ;
  rdfs:label "Biometric property"@en ;
  rdfs:comment "Class to group those properties related to the biometric characteristics of wearers."@en ;
  rdfs:subClassOf s4wear:WearerProperty .

s4wear:WearerTemperature a s4wear:BiometricProperty ;
  rdfs:label "Wearer temperature"@en ;
  rdfs:comment "The temperature of the wearer."@en .

s4wear:HeartRate a s4wear:BiometricProperty ;
  rdfs:label "Heart rate"@en ;
  rdfs:comment "The heart rate of the wearer."@en .

s4wear:ElectricalProperty a rdfs:Class ;
  rdfs:label "Electrical property"@en ;
  rdfs:comment "Class to group those electrical properties related to wearables."@en ;
  rdfs:subClassOf s4wear:WearableProperty .

s4wear:BatteryRemainingTime a s4wear:ElectricalProperty ;
  rdfs:label "Battery remaining time"@en ;
  rdfs:comment "The time until the battery of the wearable is discharged."@en .

s4wear:EmissionProperty a rdfs:Class ;
  rdfs:label "Emission property"@en ;
  rdfs:comment "Class to group those emission properties related to wearables."@en ;
  rdfs:subClassOf s4wear:WearableProperty .

s4wear:RadioFrequencyEmission a s4wear:EmissionProperty ;
  rdfs:label "Radio frequency emission"@en ;
  rdfs:comment "The radio frequency emission of the wearable."@en .

s4wear:HeatEmission a s4wear:EmissionProperty ;
  rdfs:label "Heat emission"@en ;
  rdfs:comment "The heat emission of the wearable."@en .

s4wear:AcousticEmission a s4wear:EmissionProperty ;
  rdfs:label "Acoustic emission"@en ;
  rdfs:comment "The acoustic emission of the wearable."@en .

s4wear:EnvironmentalProperty a rdfs:Class ;
  rdfs:label "Environmental property"@en ;
  rdfs:comment "Class to group those properties related to the environment of a wearer."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4wear:SoundLevel a s4wear:EnvironmentalProperty ;
  rdfs:label "Sound level"@en ;
  rdfs:comment "The level of sound in the environment."@en .

s4wear:Temperature a s4wear:EnvironmentalProperty ;
  rdfs:label "Temperature"@en ;
  rdfs:comment "The temperature of the environment."@en .

s4wear:AirQuality a s4wear:EnvironmentalProperty ;
  rdfs:label "Air quality"@en ;
  rdfs:comment "The quality of air in the environment."@en .

s4wear:CrowdProperty a rdfs:Class ;
  rdfs:label "Crowd property"@en ;
  rdfs:comment "Class to group those properties related to crowds."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4wear:CrowdSize a s4wear:CrowdProperty ;
  rdfs:label "Crowd size"@en ;
  rdfs:comment "The size of a crowd."@en .

s4wear:QueueSize a s4wear:CrowdProperty ;
  rdfs:label "Queue size"@en ;
  rdfs:comment "The size of a queue."@en .
