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

s4ehaw:CommunicationNetwork a rdfs:Class ;
  rdfs:label "Communication Network"@en ;
  rdfs:comment "A communication network."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> , <https://saref.etsi.org/saref4syst/Connection> .

s4ehaw:hasGateway a rdf:Property ;
  rdfs:label "has gateway"@en ;
  rdfs:comment "Links a communication network to its gateway, the communication interface of a device."@en ;
  rdfs:domain s4ehaw:CommunicationNetwork ;
  rdfs:range s4ehaw:CommunicationInterface ;
  rdfs:subPropertyOf <https://saref.etsi.org/saref4syst/connectsSystem> .

s4ehaw:NocturnalActivity a rdfs:Class ;
  rdfs:label "Nocturnal activity"@en ;
  rdfs:comment "The patient/user activities that occur during the night."@en ;
  rdfs:subClassOf s4ehaw:Activity .

s4ehaw:activityDuration a rdf:Property ;
  rdfs:label "activity duration"@en ;
  rdfs:comment "The duration of an activity, in second."@en ;
  rdfs:domain s4ehaw:Activity ;
  rdfs:range xsd:float .

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

s4ehaw:Caregiver a rdfs:Class ;
  rdfs:label "Caregiver"@en ;
  rdfs:comment "The class of caregivers."@en ;
  rdfs:subClassOf s4ehaw:HealthActor .

s4ehaw:firstName a rdf:Property ;
  rdfs:label "first name"@en ;
  rdfs:comment "The first name of a health actor."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range xsd:string .

s4ehaw:usesBan a rdf:Property ;
  rdfs:label "uses ban"@en ;
  rdfs:comment "A health actor (e.g. a caregiver, a patient or a helper) uses a BAN for collecting, aggregating and relaying vital parameters."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range s4ehaw:Ban .

s4ehaw:dob a rdf:Property ;
  rdfs:label "date of birth"@en ;
  rdfs:comment "The date of birth of a health actor."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range xsd:dateTime .

s4ehaw:hasMbox a rdf:Property ;
  rdfs:label "has mbox"@en ;
  rdfs:comment "An email address (or mail box) of an health actor: a URI with the 'mailto' scheme as defined by RFC 6068."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range xsd:anyURI .

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

s4ehaw:lastName a rdf:Property ;
  rdfs:label "last name"@en ;
  rdfs:comment "The familly name of a health actor."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range xsd:string .

s4ehaw:phone a rdf:Property ;
  rdfs:label "phone"@en ;
  rdfs:comment "The phone number of a health actor, in international format."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range xsd:string .

s4ehaw:hasPatient a rdf:Property ;
  rdfs:label "has patient"@en ;
  rdfs:comment "A caregiver may have one or multiple patients."@en ;
  rdfs:domain s4ehaw:Caregiver ;
  rdfs:range s4ehaw:Patient .

s4ehaw:hasActivity a rdf:Property ;
  rdfs:label "has activity"@en ;
  rdfs:comment "A health actor may have one or multiple activities."@en ;
  rdfs:domain s4ehaw:HealthActor ;
  rdfs:range s4ehaw:Activity .

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

s4ehaw:hasPrecondition a rdf:Property ;
  rdfs:label "has precondition"@en ;
  rdfs:comment "Links a command or operation to the conditions that are imposed over its inputs to be successufully invoked."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4ehaw:hasEffect a rdf:Property ;
  rdfs:label "has effect"@en ;
  rdfs:comment "Links a command or operation to the effect of invoking it. Can be an alert, nothing, an activation of another process..."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/saref4wear/WearableDevice> a rdfs:Class .

<https://saref.etsi.org/saref4syst/Connection> a rdfs:Class .

s4ehaw:HealthActor a rdfs:Class ;
  rdfs:label "Health actor"@en ;
  rdfs:comment "The eHealth actors like e.g. caregivers, patients, users, helpers..."@en ;
  rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> .

s4ehaw:CommunicationProtocol a rdfs:Class ;
  rdfs:label "Communication protocol"@en ;
  rdfs:comment "A communication protocol, e.g. BLE, serial, Ethernet..."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureKind> , <https://saref.etsi.org/saref4syst/Connection> .

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

