Newer
Older
Raul Garcia-Castro
committed
@prefix : <https://saref.etsi.org/core/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
Raul Garcia-Castro
committed
@prefix saref: <https://saref.etsi.org/core/> .
@prefix s4syst: <https://saref.etsi.org/saref4syst/> .
Raul Garcia-Castro
committed
@base <https://saref.etsi.org/core/> .
<https://saref.etsi.org/core/> a owl:Ontology ;
owl:versionInfo "v3.2.1" ;
owl:versionIRI <https://saref.etsi.org/core/v3.2.1/> ;
owl:priorVersion <https://saref.etsi.org/core/v3.1.1/> ;
dcterms:issued "2023-12-31"^^xsd:date ;
dcterms:modified "2020-12-31"^^xsd:date ;
dcterms:title "SAREF: the Smart Applications REFerence ontology"@en ;
Raul Garcia-Castro
committed
dcterms:publisher <https://www.etsi.org/> ;
Raul Garcia-Castro
committed
dcterms:license <https://forge.etsi.org/etsi-software-license> ;
dcterms:creator <https://www.linkedin.com/in/lauradaniele> ;
dcterms:creator <http://www.garcia-castro.com/foaf.rdf#me> ;
dcterms:creator <https://w3id.org/people/mpoveda/> ;
dcterms:creator <http://maxime-lefrancois.info/me#> ;
dcterms:source <https://saref.etsi.org/sources/saref-core/> ;
rdfs:seeAlso <https://www.etsi.org/deliver/etsi_ts/103200_103299/103264/03.02.01_60/ts_103264v030201p.pdf> ;
vann:preferredNamespaceUri "https://saref.etsi.org/core/" ;
Raul Garcia-Castro
committed
dcterms:description "The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market."@en ;
rdfs:comment """Information about changes compared to version 3.1.1:
- Added the saref:FeatureKind class
- Added the saref:PropertyOfInterest class
- Added the saref:StateOfInterest class
""" ;
Raul Garcia-Castro
committed
rdfs:comment """Information about changes compared to version 2.1.1:
- Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf).
- Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement.
- The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other.
- The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements.
- The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal.
- The saref:hasName property has been removed and the use of rdfs:label is recommended.
- The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended.
- Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor.
- Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState.
- The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types.
- The instances of the subclasses of saref:Command have been removed, since they represent examples.
- The instances of saref:UnitOfMeasure have been moved to examples.
- The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter.
- Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network.
- Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property.
- The OWL Time ontology is not imported anymore.
- The documentation of some ontology terms has been updated for clarification.
- Language tags have been added to all labels and comments.
""" ;
rdfs:comment """Information about changes compared to version 1.1.1:
- The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C? WGS84 geo positioning vocabulary.
Raul Garcia-Castro
committed
- The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class.
- The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension.
- The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy).
- The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property).
- Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed.
- The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used.
- The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes.
- The subclasses of saref:Task have been transormed in individuals.
- The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.""" .
dcterms:issued a owl:AnnotationProperty .
dcterms:modified a owl:AnnotationProperty .
dcterms:source a owl:AnnotationProperty .
dcterms:creator a owl:AnnotationProperty .
dcterms:title a owl:AnnotationProperty .
dcterms:description a owl:AnnotationProperty .
dcterms:license a owl:AnnotationProperty .
dcterms:publisher a owl:AnnotationProperty .
vann:preferredNamespacePrefix a owl:AnnotationProperty .
vann:preferredNamespaceUri a owl:AnnotationProperty .
skos:broader a owl:ObjectProperty ;
owl:inverseOf skos:narrower .
skos:narrower a owl:ObjectProperty ;
owl:inverseOf skos:broader .
skos:note a owl:AnnotationProperty .
skos:example a owl:AnnotationProperty .
s4syst:System a owl:Class .
# ETSI TS 103264 Clause 5.2: Feature kinds and features of interest
## Class saref:FeatureOfInterest represents any real world entity from which a property or a state may be acted upon, such as measured and controlled. An instance of saref:FeatureOfInterest represents one specific real world entity.
saref:FeatureOfInterest a owl:Class ;
rdfs:comment "A feature of interest represents any real world entity from which a property or a state may be acted upon, such as measured and controlled. An instance of saref:FeatureOfInterest represents one specific real world entity."@en ;
rdfs:label "Feature of interest"@en .
## Class saref:FeatureKind allows to describe kinds of features of interest, with common properties having the same value, and common states being the same. An instance of saref:FeatureKind represents an archetype of real world entities, for example to populate product catalogs.
saref:FeatureKind a owl:Class ;
rdfs:comment "Feature kinds allow to describe kinds of features of interest, with common properties having the same value, and common states being the same. An instance of saref:FeatureKind represents an archetype of real world entities, for example to populate product catalogs."@en ;
rdfs:label "Feature kinds"@en .
## Feature kinds can be organized in a taxonomy using OPs skos:narrower and skos:broader.
saref:FeatureKind rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty skos:broader ;
owl:allValuesFrom saref:FeatureKind ] ,
[ a owl:Restriction ;
owl:onProperty skos:narrower ;
owl:allValuesFrom saref:FeatureKind ] .
## A feature of interest can be linked to its kind(s) using OP saref:hasFeatureKind.
saref:hasFeatureKind a owl:ObjectProperty ;
rdfs:label "has feature kind"@en ;
rdfs:comment "links a feature of interest to its kind, a feature kind"@en ;
rdfs:domain saref:FeatureOfInterest ;
rdfs:range saref:FeatureKind .
## Feature of interest inherit broader feature kinds.
saref:hasFeatureKind
owl:propertyChainAxiom ( saref:hasFeatureKind skos:broader ) .
## A feature kind (resp. a feature of interest) may consist of (OP saref:consistsOf) other feature kinds (resp. features of interest).
saref:consistsOf a owl:ObjectProperty ;
rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"@en ;
rdfs:label "consists of"@en .
saref:FeatureKind rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:consistsOf ;
owl:allValuesFrom saref:FeatureKind ] .
saref:FeatureOfInterest rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty saref:consistsOf ;
owl:allValuesFrom saref:FeatureOfInterest ] .
## The model and the manufacturer of a saref:FeatureKind or a saref:FeatureOfInterest can be explicited using DPs saref:hasModel and saref:hasManufacturer, respectively.
saref:hasDescription a owl:DatatypeProperty ;
rdfs:label "has description"@en ;
rdfs:comment "DEPRECATED: The use of rdfs:comment is recommended instead."@en ;
rdfs:comment "A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en .
saref:hasManufacturer a owl:DatatypeProperty ;
rdfs:label "has manufacturer"@en ;
rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en ;
owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .
saref:hasModel a owl:DatatypeProperty ;
rdfs:comment "A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en ;
owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .
# ETSI TS 103264 Clause 5.3: Devices
## Class saref:Device represents any a tangible object designed to accomplish a particular task by performing one or more functions. An instance of saref:Device represents one specific real world entity.
saref:Device a owl:Class ;
rdfs:comment "A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. An instance of saref:Device represents one specific real world entity."@en ;
skos:example "For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function."@en ;
skos:example "Examples of devices are a light switch, a temperature sensor, an energy meter, a water flow meter, and a laundry dryer. A laundry dryer is designed to dry laundry, and to accomplish this task it has a start/stop function."@en ;
rdfs:label "Device"@en .
## Devices are also systems (s4syst:System) and features of interest (saref:FeatureOfInterest).
saref:Device
rdfs:subClassOf saref:FeatureOfInterest , s4syst:System .
## A device can be linked to its feature kinds using OP saref:hasDeviceKind. Kinds of devices describe models of devices, with common properties having the same value, common states being the same, common functions, and common services. OP saref:hasDeviceKind is a sub-property of OP saref:hasFeatureKind.
saref:hasDeviceKind a owl:ObjectProperty ;
rdfs:subPropertyOf saref:hasFeatureKind ;
rdfs:comment "Links a device to its kind, a feature kind. Kinds of devices describe models of devices, with common properties having the same value, common states being the same, common functions, and common services."@en ;
rdfs:domain saref:Device ;
rdfs:range saref:FeatureKind .
## A device can act upon (OP saref:actsUpon) features, properties, or states.
saref:actsUpon a owl:ObjectProperty ;
rdfs:label "acts upon"@en ;
rdfs:comment "Links a device, function, command, or procedure execution, to the feature, property, or state, it acts upon."@en ;
rdfs:domain
[ a owl:Class ;
owl:unionOf (
saref:Device
saref:Function
saref:Command
saref:ProcedureExecution ) ] ;
Loading
Loading full blame…