Planned ETSI SAREF Extensions based on the
W3C&OGC SOSA/SSN-compatible SEAS Ontology Patterns
Maxime Lefrançois
Univ. Lyon, Mines Saint-Étienne, CNRS, Laboratoire Hubert Curien UMR 5516,
F-42023 Saint-Étienne, France
maxime.lefrancois@emse.fr
ABSTRACT an internal structure that is consistent and simple enough to be
Mid-June 2017, the ETSI SmartM2M working group voted two work easily mastered by the application developers, who are not experts
items, DTS/SmartM2M-103548 and DTS/SmartM2M-103549, with in Semantic Web technologies.
the goal to enhance and augment the SAREF ontology with some The ITEA2 Smart Energy-Aware Systems (SEAS) project1 aimed
of the design, development, and publication choices that have been at designing and developing a global ecosystem of services and
made in the context of the ITEA2 SEAS (Smart Energy Aware Sys- smart things collectively capable of ensuring the stability and the
tems) project. This paper provides an overview of these choices and energy efficiency of the future energy grid. The choice has been
their rationale. In particular, we describe contributions regarding: made to adopt Semantic Web formalisms to achieve semantic inter-
(i) the design of the ontology as a set of simple core ontology pat- operability between the services and the smart things, and one of
terns, that can then be instantiated for multiple engineering-related the tasks in the project was thus dedicated to the design of an on-
verticals; (ii) the design and publication of the SEAS modular and tology. On top of the fact that the ontology had to cover a large and
versioned ontology in conformance with the publication and meta- heterogeneous set of domains, strict quality requirements stemmed
data best practices, with the additional constraint that every term from the industrial context of its development and use.
is defined under a single namespace. These planned additions to This paper provides an overview of the design, development,
SAREF will ease its adoption and extension by industrial stake- and publication choices that have been made in the development of
holder, while ensuring easy maintenance of its quality, coherence, the SEAS ontologies to meet all those requirements. These choices
and modularity. Finally, because the SEAS ontology generalizes are driven by the following three major goals:
the future W3C&OGC SOSA/SSN (Sensor, Observation, Sensing,
Actuation / Semantic Sensor Network) ontology, these work items Design goal 1. The SEAS ontology must conform as much as
contribute to the convergence of the different reference ontologies possible to the publication and metadata best practices that have been
relevant for the IoT domain. defined by the Semantic Web community. Violation of these best
practices must be detected as soon as possible, and as little work as
possible must be left to the ontology maintainers.
Design goal 2. The SEAS ontology must conform to quality cri-
teria one are used to in open source development projects: it must
be modular, use semantic versioning, its source must be open so that
anyone can be able to comment, raise issues, or contribute.
1 INTRODUCTION Design goal 3. The SEAS ontology users must have a learning
We observe more and more interest from industrial stakeholders curve as short as possible, even though the width and depth of the
into the Semantic Web formalisms and technologies, in particular as domains to be covered is very big. In particular, it must be easy to
they are foreseen as a means to reach semantic interoperability be- map it to some object-oriented programming language. One corollary
tween heterogeneous systems. On the other hand, it is often hard to to this requirementis that every term must be defined under the same
choose among the 600+ ontologies referenced on the Linked Open namespace.
Vocabulary (LOV) the ones that are worth reusing. In fact, there is
a high heterogeneity among these ontologies in terms of adoption, The rest of this paper is organized as follows. Section 2 first
institutional statuses, structure/content/publication/metadata qual- precises the resolution taken in terms of development and publi-
ity, maintenance, extensibility, or even availability. We claim that cation choices for the ontology with respect to these three goals.
ontologies that aim at becoming a reference in the industry and the Section 3 gives an overview of the content of SEAS and its mod-
IoT should meet the highest quality criterias possible, while having ular organization. Section 4 to 7 sequentially introduce the four
engineering-centric core SEAS ontology patterns, and provides an
overview of how they are instantiated to model knowledge from
different vertical domains.
© 2017 Copyright held by the author/owners.
SEMANTiCS 2017 workshops proceedings: SIS-IoT 1 The ITEA2 SEAS project involved 34 partners in 6 countries, and ended in December
September 11-14, 2017, Amsterdam, Netherlands 2016. It received the ITEA2 Award of Excellence 2017. See http://the-smart-energy.com/
SIS-IoT’17, July 2017, Amsterdam, Netherlands Maxime Lefrançois
2 COMBINING BEST PRACTICES, SSN [7] and QUDT [10]. These alignments are defined in external
MODULARITY, VERSIONING, AND A modules, that import both the SEAS ontologies and the existing
UNIQUE NAMESPACE. ontology. One can hence choose between using SEAS only, or SEAS
in conjunction with the existing ontology.
2.1 Best Practices
Design reqirement 1. IRIs must satisfy the following best prac- 2.3 Versioning
tices defined in [3], [1], and [13]. Much like softwares, ontologies evolve. Another ontology, some
Thus: (i) IRIs must not change, and be designed with simplic- dataset, or a piece of software that uses some ontology must not be
ity, stability and manageability in mind [3]; (ii) The description broken whenever it evolves.
of a concept should be accessible by looking up its IRI [1, item 3]; Design reqirement 4. A reference ontology for the IoT must
(iii) Different representations of this description should be served use a versioning mechanism, such as the one defined in [17, §3.3].
depending on who asks [3]. For the stability and manageability
aspect we use the w3id.org redirection service which is an initiative This includes the annotation of the ontology using owl:versionIRI,
of the W3C and is intended to be around for as long as the Web is owl:versionInfo, and potentially owl:priorVersion that points to the
around.2 Also, the sources of the SEAS website are open-source URI of the previous module version. An ontology series O is iden-
and available on GitHub: https://github.com/thesmartenergy/seas, tified by an IRI, and each of the ontology versions O i are also
so anyone can reuse, comment, raise issues, or contribute. Require- identified by IRIs. Design requirement 1 imposes that: An ontology
ment 1 also imposes that resource IRIs must be either 303 IRIs or version O i identified by IRI vi in an ontology series O identified by
hash IRIs, because they are real-world objects. IRI u SHOULD be accessible via the IRI vi . Furthermore, if O i is
the latest version of the ontology series O, then it SHOULD also be
Design reqirement 2. A reference ontology must be a valid accessible via IRI u. Then the version numbers must be meaningful:
OWL 2 DL ontology, satisfy the best practices for OWL documents as
defined in [17, §3], and satisfy the Data on the Web best practices [5] Design reqirement 5. A reference ontology for the IoT must
and the Linked Open Vocabularies best practices [16]. use some adaptation of the Semantic Versioning specification 2.0+ to
the linked vocabularies [12], as already discussed in [9].
SEAS uses recommended metadata for the ontologies, most of
the annotation properties are chosen in vocabulary dct, and term An ontology document is a document, so one may return an
labels and comments systematically have language tags. HTTP code 200 OK when serving it. For instance, seas:BuildingOn-
tology has two versions: seas:BuildingOntology-0.9 and seas:Buil-
2.2 Modularization dingOntology-1.0; the latter being the current latest version.
Numerous use cases are envisioned for the IoT and they need knowl-
2.4 A unique Namespace
edge representations means for very different domains (e.g., use
cases in the SEAS project included Smart Homes, Micro Grids, Elec- There are several reasons why industrial partners wanted to have
tric Vehicles, Electricity market, Distribution and Retail operators a unique namespace for every term in the ontology. The most
and clients, Weather Forecast). Not every part of an IoT reference important ones where: (i) one does not want to have to remember a
ontology will be needed by every implementation. The SEAS on- different randomly chosen prefixes for every term; (ii) one wants to
tology hence consists of a set different ontology modules. The be able to move a term from one module to another without having
choice of the modules is partly driven by a study of use cases and to change its URI; and (iii) the objective of SEAS is to grow with
methodological principle [2]. more and more terms, and to be able to let users define their own
modules on the basis of a coherent set of terms. We hence decided
Design reqirement 3. A reference ontology for the IoT must be to work with a unique namespace:
modular using the mechanism described in [17, §3.4].
Design reqirement 6. All of the resources IRIs in the SEAS
We also chose to annotate every concept with a rdfs:isDefinedBy, ontology must be in the same namespace.
that points to the ontology that defines the concept. Note that
in this paper all the prefixes are those available with the service This solution raises one minor issue in the Linked Open Vocabu-
http://prefix.cc/. lary (LOV) ontology repository [15]. the LOV has been designed
The Semantic Web philosophy also encourages the reuse of ex- with the assumption of 1:1 correspondences between prefixes and
isting ontologies when appropriate. The SEAS Use Cases required vocabularies. So it fails at properly referencing the terms that are
models that are common to numerous other projects (e.g., Prove- defined in the SEAS ontologies: the SEAS vocabulary consists of
nance, Time instants and intervals, Quantities and Units of Measure, several ontologies that have different IRIs but the same prefix.
Time, Sensor/Actuator description, Sensor Observations, Predic-
tions), or that are not actual subdomains of the Energy domain 2.5 Resolution
(e.g., products and offers). There exists some ontologies for some of Let us show how one can combine requirements 1 to 6. Suppose an
these domains, and we chose to import or to define alignments to ontology O with IRI OI defines the class of “systems” R.
them on a per-ontology basis. The SEAS ontologies only imports Hash IRIs. Let RI#fragment be a hash IRI for R. Operating a HTTP
OWL-Time [4] and GoodRelations [8], and defines alignments to GET to RI must return a document with HTTP code 200 (this satis-
2 Thus longer than the website of most institutions or companies, hopefully. fies requirement 1). The returned document should define R. Hence
Planned ETSI SAREF Extensions based on SEAS Ontology Patterns SIS-IoT’17, July 2017, Amsterdam, Netherlands
OI must be equal to RI. For instance, RI = https://w3id.org/seas/ When loading the SEAS ontologies in the Protégé editor from
system#System. Suppose another resource R 2 in another ontology their IRI, and removing imports to external ontologies (OWL-Time
O 2 has a IRI OI2#fragment2. Requirement 6 imposes that string ‘seas:’ and GoodRelations), one currently obtains the following metrics:
be the prefix for both namespaces OI# and OI2#. Which is impossible. 1873 logical axioms, 479 classes, 277 object properties, 7 data prop-
erties, 52 individuals. The modules and how they import each other
The solution is 303 IRIs. Let RI be a 303 IRI for R. Operating is illustrated on figure 1.
a HTTP GET to RI must return a HTTP code 303 See Also that
redirects to a IRI RI2. The definition of R should be accessible via
RI2.
Ontology O defines R. Hence we propose that RI redirects to
OI. For instance, RI = https://w3id.org/seas/System redirects to OI
= https://w3id.org/seas/SystemOntology. Hence Requirement 6 is
satisfied and there exists a unique prefix for ‘seas’, whose extended
version is . This namespace is registered at
the well known service http://prefix.cc/seas.
To sum up, when looking up a IRI RI: (1) If RI identifies an ontol-
ogy series O, then the ontology server redirects to the latest version
of this series with HTTP code 303 See Other; (2) If RI identifies an on-
tology document O, then the ontology server returns O with HTTP
code 200 OK; (3) If RI identifies a resource R, then the ontology
server 303 redirects to the ontology module with the most recent
version that defines R with HTTP code 303 See Other. (4) each
module version is available in the Turtle, RDF/XML, and HTML
formats, with server content negotiation, reference to a unique
canonical URI for each representation, and hint for a filename to Figure 1: Illustration of the modules and their imports.
use if the browser wants to download the file. For example, operat- Green nodes are core modules, pink nodes are vertical mod-
ing a HTTP GET to https://w3id.org/seas/EvaluationOntology with ules, orange nodes are alignment modules, and blue nodes
Accept: text/turtle, one gets an HTTP response with the following are external ontologies.
headers:
These ontologies are published in Turtle, XML, and HTML ac-
Content-Disposition: filename= EvaluationOntology-1.0.ttl; cording to the Web of Linked Open Vocabularies best practices.
Content-Location: https://w3id.org/seas/EvaluationOntology-1.0.ttl
Their documentation is automatically generated in HTML thanks
to a tool we developed.
3 OVERVIEW OF THE SEAS REFERENCE We are also currently reviewing pull requests for extension mod-
ules to model matter flow systems, and city lighting.
ONTOLOGY
The SEAS knowledge model is a modularized and versioned ontol- 4 FEATURES OF INTEREST AND THEIR
ogy with a core of four modules that describe among other physical PROPERTIES
systems and their connections, value association for their proper-
Module seas:FeatureOfInterestOntology borrows the core concepts
ties, and the activities by which such value association is done.
from the SOSA/SSN ontology, and defines ontology patterns to
On top of these core modules, the SEAS ontology defines sev-
describe features of interest (e.g., a light) and their properties (e.g.,
eral “vertical” modules, that instantiate one or more core ontology
its on/off status), which are qualifiable, quantifiable, observable or
patterns, and usually depend on a domain. For example:
actionnable qualities of the feature of interest. More specifically, a
• seas:ElectricPowerSystemOntology defines system types seas:FeatureOfInterest is an abstraction of real world phenomena
(e.g., seas:ElectricPowerLine, seas:ElectricPowerProducer), (thing, person, event, etc), and a seas:Property is an observable or
their connections through which they exchange energy operable Quality of an Event or Object. That is, not a quality of an
(e.g., seas:SplitPhasePowerBus), their properties (e.g., seas:- abstract entity as is also allowed by DUL’s Quality, but rather an
power, seas:voltage), and the classical types of evaluation aspect of an entity that is intrinsic to and cannot exist without the
for these properties (e.g., seas:NominalOperatingEvaluation). entity and is observable by a sensor, or operable by an actuator.
• seas:ZoneOntology defines physical zones and their fron-
tiers, through which these zones can exchange agents, ther- 4.1 Instances of the Ontology Pattern
mic energy, light, or humidity. One can then instantiate the ontology patterns and define for exam-
Other vertical modules are proposed for energy markets, de- ple in ontology ex: that ex:Light is a type of seas:FeatureOfInterest,
mand/response, etc. Labels and comments for the concepts are ex:BooleanProperty is a type of seas:Property, and ex:onStatus is a sub-
available at least in English, but sometimes in French, Finnish, property of seas:hasProperty. One can furthermore state that prop-
and/or Portugese. The ontologies use concepts from external vo- erty ex:onStatus is functional, meaning that features of interest can
cabularies. have only one on/off status property. Then, one can link a specific
SIS-IoT’17, July 2017, Amsterdam, Netherlands Maxime Lefrançois
1. J isPropertyOf new SOSA/SSN ontology specification acknowledges the existence
FeatureOfInterest Property
hasProperty I of these two different ways of modeling properties [7, §7.4], and
discusses their compatibility.
ex:Fridge ex:PowerProperty
ex:consumption I 1. On the other hand, the alignment to DUL in the old SSN on-
tology imposed a disjunction between ssn:FeatureOfInterest and
ssn:Property. The absence of a normative DUL alignment in the
ex:consumption new SSN relaxes this restriction, and enables some of the use cases
that were envisioned in SEAS. For example, an alternating current
Figure 2: Ontology pattern seas:FeatureOfInterestOntology power property has active, apparent, reactive power properties
(in green), its instantiation (in ontology ex:) and some data. which have a quantity dimension of power, and some power factor
property which is dimensionless.
light to its (unique) on/off status property 4.2.2 Property in SAREF. SAREF also has a class that is named
using the following RDF graph: saref:Property. It is defined as anything that can be sensed, measured
or controlled in households, common public buildings or offices. Al-
a ex:Light, seas:FeatureOfInterest ;
ex:consumption .
though in the SAREF specification the concept power is used as an
a ex:BooleanProperty, seas:Property . example of an instance of property,4 we believe that saref:Property
can be aligned to seas:Property (and thus ssn:Property, and benefit
Differentiating in this way the subclasses of seas:Property and
from the ontology patterns defined in this SEAS module.
the subproperties of seas:hasProperty has two main advantages:
(1) It dissociates what is a role with respect to a feature of interest 4.2.3 Property in the WoT TD ontology. The current version of
(e.g., incoming and outgoing electric power), and what is intrinsic the WoT TD ontology [11] has been imported from the EU-H2020
to those properties (e.g., they are seas:PowerProperty and have a VICINITY project and also contains a wot:Property class. This
physical dimension of power). (2) The functional aspect of some is a subclass of wot:InteractionPattern and has no overlap with
of the subproperties of seas:hasProperty ensures they are used ssn:Property, saref:Property or seas:Property.
consistently. For example a light has exactly one value for property
on/off status in a given context. 5 PROCEDURES AND THEIR EXECUTIONS
The current version of SEAS contains 65 subclasses of seas:Prop-
The Procedure Execution ontology (PEP) defines pep:ProcedureExe-
erty and 157 sub-properties of seas:hasProperty, among which
cutors (sensor, actuator, web service, etc.) that implement pep:Proc-
142 are functional. These properties cover (non-exhaustive list):
edure methods (sensing, actuating, forecasting, some algorithm)
(a) time-related properties (event number, state change frequency,
and make pep:ProcedureExecution activities (observation, actu-
state change number, state duration), (b) complex numbers (real,
ation, web service execution, forecast). pep:Procedures may be
imaginary, module, phase); (c) periodic signals (frequency), (d) phys-
linked to some description of the input and/or the output using
ical systems and areas (location, length, width, diameter, shape,
object properties pep:hasInput and pep:hasOutput. Their execu-
speed, area, volume, humidity of various kinds); (e) population and
tions may be linked to some description of the command and/or the
population flow, noise, air pollution of various kinds; (f) power and
result using object properties pep:hasResult and pep:hasCommand.
energy (outgoing, incoming, produced, consumed, stored); (g) elec-
If the command or the result can be modeled as a simple RDF literal
tric systems (resistance, conductance, reactance, susceptance, volt-
(a typed UNICODE string), then one may use datatype properties
age, current); (h) failable systems (checkup, failure, repair, replace,
pep:hasSimpleResult and pep:hasSimpleCommand instead.
unavailability); (i) thermodynamic systems (temperature, thermal
Figure 3 illustrates the Procedure Execution ontology ontology
transmittance, total heat transfer); (j) ecology (carbon footprint),
pattern in green.
(k) financial systems (price, tax, value added tax), (l) lighting (colour,
As they represent very different concepts, classes pep:Procedure,
light reflection and transmission, luminosity, refractive indices)
pep:ProcedureExecutor, and pep:ProcedureExecution, are pairwise
disjoint. Also, a pep:ProcedureExecution is made by at most one
4.2 Alignment with other ontologies pep:ProcedureExecutor using at most one pep:Procedure. A Proce-
4.2.1 Properties in SOSA/SSN. The definition of ssn:Property in dure has at most one input and at most one output, and a pep:Proce-
the previous version of SSN imposed that an instance of ssn:Property dure has at most one command and at most one result. Finally, a
is intrinsic to and cannot exist without a specific instance of procedure execution uses all of the procedures that are implemented
seas:FeatureOfInterest. This is made clear in [7, §5.3.1.3.4]: Ob- by the executor that made it.
servedProperty is defined as a subclass of DUL:Quality. Types of
properties, such as temperature or pressure should be added as sub- 5.1 Instances of the Ontology Pattern
classes of ObservedProperty instead of individuals. The definition
The procedure execution ontology is a simple generalization of
of seas:Property thus conforms to that of the original Semantic
the SOSA/SSN ontology. SOSA describes sosa:Sensors that im-
Sensor Network ontology. On the contrary, some of the referenced
plement sosa:Procedures and make sosa:Observations, which are
datasets that use SSN define types of properties such as temperature
or pressure as instances of ssn:Property.3 A specific section in the
4 In the definition of Unit of Measure: For example, Power is a property and Watt is a
3 See https://www.w3.org/2015/spatial/wiki/What_is_an_instance_of_ssn:Property unit of power that represents a definite predetermined power
Planned ETSI SAREF Extensions based on SEAS Ontology Patterns SIS-IoT’17, July 2017, Amsterdam, Netherlands
activities. In parallel to this, it describes sosa:Actuators that imple- wot:providesInteractionPattern rdfs:subPropertyOf pep:implements .
ment sosa:Procedures and make sosa:Actuations. The Procedure wot:InteractionPattern rdfs:subClassOf pep:Procedure .
wot:hasInputData rdfs:subPropertyOf pep:hasInput .
Execution ontology defines an ontology pattern as a generalization wot:hasOutputData rdfs:subPropertyOf pep:hasOutput .
of these two parallel conceptual models, which accounts for at least
a third use case: Web services exposed on the web may be called to 5.2.4 RDFP. The seas:ProcedureExecution ontology is designed
trigger the execution of some procedure. to be aligned with the RDFP ontology5 , which can be used to de-
When instantiating the PEP pattern, one needs to define three scribe how a request/response message can be validated, lifted to
classes, and potentially properties that link instances of these classes RDF, or generated from a RDF representation of the request/re-
to some properties. Figure 3 illustrates such a pattern instantiation sponse.
in some ontology ex: in blue.
SEAS currently contains several instances of the PEP ontology 6 SYSTEMS AND THEIR CONNECTIONS
pattern, available in the following modules: (a) seas:DeviceOntology
The seas:SystemOntology module defines an ontology pattern to
(actuating and sensing); (b) seas:ForecastingOntology (forecasting,
describe systems that are connected via some connection points.
forecaster, forecast); (c) seas:OptimizationOntology (optimization
This ontology pattern can be instantiated for example to describe
process, executor, and execution); (d) seas:TradingOntology (trad-
zones inside a building (systems), that share a frontier (connections).
ing and balancing); (e) seas:SmartMeterOntology (metering, con-
sumption metering, and more).
6.1 Systems
The seas:SmartMeterOntology and the different concepts it intro-
duces such as seas:ConsumptionMetering and seas:ProductionMe- A system, modeled by class seas:System, is defined as a part of
tering illustrate the fact that combinations can be created between the universe that is virtually isolated from the environment. The
ontology patterns: given a set of n instances of the properties on- system properties are typically state variables (e.g., consumed or
tology pattern and a set of m instances of the PEP ontology pattern, stored energy, agent population, temperature, volume, humidity).
one can define n × m instances of a new ontology pattern that com- Figure 4 illustrates classes and properties that can be used to define
bines the two. We are currently investigating methods to ensure connected systems and their sub-systems.
instances of such pattern combinations can be generated automati- A system may be connected to other systems that are part of
cally, and means to filter out those that would be irrelevant. its environment. This is modeled by property seas:connectedTo,
which is symmetric. For example,
5.2 Alignment to other ontologies seas:connectedTo
.
5.2.1 SOSA/SSN. The alignment between PEP and SOSA/SSN is
defined in an external document pep:SSNAlignment. The naming of Connected systems interact in some ways. The exact meaning
classes and properties in the PEP module has been changed to reflect of interact is defined by sub properties of seas:connectedTo. For
the latest SOSA/SSN developments. In particular, new version 1.1: example, for the electricity to directly flow between an electric
(i) defines pep:hasResult and pep:hasSimpleResult; (ii) uses term vehicle service equipment and
“made” instead of “executed”; (iii) uses term “procedure” instead of an electric vehicle , then they must be linked by
“process”. On the other hand, SOSA defines only the input, output, property seas:exchangesElectricityWith:
result and simple result. PEP introduces two additional concepts seas:exchangesElectricityWith
for commands and simple commands. Change from PEP v1.0 to .
PEP v1.1 are still to be propagated to the other SEAS modules that
imported PEP v1.0. On the other hand, nothing broke with this A system can be a sub-system of a unique other system. This is
change of version because the ontology series and the individual modeled using property seas:subSystemOf, which is asymmetric
ontology versions are clearly identified and kept published online. and functional. For example,
This illustrates the robustness of an ontology that adopts the quality seas:subSystemOf .
criterions defined in section 2.5.
Properties of subsystems somehow contribute to the properties
5.2.2 SAREF. Both classes saref:Function (i.e., functionalities of the super system. The exact meaning of this contribution is
that devices can perform to accomplish their tasks) and saref:Service defined by sub properties of seas:subSystemOf. For example, if one
(i.e., representation of these functions offered by the device over an wants to model the fact that the consumption power of a fridge
IT network), along with their hierarchies (e.g., saref:SensingFunc- contributes to the consumption power of the kitchen,
tion, saref:ActuatingFunction, saref:EventFunction, saref:Metering- , then one may use a sub-property of seas:subSystemOf
Function, saref:SwitchOnService) may be used as subclasses of the named seas:subElectricPowerSystemOf:
seas:Procedure class. SAREF also proposes the class saref:Command seas:subElectricPowerSystemOf .
with a set of predefined instances (saref:onCommand saref:offCom-
mand) that could be used both as input description of a procedure, Property seas:subSystemOf is functional, and should be asym-
and as command of its execution. metric. In fact, this would prevent a system from being its own
sub-system. But OWL 2 DL prevents a non-simple property (e.g., a
5.2.3 The WoT TD ontology. The following alignments can be functional property) from being asymmetric, see [17, §11]. If it was
proposed between PEP and the WoT ontology:
5 RDF Presentation Ontology - https://w3id.org/rdfp/
SIS-IoT’17, July 2017, Amsterdam, Netherlands Maxime Lefrançois
ProcedureExecutionContainer
owl:Thing 1. J hasCommand ldp:member H madeBy I 1. implements I
1. J hasSimpleCommand
rdfs:Literal J made hasInput I 1.
1. J hasResult ProcedureExecution ProcedureExecutor Procedure
owl:Thing hasOutput I 1.
1. J hasSimpleResult usedProcedure I 1.
rdfs:Literal
ex:Forecast ex:Forecaster ex:Forecasting
H ex:forecastsProperty H ex:forecastsProperty
Property
forecasts H H isPropertyOf 1.
FeatureOfInterest
Figure 3: The Procedure Execution ontology ontology pattern and a possible instantiation.
connectedTo I connectedTo I
J connectedTo J connectedTo
System System System System
subSystemOf I 1. con
nec ugh
Jc ted «qualifies» T hro
onn Thro ed I
ugh ect tem
Figure 4: Module seas:SystemOntology: connected systems ect
sSy I c onn tsSys
and sub-systems. ste J nec
m con
Connection
possible that both the fridge and the kitchen were sub-systems of a Figure 5: Module seas:SystemOntology: connections be-
common super system, say, the house, then the consumption power tween systems.
of the fridge would contribute twice to the consumption power of
the house. The functional aspect of property seas:subSystemOf System System
prevents this undesired effect. Due to the open world assumption connectedThr
ough I
J connectsS Connection
1.
of RDF, it is not possible to model the closed set of sub systems of ystem
co nne
I
J
gh
nn cti
co
a system using property seas:subSystemOf. rou t
ec on
h
mT
tsA Po
A
ste ystem
Sy
t I intO
«qualifies»
e cts ectsS
6.2 Connections con
n
con
n
J
f
A connection between two systems, modeled by seas:connectedTo, ConnectionPoint
describes the potential interactions between connected systems.
A connection can be qualified using class seas:Connection. For Figure 6: Module seas:SystemOntology: connection points
example, one can then associate this connection with properties of a system.
that describe the interactions between the connected systems (e.g.,
population flow, exchange surface, contact temperature). Figure 5
illustrates classes and properties that can be used to qualify con- For example, an electric vehicle charging station may have three
nections between systems. connection points: two plugs of different kind to which electric
vehicles can connect, and a three phase connection point to the
seas:connectsSystem , public grid:
.
seas:connectedThrough . seas:connectsAt ,
seas:connectedThrough , .
.
One can then associate a connection point with properties that
describe it (e.g., position and speed, voltage and intensity, thermic
6.3 Connection points transmission coefficient).
A system connects to other systems at connection points. A connec-
tion point belongs to one and only one system, and can be described 6.4 Instances of the Ontology Pattern
using the class seas:ConnectionPoint. Figure 6 illustrates the classes This ontology pattern can be instantiated for different domains. For
and the properties that can be used to describe connection points example to describe zones inside a building (systems), that share
of a system. a frontier (connections). Properties of systems are typically state
Planned ETSI SAREF Extensions based on SEAS Ontology Patterns SIS-IoT’17, July 2017, Amsterdam, Netherlands
variables (e.g., agent population, temperature), whereas properties Property rdfs:Literal
of connections are typically flows (e.g., heat flow).
The current version of the SEAS ontology contains 173 sub- "20 Wh"^^cdt:ucum
classes of seas:System, 42 subclasses of seas:Connection, and 32 sub-
evaluation 1. H H 1. evaluatedSimpleValue
classes of seas:ConnectionPoint. The use cases that are covered are:
(a) seas:ThermodynamicSystemOntology defines thermodynamic
systems that can exchange heat with one another, and that have evaluation Evaluation evaluatedSimpleValue
sub-thermodynamic systems. (b) seas:CommunicationOntology
defines communication devices that can have multiple communica-
tion connection points with various protocols, and exchange infor- AverageEvaluation
mation when they are connected through a communication con- hasValidityContext hasValidityContext
nection; (c) seas:ArchitectureOntology models the concepts from
the SRAM SEAS Reference Architecture Model [6]: an extension hasTemporalContext H H hasSpatialContext
1. 1.
of SmartM2M that allows for the distribution of group managers. hasTemporalContext
This module defines group managers that can directly manage time:TemporalEntity hasSpatialContext
geo:SpatialThing
field entities, and core entities that can directly access field entities.
(d) seas:ZoneLightingOntology defines light sources that can illumi-
nate illuminable zones, which can then transmit light to other illu- some interval some geo:SpatialThing
minable zones. (e) seas:TradingOntology defines electricity traders
that can trade electricity with one another, or trade electricity on var- Figure 7: Illustration of module seas:EvaluationOntology
ious electricity markets. (f) seas:ElectricPowerSystemOntology de- and its use.
fines electric power systems that can exchange electricity with other
electric power systems via electric power connection points. This
7.2 Quantified evaluations.
module is the biggest and most detailed SEAS module. It has been
developed in collaboration with researchers from GECAD/ISEP in Because property values may evolve in space and time, or because
August 2016, and allows to describe precisely the typology of elec- they can be approximate measures or forecasts, class seas:Evaluation
tric grids, the electric power systems that compose it (transmission qualifies the link seas:value. In particular, an instance of seas:Eval-
systems, transformers, producers, consumers, storage systems), and uation may hold metadata about: (1) The type of evaluation is defined
the configuration in which they are connected via Power buses they by the hierarchy of seas:Evaluation sub classes. SEAS currently con-
can share that depends on the current type of the connected system. tains 92 such classes, among which: (a) seas:MaximumComfortable-
Evaluation: the given value is the maximum value for a property
that is considered comfortable for the associated agent; (b) seas:Time-
7 PROPERTY EVALUATIONS MaximumEvaluation: the given value is the maximum of the quan-
Module seas:EvaluationOntology defines ontology patterns to de- tity over the temporal context. (2) The context of validity of the
scribe evaluations (qualification or quantification) of properties, evaluation. The W3C&OGC Spatial Data on the Web Working
and to qualify these evaluations: (i) what kind of evaluation: (e.g., Group defined best practices for describing the validity context of
maximum tolerable temperature, forecasted temperature, mean entities [14, Best Practice 11]: Spatial data should include metadata
temperature), (ii) in a validity context (e.g, between 10 am and that allows a user to determine when it is valid for. In SEAS, an eval-
12 am tomorrow). uation validity context is described using functional sub properties
of seas:hasValidityContext. This property can be aligned with SSN
property ssn-system:inCondition, which describes the prevailing en-
7.1 Direct evaluation vironmental Conditions for SystemCapabilites, OperatingRanges and
A seas:Property may be directly associated with a quality or quan- SurvivalRanges. We defined two such properties as shown in Fig-
tity value, which is then unique and constant. This association is ure 7: (a) seas:hasTemporalContext links an entity to its temporal
asserted using object property seas:value or using datatype property validity context, a time:TemporalEntity; (b) seas:hasSpatialContext
seas:simpleValue. links an entity to its spatial validity context, a geo:SpatialThing.
A quantity value may use external vocabularies such as QUDT (it (3) Provenance information or any other data. Other metadata may
would then be qudt:Quantity), or OM (it would then be a om:Measure be added to describe an evaluation instance. For example the W3C
or om:Point), or be directly encoded as a literal using an appropri- PROV Ontology enables to describe the activity that generated the
ate datatype such as cdt:ucum. For example, the following triples evaluation, or its generation time. Other vocabularies may be used
quantify the consumption of a fridge using cdt:ucum literals: to further describe evaluations.
For example, the following graph states that the maximum com-
fortable value of is 27.0 °C for agent , but this
seas:simpleValue "50.1 Hz"^^cdt:ucum .
seas:simpleValue "231 V"^^cdt:ucum . value peaked at 35.8 °C during time interval 12:00-13:00.
seas:simpleValue "1.68 seas:evaluation [
RAD"^^cdt:ucum . a seas:TemperatureEvaluation , seas:AgentComfortEvaluation,
seas:MaximumComfortableEvaluation ;
seas:relativeToAgent ;
SIS-IoT’17, July 2017, Amsterdam, Netherlands Maxime Lefrançois
seas:evaluatedSimpleValue "27.0 DEG"^^cdt:ucum ] ] . instantiation with filters (ongoing work), and an enhanced docu-
mentation and publication platform for the ontology with enhanced
seas:evaluation [
a seas:TemperatureEvaluation , seas:TimeMaximumEvaluationn ; management of user-requested terms and modules.
seas:evaluatedSimpleValue "35.8 DEG"^^cdt:ucum ;
seas:hasTemporalContext [ ACKNOWLEDGMENTS
a time:Interval ;
time:hasBeginning [ time:inXSDDateTimeStamp This paper has been partly financed by the ITEA2 12004 SEAS
"2017-08-10T12:00:00Z"^^xsd:dateTimeStamp ] ;
time:hasEnd [ time:inXSDDateTimeStamp
(Smart Energy Aware Systems) project, the ANR 14-CE24-0029
"2017-08-10T13:00:00Z"^^xsd:dateTimeStamp ] ] ] . OpenSensingCity project, and a bilateral research convention with
ENGIE R&D. The author would like to thank animators and par-
ticipants of the first SEAS knowledge engineering workshop that
7.3 Properties vs Evaluation: choice criteria
kicked-off this work, and especially domain experts from ENGIE
When properties seem similar and inter-dependent, one requires R&D, ISEP/GECAD, CNR, ARMINES, IMT, INNOVA, VTT, ASEMA.
precise criteria to decide how to represent them best:
(A) distinct properties. If properties can be independent, one REFERENCES
represent each of them distinctly, as functional sub-properties of [1] 2005. Linked Data. Published online at http://www.w3.org/DesignIssues/
property seas:hasProperty. This is how length and width are mod- LinkedData.html. (2005). W3C Design issue.
[2] Jie Bao, George Voutsadakis, Giora Slutzki, and Vasant G. Honavar. 2009. Package-
eled for example. One can then give independent evaluation for Based Description Logics. In Modular Ontologies: Concepts, Theories and Tech-
each of these properties. (B) a single property and different sub- niques for Knowledge Modularization, Heiner Stuckenschmidt, Christine Parent,
classes of seas:Evaluation. If the property is unique, but one quali- and Stefano Spaccapietra (Eds.). Lecture Notes in Computer Science, Vol. 5445.
Springer-Verlag, 349–371.
fy/quantify it differently, then one only define a single functional [3] Tim Berners-Lee. 1998. Cool URIs don’t change. W3C Note. W3C. https://www.
sub-property of property seas:hasProperty, and several sub-classes w3.org/Provider/Style/URI.html
of seas:Evaluation. This is how a length, and the evaluation of its [4] Simon Cox and Chris Little. 2017. Time Ontology in OWL. W3C Candidate
Recommendation. W3C. https://www.w3.org/TR/2017/CR-owl-time-20170606/
minimum and maximum can be modeled. Note that the physical [5] Bernadette Farias Lóscio, Caroline Burle, and Newton Calegari. 2017. Data on
dimension given to a property must be the same as the physical the Web Best Practices. W3C Recommendation. W3C.
[6] Guillaume Habault, Jani Hursti, and Jean-Marie Bonnin. 2017. Defining a Dis-
dimension of each of its evaluation. (C) a property and several prop- tributed Architecture for Smart Energy Aware Systems. In Complex Systems
erties of this property. If one wants to model a unique property Design & Management. Springer, 83–94.
that itself has several properties with different quantity dimensions. [7] Armin Haller, Krzysztof Janowicz, Simon Cox, Danh Le Phuoc, Kerry Taylor, and
Maxime Lefrançois. 2017. Semantic Sensor Network Ontology. W3C Candidate
This is how the consumed energy, with its active, reactive, apparent, Recommendation. W3C. https://www.w3.org/TR/2017/CR-vocab-ssn-20170711/
and the power factor, are modeled. [8] Martin Hepp. 2008. Goodrelations: An ontology for describing products and
Using OWL axioms (or rules), one may express an equivalence services offers on the web. Knowledge Engineering: Practice and Patterns, 329–
346.
between options (A) and (C) above. [9] Diane I Hillmann, Gordon Dunsire, and Jon Phipps. 2014. Versioning vocabularies
in a linked data world. (2014).
8 CONCLUSION [10] Ralph Hodgson, Paul J Keller, Jack Hodges, and Jack Spivak. 2014. QUDT-
quantities, units, dimensions and data types ontologies. (2014). USA, Available
In this paper we described the design and publication choices that from: http://qudt.org [March 2014].
[11] Sebastian Kaebisch and Takuki Kamiya. 2017. Web of Things (WoT) Thing De-
were adopted in the development of the SEAS ontology with the scription. W3C First Public Working Draft. W3C. https://www.w3.org/TR/
goal of making it a high-quality, modular and versioned, ontology, wot-thing-description/
with a homogeneous, predictible, and extensible structures thanks [12] Preston-Werner, Tom. 2013. The Semantic Versioning specification. Technical
Report. http://semver.org/
to the simple core SEAS ontology patterns and the way they can [13] Leo Sauermann and Richard Cyganiak. 2008. Cool URIs for the Semantic Web.
be instantiated. The coverage of SEAS can be extended for the W3C Note. W3C. https://www.w3.org/TR/cooluris/
modeling and the description of any kind of engineering-related [14] Jeremy Tandy, Linda van den Brink, and Payam Barnaghi. 2017. Spatial Data on
the Web Best Practices. W3C Working Group Note. W3C. https://www.w3.org/
data/information/systems, without giving up on any of the recom- TR/2017/NOTE-sdw-bp-20170511/
mended best practice def ined by the Semantic Web community. [15] Pierre-Yves Vandenbussche, Ghislain A Atemezing, María Poveda-Villalón, and
Bernard Vatant. 2017. Linked Open Vocabularies (LOV): a gateway to reusable
Together with the SAREF and the ETSI SmartM2M momentum, semantic vocabularies on the Web. Semantic Web 8, 3 (2017), 437–452.
SEAS represents a potential additional step towards large adop- [16] Pierre-Yves Vandenbussche and Bernard Vatant. 2012. Metadata recommenda-
tion of the Semantic Web formalisms by industry stakeholders of tions for linked open data vocabularies. Web document. https://lov.okfn.org/
Recommendations_Vocabulary_Design.pdf
multiple verticals, meaning a step closer to actual semantic inter- [17] W3C OWL Working Group. 2012. OWL 2 Web Ontology Language Structural
operability on the IoT. Specification and Functional-Style Syntax (Second Edition), W3C Recommenda-
Future work on the SEAS content include extensions for multiple tion 11 December 2012. Technical Report. W3C. http://www.w3.org/TR/2012/
REC-owl2-syntax-20121211/
engineering-related verticals such as Smart Home, Smart Building,
Electric Mobility, Industry of the Future/Industry 4.0, including all
their field devices/processes/systems, measurements, environment,
actors/players and their relations, as well as flexibility/trading/busi-
ness related aspects.
Future work on the SEAS development ecosystem includes de-
velopment of continuous integration tools that automatically check
the quality of pull requests on gitHub; declarative description of
ontology patterns instantiations and compound ontology pattern