s4ehaw:HealthSensor a rdfs:Class ;
  rdfs:label "Health sensor"@en ;
  rdfs:comment "Health-related Sensor, sub-class of SAREF Sensor."@en ;
  rdfs:subClassOf s4ehaw:HealthDevice , <https://saref.etsi.org/core/Sensor> .

s4ehaw:serialNb a rdf:Property ;
  rdfs:label "serial number"@en ;
  rdfs:comment "The serial number of a health device."@en ;
  rdfs:domain s4ehaw:HealthDevice ;
  rdfs:range xsd:string .

s4ehaw:isAttachedTo a rdf:Property ;
  rdfs:label "is attached to"@en ;
  rdfs:comment "A health Device is attached to a health actor such as a patient, a user and or a caregiver."@en ;
  rdfs:domain s4ehaw:HealthDevice ;
  rdfs:range s4ehaw:HealthActor .

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

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

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

s4ehaw:FunctionalDevice a rdfs:Class ;
  rdfs:label "Functional device"@en ;
  rdfs:comment "Functional Devices are non-purely eHealth/ageing-well devices that can be used for modelling/detecting activities or behaviours of patients/users, like for example beacons that can detect indoor positioning of a patient in a house."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

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

<https://saref.etsi.org/saref4syst/ConnectionPoint> a rdfs:Class .

s4ehaw:Activity a rdfs:Class ;
  rdfs:label "Activity"@en ;
  rdfs:comment "The activity of a patient/user, i.e. daily and nocturnal activities."@en .

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

s4ehaw:isExposedOn a rdf:Property ;
  rdfs:label "is exposed on"@en ;
  rdfs:comment "Links a service to a Connection/FeatureKind (such as ex:Bluetooth), to a Connection/FeatureOfInterest (such as <this_network> ),  to a ConnectionPoint/FeatureKind (such as ex:TCPPort), to a ConnectionPoint/FeatureOfInterest (such as <tcp_port_4255>)."@en ;
  rdfs:domain <https://saref.etsi.org/core/Service> ;
  rdfs:range <https://w3id.org/linkml/Any> .

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

s4ehaw:HealthWearable a rdfs:Class ;
  rdfs:label "Health wereable"@en ;
  rdfs:comment "Health-related Wearable, sub-class of SAREF4WEAR Wearable."@en ;
  rdfs:subClassOf s4ehaw:HealthDevice , <https://saref.etsi.org/saref4wear/WearableDevice> .

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

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

s4ehaw:BanApplicationTask a rdfs:Class ;
  rdfs:label "BAN application tasks"@en ;
  rdfs:comment "BAN application tasks, suchas healthcare, telemedicine, assisted living, sport training, safety and emergency..."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Task> .

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

s4ehaw:HealthDevice a rdfs:Class ;
  rdfs:label "Health Device"@en ;
  rdfs:comment "Health devices, e.g. BAN hub, health sensor/actuator/Wereable."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

s4ehaw:BanHub a rdfs:Class ;
  rdfs:label "BAN hub"@en ;
  rdfs:comment "Hub of the BAN, mainly playing the role of both a data concentrator and a network gateway."@en ;
  rdfs:subClassOf s4ehaw:HealthDevice .

<http://xmlns.com/foaf/0.1/Agent> a rdfs:Class .

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

s4ehaw:HealthActuator a rdfs:Class ;
  rdfs:label "Health actuator"@en ;
  rdfs:comment "Health-related Actuator, sub-class of SAREF Actuator."@en ;
  rdfs:subClassOf s4ehaw:HealthDevice , <https://saref.etsi.org/core/Actuator> .

s4ehaw:Ban a rdfs:Class ;
  rdfs:label "BAN"@en ;
  rdfs:comment "Body Area Network."@en ;
  rdfs:subClassOf <https://saref.etsi.org/saref4syst/Connection> .

