Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
saref:isFunctionOfInterestOf a owl:ObjectProperty , owl:FunctionalProperty ;
owl:inverseOf saref:hasFunctionOfInterest ;
rdfs:comment "Links a function of interest to the device it is a function of."@en ;
rdfs:label "is function of interest of"@en ;
rdfs:domain saref:FunctionOfInterest ;
rdfs:range saref:Device .
## A function of interest is the function of (OP saref:isFunctionOfInterestOf) exactly one device.
saref:FunctionOfInterest
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:isFunctionOfInterestOf ;
owl:cardinality 1
] .
## A function of interest can be linked to its kind(s) using OP saref:hasFunctionKind.
saref:hasFunctionKind a owl:ObjectProperty ;
rdfs:label "has function kind"@en ;
rdfs:comment "links a function of interest to its kind, a function"@en ;
rdfs:domain saref:FunctionOfInterest ;
rdfs:range saref:Function .
## Functions of interest inherit broader functions.
saref:hasFunctionKind
owl:propertyChainAxiom ( saref:hasFunctionKind skos:broader ) .
## Devices inherit the function kinds of their function of interest.
saref:hasFunction
owl:propertyChainAxiom ( saref:hasFunctionOfInterest saref:hasFunctionKind ) .
# ETSI TS 103264 Clause 5.9: Commands and device commands
## In SAREF, commands represent the lowest-level directives a device supports and exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. While commands are independent of any function, commands of interest are commands actually supported by a function of interest.
# ETSI TS 103264 Clause 5.9.2: Commands
## An instance of saref:Command is independent of any device.
saref:Command a owl:Class ;
rdfs:label "Command"@en ;
rdfs:comment "The lowest-level directives a function exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. An instance of saref:Command is independent of any device."@en ;
skos:example "Observe property, control property, observe state, control state, invoke action, cancel action, turn on or off, change color, subscribe, publish, etc. are all commands."@en ;
skos:historyNote "V3.2.1: Simplified definition and axiomatization of saref:Command. Added examples."@en .
## Commands can be organized in a taxonomy using OPs skos:narrower and skos:broader.
saref:Command rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty skos:broader ;
owl:allValuesFrom saref:Command ] ,
[ a owl:Restriction ;
owl:onProperty skos:narrower ;
owl:allValuesFrom saref:Command ] .
## The OP saref:hasCommand may be used to link a function or function of interest to its commands. Its inverse is saref:isCommandOf. SAREF Core defines two sub-properties of saref:hasCommand:
## - saref:hasMandatoryCommand for when the command is mandatory to the function,
## - saref:hasOptionalCommand for when the command is optional to the function.
saref:hasCommand a owl:ObjectProperty ;
owl:inverseOf saref:isCommandOf ;
rdfs:label "has command"@en ;
rdfs:comment "Links a function or function of interest and the command it supports."@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Function saref:FunctionOfInterest ) ] ;
rdfs:range saref:Command ;
skos:historyNote "V3.2.1: Domain of saref:hasCommand is relaxed to saref:Function or saref:FunctionOfInterest."@en .
saref:isCommandOf a owl:ObjectProperty ;
owl:inverseOf saref:hasCommand ;
rdfs:label "is command of"@en ;
rdfs:comment "Links a command and a function or function of interest that supports it."@en ;
rdfs:domain saref:Command ;
rdfs:range [ a owl:Class ; owl:unionOf ( saref:Function saref:FunctionOfInterest ) ] .
saref:hasMandatoryCommand a owl:ObjectProperty ;
owl:subPropertyOf saref:hasCommand ;
rdfs:label "has mandatory command"@en ;
rdfs:comment "Links a function and one of its mandatory commands"@en ;
rdfs:domain saref:Function ;
skos:historyNote "V3.2.1: Introduced mandatory and optional commands."@en .
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
saref:hasOptionalCommand a owl:ObjectProperty ;
owl:subPropertyOf saref:hasCommand ;
rdfs:label "has optional command"@en ;
rdfs:comment "Links a function and one of its optional commands"@en ;
rdfs:domain saref:Function .
## Functions inherit the mandatory commands of their broader functions.
saref:hasMandatoryCommand
owl:propertyChainAxiom ( skos:broader saref:hasMandatoryCommand ) .
## Features of interest inherit the commands of their feature kinds.
saref:hasCommand
owl:propertyChainAxiom ( saref:hasFeatureKind saref:hasMandatoryCommand ) .
## A command may be described in terms of its input parameters using OP saref:hasInput. Typically, input parameters are feature kinds, properties, or states.
saref:hasInput a owl:ObjectProperty ;
rdfs:label "has input"@en ;
rdfs:comment "Links a command, operation, or procedure execution, to its inputs."@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest saref:Operation saref:ProcedureExecution ) ] ;
skos:example "Different complementary commands can be defined for controlling a light. Turn on or off the light based on a desired state, toggle the light status of a specific light, set the luminosity level with a transition time, set the default transition time, start comfort."@en ;
skos:historyNote "V3.2.1: Introduced saref:hasInput and saref:hasOutput."@en .
## A command may be described in terms of its outputs using OP saref:hasOutput. Typically, outputs are properties or states.
saref:hasOutput a owl:ObjectProperty ;
rdfs:label "has output"@en ;
rdfs:comment "Links a command or operation to its outputs."@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest saref:Operation ) ] ;
skos:example "Different complementary commands can be defined for observing a smart home. Observe the temperature once will output the indoor temperature property; observe status of the entry door will output an open/close state."@en .
## A command may be described in terms of the properties or states it acts upon, such as observe, or control.
# ETSI TS 103264 Clause 5.9.3: Commands of Interest
## A saref:CommandOfInterest is a directives actually exposed by a device function.
saref:CommandOfInterest a owl:Class ;
rdfs:label "Command Of Interest"@en ;
rdfs:comment "The lowest-level directives a device supports and exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. A saref:CommandOfInterest is a directives actually supported by a device and exposed to some network."@en ;
skos:note "Like for commands, commands of interest may be described in terms of their input parameters, outputs, and which properties or states they target."@en ;
skos:note "Commands of interest need not always be explicited. It depends on the use case. Typically, commands of interest are useful to specify the actual property of interest or state of interest that is expected as input parameter, output, or that will be targeted."@en ;
skos:example "The corridor smart light switch supports a command of kind “turn on/off”, which controls the state of the outdoor light."@en ;
skos:example "The smart fridge supports a command of kind “observe temperature”, which observes the temperature of the fridge."@en ;
skos:historyNote "V3.2.1: Introduced saref:CommandOfInterest, parallel to saref:PropertyOfInterest."@en .
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
## The OP saref:hasCommandOfInterest may be used to link a function of interest to its command of interest. Its inverse is saref:isCommandOfInterestOf and is functional.
saref:hasCommandOfInterest a owl:ObjectProperty ;
owl:inverseOf saref:isCommandOfInterestOf ;
rdfs:comment "Links a function of interest to one of its commands of interest."@en ;
rdfs:label "has command of interest"@en ;
rdfs:domain saref:FunctionOfInterest ;
rdfs:range saref:CommandOfInterest .
saref:isCommandOfInterestOf a owl:ObjectProperty , owl:FunctionalProperty ;
owl:inverseOf saref:hasCommandOfInterest ;
rdfs:comment "Links a command of interest to the function of interest it is a command of."@en ;
rdfs:label "is command of interest of"@en ;
rdfs:domain saref:CommandOfInterest ;
rdfs:range saref:FeatureOfInterest .
## A command of interest is the command of (OP saref:isCommandOfInterestOf) exactly one function of interest.
saref:CommandOfInterest
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:isCommandOfInterestOf ;
owl:cardinality 1
] .
## A command of interest is the command of (OP saref:isCommandOfInterestOf) exactly one function.
saref:CommandOfInterest
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:isCommandOfInterestOf ;
owl:cardinality 1
] .
## A command of interest can be linked to its kind(s) using OP saref:hasCommandKind.
saref:hasCommandKind a owl:ObjectProperty ;
rdfs:label "has command kind"@en ;
rdfs:comment "links a command of interest to its kind, a command."@en ;
rdfs:domain saref:CommandOfInterest ;
rdfs:range saref:Command .
## Commands of interests inherit broader commands.
saref:hasCommandKind
owl:propertyChainAxiom ( saref:hasCommandKind skos:broader ) .
## Functions inherit the command kinds of their command of interest.
saref:hasCommand
owl:propertyChainAxiom ( saref:hasCommandOfInterest saref:hasCommandKind ) .
# ETSI TS 103264 Clause 5.10: Services and Operations
## A saref:Service is a digital representation of a function in a network, making it discoverable, registerable and remotely controllable in the network.
saref:Service a owl:Class ;
rdfs:label "Service"@en ;
rdfs:comment "A saref:Service is a digital representation of a function in a network, making it discoverable, registerable and remotely controllable in the network."@en ;
skos:note "Typically, a device connected to a given network offers one service for each of its functions of interest."@en ;
skos:example "For example, a light switch can offer the service of remotely switching the lights in a home through mobile phone devices that are connected to the local network (ex:SwitchOnService class). This \"remote switching\" service represents the ex:OnOffFunction."@en ;
skos:historyNote "V3.2.1: Simplified definition of saref:Service. Added examples."@en .
## OP saref:represents links a service to some function or function of interest it exposes to the network.
saref:represents a owl:ObjectProperty ;
rdfs:label "represents"@en ;
rdfs:comment "Links a service to some function or function of interest it exposes to the network. Also links an operation to some command or command of interest it exposes to the network."@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Service saref:Operation ) ] ;
rdfs:range [ a owl:Class ; owl:unionOf ( saref:Function saref:FunctionOfInterest saref:Command saref:CommandOfInterest ) ] ;
skos:historyNote "V3.2.1: Relaxed domain and range of saref:represents."@en .
saref:Service
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:represents ;
owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:Function saref:FunctionOfInterest ) ]
] .
## A service represents at least one function of interest.
saref:Service
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:represents ;
owl:onClass saref:FunctionOfInterest ;
owl:minQualifiedCardinality 1
] .
## OP saref:offers links a device to a service it exposes to a network. Its inverse if saref:isOfferedBy.
saref:offers a owl:ObjectProperty ;
owl:inverseOf saref:isOfferedBy ;
rdfs:label "offers"@en ;
rdfs:comment "Links a device to a service it exposes to a network."@en ;
rdfs:domain saref:Device ;
rdfs:range saref:Service ;
skos:historyNote "V3.2.1: Clarified definition of saref:offers."@en .
saref:isOfferedBy a owl:ObjectProperty , owl:FunctionalProperty ;
owl:inverseOf saref:offers ;
rdfs:label "is offered by"@en ;
rdfs:comment "Links a service to the device that exposes it to a network"@en ;
rdfs:domain saref:Service ;
rdfs:range saref:Device ;
skos:historyNote "V3.2.1: Clarified definition of saref:isOfferedBy."@en .
## A service is offered by exactly one device.
saref:Service
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:isOfferedBy ;
owl:cardinality 1
] .
## A saref:Operation is the means of a service to communicate in a procedure-type manner over the network (i.e. transmit data to/from other devices). It is the –machine interpretable– exposure of a –human understandable– command to a network.
saref:Operation a owl:Class ;
rdfs:label "Operation"@en ;
rdfs:comment "A saref:Operation is the means of a service to communicate in a procedure-type manner over the network (i.e. transmit data to/from other devices). It is the –machine interpretable– exposure of a –human understandable– command to a network."@en ;
skos:note "Typically, a device connected to a given network offers one service for each of its functions of interest, and each service has one operation per command of interest of the function of interest it represents."@en ;
skos:note "An operation may be described in terms of its inputs and outputs using OP saref:hasInput and saref:hasOutput. Inputs and outputs of operations typically describe the expected schema or shape of network messages."@en ;
skos:example "To turn on a light, send a CoAP PUT request with CBOR content 0xf5 (true)"@en ;
skos:example "In the set of operations exposed by a smart light bulb on a given network, one may be dedicated to turn on and off the light and expect a boolean as input. Another one may be dedicated to set the luminosity status and expect a target luminosity level (a byte) and a transition time (encoded on two bytes)."@en ;
skos:example "In the set of operations exposed by a smart washing machine on a given network, one may be dedicated to set the water temperature for the washing cycle, and expected as input a enumerated value. Another one may be dedicated to start, pause, or stop the washing cycle."@en ;
skos:historyNote "V3.2.1: Introduced saref:Operation and associated properties from oneM2M base ontology."@en .
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
## OP saref:represents also links an operation to some command or command of interest it exposes to the network.
saref:Operation
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:represents ;
owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest ) ]
] .
## An operation represents at least one command of interest.
saref:Operation
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:represents ;
owl:onClass saref:CommandOfInterest ;
owl:minQualifiedCardinality 1
] .
## OP saref:hasOperation links a service to its operations. Its inverse is saref:isOperationOf.
saref:hasOperation a owl:ObjectProperty ;
owl:inverseOf saref:isOperationOf ;
rdfs:label "has operation"@en ;
rdfs:comment "Links a service to one of its operations."@en ;
rdfs:domain saref:Service ;
rdfs:range saref:Operation .
saref:isOperationOf a owl:ObjectProperty , owl:FunctionalProperty ;
owl:inverseOf saref:hasOperation ;
rdfs:label "is operation of"@en ;
rdfs:comment "Links an operation to the service it belongs to."@en ;
rdfs:domain saref:Operation ;
rdfs:range saref:Service .
## An operation belongs to exactly one service.
saref:Operation
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:isOperationOf ;
owl:cardinality 1
] .
# ETSI TS 103264 Clause 5.11: Procedure executions
# ETSI TS 103264 Clause 5.11.1: Procedure executions
## A saref:ProcedureExecution represents the act of carrying out a procedure.
saref:ProcedureExecution a owl:Class ;
rdfs:label "Procedure Execution"@en ;
rdfs:comment "Represents the act of carrying out a procedure."@en ;
skos:historyNote "V3.2.1: Introduced saref:ProcedureExecution."@en .
## OP saref:madeBy links a procedure execution to the device that made it.
saref:madeBy a owl:ObjectProperty ;
owl:inverseOf saref:madeExecution ;
rdfs:label "made by"@en ;
rdfs:comment "Links a procedure execution to the entity (e.g., device) that made it."@en ;
skos:historyNote "V3.2.1: Introduce saref:madeBy (resp. saref:madeExecution) as generalization of saref:measurementMadeBy (resp. saref:makesMeasurement)."@en .
saref:madeExecution a owl:ObjectProperty ;
owl:inverseOf saref:madeBy ;
rdfs:label "made execution"@en ;
rdfs:comment "Links an entity (e.g., device) to the procedure execution it made."@en ;
rdfs:domain saref:FeatureOfInterest ;
## A procedure execution may be linked to its inputs using OP saref:hasInput .
## A procedure execution may be linked to its result using OP saref:hasResult.
saref:hasResult a owl:ObjectProperty ;
rdfs:label "has result"@en ;
rdfs:comment "Links a procedure execution (e.g., an observation) to its result (e.g., a property value)."@en ;
rdfs:domain saref:ProcedureExecution ;
skos:historyNote "V3.2.1: Introduced saref:hasResult as part of general will to make SAREF and SOSA/SSN converge."@en .
## DP saref:hasResultTime links a procedure execution to the instant of time when the procedure is completed, expressed as an xsd:dateTime literal.
saref:hasResultTime a owl:DatatypeProperty ;
rdfs:label "has result time"@en ;
rdfs:comment "Links a procedure execution to the instant of time when the activity was completed, expressed as an xsd:dateTime literal."@en ;
rdfs:domain saref:ProcedureExecution ;
rdfs:range xsd:dateTime ;
skos:historyNote "V3.2.1: Introduced saref:hasResultTime as part of general will to make SAREF and SOSA/SSN converge."@en .
## OP saref:hasPhenomenonTime links a procedure execution to the time that the result applies. It may be an interval or an instant, or some other compound temporal entity expressed using OWL Time.
saref:hasPhenomenonTime a owl:ObjectProperty ;
rdfs:label "has phenomenon time"@en ;
rdfs:comment "Links a procedure execution to the time that the result applies. It may be an interval or an instant, or some other compound temporal entity expressed using OWL Time."@en ;
rdfs:range time:TemporalEntity ;
skos:historyNote "V3.2.1: Introduced saref:hasPhenomenonTime as part of general will to make SAREF and SOSA/SSN converge."@en .
## When the execution time and the phenomenon time are the same time instants, then DP saref:hasTimestamp can be used to simply link a procedure execution to the time of these instants, expressed as an xsd:dateTime literal.
saref:hasTimestamp a owl:DatatypeProperty ;
rdfs:label "has timestamp"@en ;
rdfs:comment "Links a procedure execution or a profile to an instant."@en ;
skos:note "When the execution time and the phenomenon time are the same time instants, then DP saref:hasTimestamp can be used to simply link a procedure execution to the time of these instants, expressed as an xsd:dateTime literal."@en ;
skos:note "Applied on a profile, it describes the applicable instant of that profile"@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:ProcedureExecution saref:Profile ) ] ;
rdfs:range xsd:dateTime ;
skos:historyNote "V3.2.1: Tried to clarify definition of saref:hasTimestamp. Still unclear."@en .
# ETSI TS 103264 Clause 5.11.2: Command executions and operation executions
## A saref:CommandExecution describes the execution of a command. Typically, its inputs and outputs are human understandable and relate to some feature of interest, such as its state (e.g., s4abcd:On), or the value of its temperature (e.g., property value 21.0 °C).
saref:CommandExecution a owl:Class ;
rdfs:subClassOf saref:ProcedureExecution ;
rdfs:label "Command Execution"@en ;
rdfs:comment "Describes the execution of a command. Typically, its inputs and outputs are human understandable and relate to some feature of interest, such as its state (e.g., s4abcd:On), or the value of its temperature (e.g., property value 21.0 °C)."@en .
## A saref:OperationExecution describes the execution of an operation in a network: the–machine interpretable– description of a communication between devices over the network. Typically, its input and result are network messages, that conform to the input and output of the executed operation.
saref:OperationExecution a owl:Class ;
rdfs:subClassOf saref:ProcedureExecution ;
rdfs:label "Operation Execution"@en ;
rdfs:comment "Describes the execution of an operation in a network: the–machine interpretable– description of a communication between devices over the network. Typically, its input and result are network messages, that conform to the input and output of the executed operation."@en .
## OP saref:isExecutionOf links a command execution to the command or command of interest that was executed. It also liks an operation execution to the operation that was executed.
saref:isExecutionOf a owl:ObjectProperty ;
rdfs:label "is execution of"@en ;
rdfs:comment "Links a command execution to the command or command of interest that was executed. Also liks an operation execution to the operation that was executed"@en ;
rdfs:range [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest saref:Operation ) ] .
saref:CommandExecution
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:isExecutionOf ;
owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest ) ]
] .
saref:OperationExecution
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:isExecutionOf ;
owl:allValuesFrom saref:Operation
] .
## If a command execution is an execution of a command, it is also the execution of its broader commands.
saref:isExecutionOf
owl:propertyChainAxiom ( saref:isExecutionOf skos:broader ) .
## If a command execution is an execution of a command of interest, it is also the execution of the command kind of that command of interest.
saref:isExecutionOf
owl:propertyChainAxiom ( saref:isExecutionOf saref:hasCommandKind ) .
# ETSI TS 103264 Clause 5.11.3: Observations, Measurements, and Actuations
## A saref:Observation is the act of carrying out a procedure to estimate or calculate a value of a property of a feature of interest, or a state of a feature of interest. It links to a sensor to describe what made the observation, and to the observed feature, property, property of interest, state, or state of interest. Typically, its result is a property value or a state. An observation of a state (OP saref:observes) should have a state as a result (OP saref:hasResult). Respectively, an observation of a property should have a property value as a result.
saref:Observation a owl:Class ;
rdfs:subClassOf saref:ProcedureExecution ;
rdfs:label "Observation"@en ;
rdfs:comment "A saref:Observation is the act of carrying out a procedure to estimate or calculate a value of a property of a feature of interest, or a state of a feature of interest. It links to a sensor to describe what made the observation, and to the observed feature, property, property of interest, state, or state of interest. Typically, its result is a property value or a state. An observation of a state (OP saref:observes) should have a state as a result (OP saref:hasResult). Respectively, an observation of a property should have a property value as a result."@en ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:madeBy ;
owl:allValuesFrom saref:Sensor
] ,
[ a owl:Restriction ;
owl:onProperty saref:observes ;
owl:minCardinality 1
] .
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
## It links to a sensor to describe what made the observation
## A saref:Actuation is the act of carrying out a procedure to control the state of the world using an actuator. It links to an actuator to describe what made the actuation, and to the controlled feature, property, property of interest, state, or state of interest. Typically, its input is a property value or a state. An actuation of a state (OP saref:controls) should have a state as input (OP saref:hasInput). Respectively, an actuation of a property should have a property value as input.
saref:Actuation a owl:Class ;
rdfs:subClassOf saref:ProcedureExecution ;
rdfs:label "Actuation"@en ;
rdfs:comment "A saref:Actuation is the act of carrying out a procedure to control the state of the world using an actuator. It links to an actuator to describe what made the actuation, and to the controlled feature, property, property of interest, state, or state of interest. Typically, its input is a property value or a state. An actuation of a state (OP saref:controls) should have a state as input (OP saref:hasInput). Respectively, an actuation of a property should have a property value as input."@en ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty saref:madeBy ;
owl:allValuesFrom saref:Actuator
] ,
[ a owl:Restriction ;
owl:onProperty saref:controls ;
owl:minCardinality 1
] .
# ETSI TS 103264 Clause 5.12: Profiles
## A saref:Profile describes the money earned (negative values) or paied (positive values) for the use (production or consumption) of a commodity by a device in a certain context.
saref:Profile a owl:Class ;
rdfs:label "Profile"@en ;
rdfs:comment "A saref:Profile describes the money earned (negative values) or paied (positive values) for the use (production or consumption) of a commodity by a device in a certain context."@en ;
skos:note "OP saref:hasProfile links a device to its profile. The device should be linked to a certain commodity using OP saref:isUsedFor or its sub-properties, and optionally to some property or state using OP saref:targets or its sub-properties."@en ;
skos:note "The applicable context of a profile can be bound temporally using DP saref:hasTimestamp or its subproperties defined by SAREF extensions, or OP saref:hasApplicableTime which links to instant or interval or other compound temporal entity expressed using OWL Time."@en ;
skos:note "The applicable context can be restricted to when the property of a feature of interest has some value (OPs saref:whenPropertyValue)"@en ;
skos:note "The applicable context can be restricted to when a feature of interest has a certain state (OPs saref:whenState)."@en ;
skos:note "OP saref:hasPrice links a profile to the money earned (negative values) or paid (positive values) for the use (production or consumption) of the commodity by the device."@en ;
skos:historyNote "V3.2.1: Class saref:Profile has been re-specified, to take into account findings from SAREF4ENER V1.2.1."@en .
## OP saref:hasProfile links a device to its profile. The device should be linked to a certain commodity using OP saref:isUsedFor or its sub-properties, and optionally to some property or state using OP saref:targets or its sub-properties.
saref:hasProfile a owl:ObjectProperty ;
owl:inverseOf saref:isProfileOf ;
rdfs:label "has profile"@en ;
rdfs:comment "Links a device to its profile. Its inverse is saref:isProfileOf. The device should be linked to a certain commodity using OP saref:isUsedFor or its sub-properties, and optionally to some property or state using OP saref:targets or its sub-properties."@en ;
rdfs:domain [ a owl:Class ; owl:unionOf ( saref:DeviceKind saref:Device ) ] ;
rdfs:range saref:Profile ;
skos:historyNote "V3.2.1: Relaxed domain of saref:hasProfile to saref:FeatureKind or saref:Device"@en .
saref:isProfileOf a owl:ObjectProperty ;
owl:inverseOf saref:hasProfile ;
rdfs:label "is profile of"@en ;
rdfs:comment "Links a profile to the device it describes. The device should be linked to a certain commodity using OP saref:isUsedFor or its sub-properties, and optionally to some property or state using OP saref:targets or its sub-properties."@en ;
rdfs:range [ a owl:Class ; owl:unionOf ( saref:DeviceKind saref:Device ) ] .
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
## The applicable context of a profile can be bound temporally using DP saref:hasTimestamp or its subproperties defined by SAREF extensions, or OP saref:hasApplicableTime which links to instant or interval or other compound temporal entity expressed using OWL Time.
saref:hasApplicableTime a owl:ObjectProperty ;
rdfs:label "has applicable time"@en ;
rdfs:comment "Links an entity (e.g., a profile) to an instant or interval or other compound temporal entity expressed using OWL Time, which bounds temporally the applicable context of that entity."@en ;
rdfs:range [ a owl:Class ; owl:unionOf ( time:TemporalEntity time:TemporalPosition ) ] .
## The applicable context can be restricted to when the property of a feature of interest has some value (OPs saref:whenPropertyValue)
saref:whenPropertyValue a owl:ObjectProperty ;
rdfs:label "when property value"@en ;
rdfs:comment "Links a profile to a property value that contributes to restricting its applicable context."@en ;
rdfs:domain saref:Profile ;
rdfs:range saref:PropertyValue .
## The applicable context can be restricted to when a feature of interest has a certain state (OPs saref:whenState).
saref:whenState a owl:ObjectProperty ;
rdfs:label "when state"@en ;
rdfs:comment "Links a profile to a state that contributes to restricting its applicable context."@en ;
rdfs:domain saref:Profile ;
rdfs:range saref:State .
## OP saref:hasPrice links a profile to the money earned (negative values) or paid (positive values) for the use (production or consumption) of the commodity by the device.
saref:profileHasPrice a owl:ObjectProperty ;
rdfs:label "has price"@en ;
rdfs:comment "Links a profile to the money earned (negative values) or paid (positive values) for the use (production or consumption) of the commodity by the device"@en ;
rdfs:domain saref:Profile ;
rdfs:range saref:PropertyValue .
# New in V3.2.1
saref:hasIdentifier a owl:DatatypeProperty ;
rdfs:label "has identifier"@en ;
rdfs:comment "Links some entity to its identifier. Extensions of SAREF may define sub-properties such as s4abcd:hasUUID, s4abcd:hasGTIN12, etc."@en ;
rdfs:seeAlso <https://labs.etsi.org/rep/saref/saref-portal/-/issues/2> .
# New in V4.1.1
saref:hasVersion a owl:DatatypeProperty ;
rdfs:label "has version"@en ;
rdfs:comment "Links some entity (e.g., a device) to its version."@en ;
rdfs:range xsd:string ;
rdfs:seeAlso <https://labs.etsi.org/rep/saref/saref-core/-/issues/53> .
saref:hasRevisionNumber a owl:DatatypeProperty ;
rdfs:label "has revision number"@en ;
rdfs:comment "Links some entity (e.g., a device) to its revision number."@en ;
rdfs:range xsd:string ;
rdfs:seeAlso <https://labs.etsi.org/rep/saref/saref-core/-/issues/53> .