@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s4syst: <https://saref.etsi.org/saref4syst/> .
@prefix schema: <http://schema.org/> .
@prefix s4city: <https://saref.etsi.org/saref4city/> .
@prefix voaf: <http://purl.org/vocommons/voaf#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix saref: <https://saref.etsi.org/core/> .
@prefix s4wear: <https://saref.etsi.org/saref4wear/> .
@prefix j.0: <http://www.w3.org/XML/1998/namespace/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix ssn-system: <http://www.w3.org/ns/ssn/systems/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dcterms:contributor
    a owl:AnnotationProperty .

dcterms:created
    a owl:AnnotationProperty .

dcterms:creator
    a owl:AnnotationProperty .

dcterms:description
    a owl:AnnotationProperty .

dcterms:issued
    a owl:AnnotationProperty .

dcterms:license
    a owl:AnnotationProperty .

dcterms:modified
    a owl:AnnotationProperty .

dcterms:publisher
    a owl:AnnotationProperty .

dcterms:source
    a owl:AnnotationProperty .

dcterms:title
    a owl:AnnotationProperty .

vann:preferredNamespacePrefix
    a owl:AnnotationProperty .

vann:preferredNamespaceUri
    a owl:AnnotationProperty .

voaf:Vocabulary
    a owl:Class .

schema:Organization
    a owl:Class .

schema:Person
    a owl:Class .

schema:affiliation
    a owl:AnnotationProperty .

schema:familyName
    a owl:AnnotationProperty .

schema:givenName
    a owl:AnnotationProperty .

schema:name
    a owl:AnnotationProperty .

<http://www.garcia-castro.com/foaf.rdf#me>
    schema:affiliation <https://www.upm.es/> ;
    schema:familyName "García-Castro" ;
    schema:givenName "Raúl" ;
    a schema:Person, owl:NamedIndividual ;
    rdfs:comment "Raul Garcia Castro"@en ;
    rdfs:label "Raul Garcia Castro"@en .

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

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

s4city:Event
    a owl:Class ;
    rdfs:subClassOf s4wear:Occurrence .

<https://saref.etsi.org/saref4wear/>
    dcterms:created "2019-01-01"^^xsd:date ;
    dcterms:creator <http://www.garcia-castro.com/foaf.rdf#me>, <https://www.linkedin.com/in/maurodragoni/MauroDragoni> ;
    dcterms:description "SAREF4WEAR is an extension of SAREF for the Wearables domain"@en ;
    dcterms:issued "2025-05-22"^^xsd:date ;
    dcterms:license <https://forge.etsi.org/etsi-software-license> ;
    dcterms:modified "2025-05-22"^^xsd:date ;
    dcterms:publisher <https://www.etsi.org/> ;
    dcterms:source <https://saref.etsi.org/sources/saref4wear/> ;
    dcterms:title "SAREF4WEAR: an extension of SAREF for the Wearables domain"@en ;
    vann:preferredNamespacePrefix "s4wear" ;
    vann:preferredNamespaceUri "https://saref.etsi.org/saref4wear/" ;
    a owl:Ontology ;
    rdfs:seeAlso <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341009/02.01.01_60/ts_10341009v020101p.pdf> ;
    owl:imports <https://saref.etsi.org/core/v4.1.1/>, <https://saref.etsi.org/saref4city/v2.1.1/>, <https://saref.etsi.org/saref4syst/v1.1.2/> ;
    owl:priorVersion <https://saref.etsi.org/saref4wear/v1.1.1/> ;
    owl:versionIRI <https://saref.etsi.org/saref4wear/v2.1.1/> ;
    owl:versionInfo "v2.1.1" .

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

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

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

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

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

s4wear:ControllingFunction
    a owl:Class ;
    rdfs:comment "A function that allows to control a device from another device."@en ;
    rdfs:label "Controlling function"@en ;
    rdfs:subClassOf saref:Function .

s4wear:CrowdProperty
    a owl:Class ;
    rdfs:comment "Class to group those properties related to crowds."@en ;
    rdfs:label "Crowd property"@en ;
    rdfs:subClassOf saref:Property .

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

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

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

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

s4wear:EnvironmentProperty
    a owl:Class ;
    rdfs:comment "Class to group those properties related to environment."@en ;
    rdfs:label "Environment property"@en ;
    rdfs:subClassOf saref:Property .

s4wear:EnvironmentalProperty
    a owl:Class ;
    rdfs:comment "Class to group those properties related to the environment of a wearer."@en ;
    rdfs:label "Environmental property"@en ;
    rdfs:subClassOf saref:Property .

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

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

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