s4ehaw:hasHub a rdf:Property ;
  rdfs:label "has hub"@en ;
  rdfs:comment "A Body Area Network or BAN elects one hub that mainly plays the role of both a data concentrator and a network gateway."@en ;
  rdfs:domain s4ehaw:Ban ;
  rdfs:range s4ehaw:BanHub ;
  rdfs:subPropertyOf <https://saref.etsi.org/saref4syst/connectsSystem> .

s4ehaw:hasResponsibleParty a rdf:Property ;
  rdfs:label "has responsible party"@en ;
  rdfs:comment "A BAN that has a responsible party which plays the role of the legal entity responsible for this BAN (e.g. to contact in case of problem). It should be an organization or a person."@en ;
  rdfs:domain s4ehaw:Ban ;
  rdfs:range s4ehaw:ResponsibleParty .

s4ehaw:hasContact a rdf:Property ;
  rdfs:label "has contact"@en ;
  rdfs:comment "A BAN has one or multiple contacts (e.g. the patient or user that is monitored through this BAN, the caregiver that is using this BAN for monitoring purposes)."@en ;
  rdfs:domain s4ehaw:Ban ;
  rdfs:range s4ehaw:HealthActor .

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

s4ehaw:User a rdfs:Class ;
  rdfs:label "User"@en ;
  rdfs:comment "A health actor (patient included) that can be equiped with BANs or health devices for monitoring, control, care (specific case of patients) or support purposes."@en ;
  rdfs:subClassOf s4ehaw:HealthActor .

s4ehaw:CommunicationInterface a rdfs:Class ;
  rdfs:label "Communication Interface"@en ;
  rdfs:comment "A communication interface of a device to a communication network."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> , <https://saref.etsi.org/saref4syst/ConnectionPoint> .

s4ehaw:hasPortNumber a rdf:Property ;
  rdfs:label "port number"@en ;
  rdfs:comment "The port number used to offer the service."@en ;
  rdfs:domain s4ehaw:CommunicationInterface ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasIdentifier> .

s4ehaw:hasMACAddress a rdf:Property ;
  rdfs:label "has MAC address"@en ;
  rdfs:comment "The MAC address of an interface."@en ;
  rdfs:domain s4ehaw:CommunicationInterface ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasIdentifier> .

s4ehaw:hasIPv4Address a rdf:Property ;
  rdfs:label "has IPv4 address"@en ;
  rdfs:comment "The IPv4 address of a host."@en ;
  rdfs:domain s4ehaw:CommunicationInterface ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasIdentifier> .

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

s4ehaw:Patient a rdfs:Class ;
  rdfs:label "Patient"@en ;
  rdfs:comment "A user of the type patient, i.e. a cared-for person by one or multiple caregivers."@en ;
  rdfs:subClassOf s4ehaw:User .

s4ehaw:Helper a rdfs:Class ;
  rdfs:label "Helper"@en ;
  rdfs:comment "Helper of patients/users, e.g. a patient's relative."@en ;
  rdfs:subClassOf s4ehaw:HealthActor .

s4ehaw:followsUser a rdf:Property ;
  rdfs:label "follows user"@en ;
  rdfs:comment "A helper may follow one or multiple users that can in particular be patients."@en ;
  rdfs:domain s4ehaw:Helper ;
  rdfs:range s4ehaw:User .

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

s4ehaw:ResponsibleParty a rdfs:Class ;
  rdfs:label "Responsible party"@en ;
  rdfs:comment "The legal entity responsible for a BAN, i.e. to contact in case of problem."@en ;
  rdfs:subClassOf s4ehaw:HealthActor .

s4ehaw:ObservationCollectionExecution a rdfs:Class ;
  rdfs:label "Observation Collection Execution"@en ;
  rdfs:comment "Execution consisting in collecting observations made by Device (e.g. Sensor, Wearable, ECG Device...). Use saref:madeBy to link to the person or the Device that made it. Use saref:observes to link to the patient. Use saref:hasResult to link to the result, an ObservationCollection"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/ProcedureExecution> .

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

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

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

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

s4ehaw:DailyActivity a rdfs:Class ;
  rdfs:label "Daily activity"@en ;
  rdfs:comment "The patient/user activities that occur during daytime."@en ;
  rdfs:subClassOf s4ehaw:Activity .

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