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