s4wear:InBodyWearable
    a owl:Class ;
    rdfs:comment "An in-body wearable is a wearable located inside a physical body."@en ;
    rdfs:label "In-body wearable"@en ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:intersectionOf (s4wear:WearableDevice
            [
                a owl:Restriction ;
                owl:onProperty s4wear:isLocatedIn ;
                owl:someValuesFrom s4wear:Wearer
            ]
        )
    ] .

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

s4wear:LivingOrganism
    a owl:Class ;
    rdfs:comment "A living organism is any entity composed of cells."@en ;
    rdfs:label "Living organism"@en ;
    rdfs:subClassOf geo:Feature, saref:FeatureOfInterest .

s4wear:MemoryStorage
    a owl:Class ;
    rdfs:comment "A memory storage is an hardware component intended to store data within the device."@en ;
    rdfs:label "Memory storage"@en ;
    rdfs:subClassOf saref:Device .

s4wear:NavigatingFunction
    a owl:Class ;
    rdfs:comment "A function that allows a device to provide navigation information."@en ;
    rdfs:label "Navigating function"@en ;
    rdfs:subClassOf saref:Function .

s4wear:NearBodyWearable
    a owl:Class ;
    rdfs:comment "A near-body wearable is a wearable located near a physical body."@en ;
    rdfs:label "Near-body wearable"@en ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:intersectionOf (s4wear:WearableDevice
            [
                a owl:Restriction ;
                owl:onProperty s4wear:isLocatedNear ;
                owl:someValuesFrom s4wear:Wearer
            ]
        )
    ] .

s4wear:NotifyingFunction
    a owl:Class ;
    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:label "Notifying function"@en ;
    rdfs:subClassOf saref:Function .

s4wear:Occurrence
    a owl:Class ;
    rdfs:comment "An occurrence is the fact of something existing or being found in a place."@en ;
    rdfs:label "Occurrence"@en ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom geo:Feature ;
        owl:onProperty s4wear:takesPlaceAt
    ] .

s4wear:OnBodyWearable
    a owl:Class ;
    rdfs:comment "An on-body wearable is a wearable having a direct contact with a physical body."@en ;
    rdfs:label "On-body wearable"@en ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:intersectionOf (s4wear:WearableDevice
            [
                a owl:Restriction ;
                owl:onProperty s4wear:isLocatedOn ;
                owl:someValuesFrom s4wear:Wearer
            ]
        )
    ] .

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

s4wear:PowerSupply
    a owl:Class ;
    rdfs:comment "A power supply is an hardware component intended to plug a device to a power grid."@en ;
    rdfs:label "Power supply"@en ;
    rdfs:subClassOf saref:Device .

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

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

s4wear:Software
    a owl:Class ;
    rdfs:comment "A software is a computer program."@en ;
    rdfs:label "Software"@en ;
    rdfs:subClassOf saref:FeatureOfInterest .

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

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

s4wear:TextileBasedSensor
    a owl:Class ;
    rdfs:comment "A textile-based sensor is a sensor directly integrated into a textile artifact."@en ;
    rdfs:label "Textile-based sensor"@en ;
    rdfs:subClassOf saref:Sensor .

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

s4wear:User
    a owl:Class ;
    rdfs:comment "A user is an entity using a wearable."@en ;
    rdfs:label "User"@en ;
    rdfs:subClassOf saref:FeatureOfInterest .

s4wear:WearableDevice
    a owl:Class ;
    rdfs:comment "A wearable device is a device that is intended to be located near, on or in an organism."@en ;
    rdfs:label "Wearable device"@en ;
    rdfs:subClassOf geo:Feature, saref:Device, [
        a owl:Restriction ;
        owl:allValuesFrom s4wear:WearableProperty ;
        owl:onProperty saref:hasProperty
    ] .

s4wear:WearableProperty
    a owl:Class ;
    rdfs:comment "Class to group those properties related to wearables."@en ;
    rdfs:label "Wearable property"@en ;
    rdfs:subClassOf saref:Property .

s4wear:Wearer
    a owl:Class ;
    rdfs:comment "A wearer is any living organism that is sensed by a wearable."@en ;
    rdfs:label "Wearer"@en ;
    rdfs:subClassOf geo:SpatialObject, [
        a owl:Restriction ;
        owl:allValuesFrom s4wear:WearerProperty ;
        owl:onProperty saref:hasProperty
    ], [
        a owl:Class ;
        owl:intersectionOf (s4wear:LivingOrganism
            [
                a owl:Restriction ;
                owl:onProperty saref:isObservedBy ;
                owl:someValuesFrom s4wear:WearableDevice
            ]
        )
    ] .

s4wear:WearerProperty
    a owl:Class ;
    rdfs:comment "Class to group those properties related to wearers."@en ;
    rdfs:label "Wearer property"@en ;
    rdfs:subClassOf saref:Property .

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

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

