Skip to content
saref.ttl 129 KiB
Newer Older
    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 ;
Maxime Lefrançois's avatar
Maxime Lefrançois committed
    rdfs:domain saref:ProcedureExecution ;
    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
        ] .
## 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
        ] .

## Deprecated 

saref:Measurement a owl:Class ;
    rdfs:subClassOf [ a owl:Restriction ;
    owl:onProperty saref:isMeasurementOf ;
    owl:allValuesFrom saref:FeatureOfInterest
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:isMeasuredIn ;
    owl:allValuesFrom saref:UnitOfMeasure
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:relatesToProperty ;
    owl:allValuesFrom saref:Property
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:isMeasuredIn ;
    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass saref:UnitOfMeasure
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:relatesToProperty ;
    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass saref:Property
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:hasTimestamp ;
    owl:allValuesFrom xsd:dateTime
    ] ,
    [ a owl:Restriction ;
    owl:onProperty saref:hasValue ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
    ] ;
    rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ;
    rdfs:label "Measurement"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:Measurement in favour of saref:Observation, to generalize to observation of states and convergence with SOSA/SSN."@en .

saref:hasMeasurement a owl:ObjectProperty ;
    rdfs:comment "A relationship between a feature of interest and a measurement about it"@en ;
    rdfs:domain saref:FeatureOfInterest ;
    rdfs:range saref:Measurement ;
    rdfs:label "has measurement"@en ;
    owl:deprecated true ;
Maxime Lefrançois's avatar
Maxime Lefrançois committed
    skos:historyNote "V3.2.1: Deprecated saref:hasMeasurement together with saref:Measurement."@en .

saref:isMeasurementOf a owl:ObjectProperty ;
    owl:inverseOf saref:hasMeasurement ;
    rdfs:comment "A relationship between a measurement and the feature of interest whose quality was measured"@en ;
    rdfs:domain saref:Measurement ;
    rdfs:range saref:FeatureOfInterest ;
    rdfs:label "isMeasurementOf"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:isMeasurementOf together with saref:Measurement."@en .

saref:relatesToProperty a owl:ObjectProperty ;
    owl:inverseOf saref:relatesToMeasurement ;
    rdfs:comment "A relationship between a measurement and the property it relates to"@en ;
    rdfs:domain saref:Measurement ;
    rdfs:range saref:Property ;
    rdfs:label "relates to property"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:isMeasurementOf together with saref:Measurement."@en .

saref:relatesToMeasurement a owl:ObjectProperty ;
    rdfs:comment "A relationship between a property and the measurements it relates to"@en ;
    rdfs:domain saref:Property ;
    rdfs:range saref:Measurement ;
    rdfs:label "relates to measurement"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:isMeasurementOf together with saref:Measurement."@en .





# 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:actsUpon 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:actsUpon 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:actsUpon or its sub-properties."@en ;
    rdfs:domain [ a owl:Class ; owl:unionOf ( saref:FeatureKind 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:actsUpon or its sub-properties."@en ;
    rdfs:domain saref:Profile ;
    rdfs:range [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:Device ) ] .

## 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 .

# deprecate, use saref:profileHasPrice instead 
saref:hasPrice a owl:ObjectProperty ;
    owl:deprecated true ;
    skos:historyNote "saref:hasPrice is deprecated in v3.2.1, and may be deleted in the next major revision of SAREF. Use saref:profileHasPrice instead."@en ;
    rdfs:comment "A relationship indentifying the price associated to an entity"@en ;
    rdfs:range saref:Price ;
    rdfs:label "has price"@en .

saref:Price a owl:Class ;
    owl:deprecated true;
    skos:historyNote "Class saref:Price is deprecated in v3.2.1. In the next major revision of SAREF, it may be defined as an instance of saref:Property."@en ;
    rdfs:subClassOf saref:Property ;
    rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured using saref:Currency"@en ;
    rdfs:label "Price"@en .

saref:Currency a owl:Class ;
    owl:deprecated true;
    skos:historyNote "Class saref:Currency is deprecated in v3.2.1 and may deleted in the next major revision of SAREF. Existing code lists and taxonomies can be reused instead."@en ;
    rdfs:subClassOf saref:UnitOfMeasure ;
    rdfs:comment "The class of units of measure for price"@en ;
    rdfs:label "Currency"@en .

# Other deprecated entities

saref:hasTime a owl:ObjectProperty ;
    rdfs:comment "A relationship to associate time information to an entity"@en ;
    rdfs:range saref:Time ;
    rdfs:label "has time"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:hasTime and use OWL Time instead whenever possible."@en .

saref:Time a owl:Class ;
    rdfs:comment "A class that allows to specify the time concept."@en ;
    rdfs:label "Time"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:Time and use OWL Time instead whenever possible."@en .

saref:hasTypicalConsumption a owl:ObjectProperty ;
    rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device"@en ;
    rdfs:label "has typical consumption"@en ;
    owl:deprecated true ;
    skos:historyNote "V3.2.1: Deprecated saref:hasTypicalConsumption. May be defined as an instance of saref:Property in the next major revision of SAREF."@en .

saref:isAbout a owl:ObjectProperty ;
    owl:deprecated true;
    skos:historyNote "Property saref:isAbout is too vague and has been deprecated in v3.2.1."@en ;
    rdfs:comment "A relationship identifying what an entity, such as a profile, is about"@en ;
    rdfs:label "isAbout"@en .


# 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> .
Maxime Lefrançois's avatar
Maxime Lefrançois committed


# 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> .