s4wear:hasCapacity
    a owl:DatatypeProperty ;
    rdfs:comment "A relationship defining the capacity of a facility."@en ;
    rdfs:domain s4city:Facility ;
    rdfs:label "has capacity"@en ;
    rdfs:range xsd:long .

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

s4wear:hasHeight
    a owl:ObjectProperty ;
    rdfs:comment "A relationship defining the height dimension of a wearable."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "has height"@en ;
    rdfs:range saref:Property .

s4wear:hasInterface
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the interface with which a device is equipped."@en ;
    rdfs:domain saref:Device ;
    rdfs:label "has interface"@en ;
    rdfs:range s4wear:Interface .

s4wear:hasLength
    a owl:ObjectProperty ;
    rdfs:comment "A relationship defining the length dimension of a wearable."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "has length"@en ;
    rdfs:range saref:Property .

s4wear:hasOperatingTemperature
    a owl:ObjectProperty ;
    rdfs:comment "It specifies the length dimension of a given Wearable device."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "has height"@en ;
    rdfs:range saref:Property .

s4wear:hasPowerSupply
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the type of power supply equipping a device."@en ;
    rdfs:domain saref:Device ;
    rdfs:label "has power supply"@en ;
    rdfs:range s4wear:PowerSupply .

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

s4wear:hasWeight
    a owl:ObjectProperty ;
    rdfs:comment "A relationship defining the weight of a wearable device."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "has weight"@en ;
    rdfs:range saref:Property .

s4wear:hasWidth
    a owl:ObjectProperty ;
    rdfs:comment "A relationship defining the width dimension of a wearable."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "has width"@en ;
    rdfs:range saref:Property .

s4wear:installs
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying in which facility a device has been installed."@en ;
    rdfs:domain s4city:Facility ;
    rdfs:label "installs"@en ;
    rdfs:range saref:Device .

s4wear:interactsWith
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the interaction between a user and a device."@en ;
    rdfs:domain s4wear:User ;
    rdfs:label "interacts with"@en ;
    rdfs:range saref:Device .

s4wear:isDetectedBy
    a owl:ObjectProperty ;
    rdfs:comment "Defines the relationship between an occurrence and the device detecting it." ;
    rdfs:domain s4wear:Occurrence ;
    rdfs:label "is detected by"@en ;
    rdfs:range saref:Device .

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

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

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

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

s4wear:meansOfTransport
    a owl:DatatypeProperty ;
    rdfs:comment "A relationship stating the means of transport on which the wearable is operating."@en ;
    rdfs:domain saref:FeatureOfInterest ;
    rdfs:label "means of transport"@en ;
    rdfs:range xsd:string .

s4wear:monitors
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the monitoring activity of a device on another device."@en ;
    rdfs:domain saref:Device ;
    rdfs:label "monitors"@en ;
    rdfs:range saref:Device .

s4wear:sendsInformationTo
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the sending information operation between two wearables."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "sends information to"@en ;
    rdfs:range s4wear:WearableDevice ;
    rdfs:subPropertyOf s4syst:connectedTo .

s4wear:sendsNotificationsTo
    a owl:ObjectProperty ;
    rdfs:comment "A relationship specifying the sending notification operation between two wearables."@en ;
    rdfs:domain s4wear:WearableDevice ;
    rdfs:label "sends notifications to"@en ;
    rdfs:range s4wear:Wearer ;
    rdfs:subPropertyOf s4syst:connectedTo .

s4wear:takesPlaceAt
    a owl:ObjectProperty ;
    rdfs:comment "The place where an occurrence takes place."@en ;
    rdfs:label "takes place at"@en .

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

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

<https://www.fbk.eu/>
    schema:name "Fondazione Bruno Kessler" ;
    a schema:Organization, owl:NamedIndividual ;
    rdfs:comment "Fondazione Bruno Kessler"@en ;
    rdfs:label "Fondazione Bruno Kessler"@en .

<https://www.linkedin.com/in/maurodragoni/MauroDragoni>
    schema:affiliation <https://www.fbk.eu/> ;
    schema:familyName "Dragoni" ;
    schema:givenName "Mauro" ;
    a schema:Person, owl:NamedIndividual ;
    rdfs:comment "Mauro Dragoni"@en ;
    rdfs:label "Mauro Dragoni"@en .

<https://www.upm.es/>
    schema:name "Universidad Politécnica de Madrid" ;
    a schema:Organization, owl:NamedIndividual ;
    rdfs:comment "Universidad Politécnica de Madrid"@en ;
    rdfs:label "Universidad Politécnica de Madrid"@en .

