# Copyright 2016 ITEA 12004 SEAS Project. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. @prefix rdf: . @prefix owl: . @prefix rdfs: . @prefix xsd: . @prefix dcterms: . @prefix vann: . @prefix voaf: . @prefix vs: . @prefix foaf: . @prefix saref: . #SAREF smart building appliances ontology @prefix qudt: . @prefix qudt-unit: . #QUDT units @prefix ssn: . @prefix pep: . @prefix seas: . @base . voaf:Vocabulary a owl:Class . dcterms:title a owl:AnnotationProperty . dcterms:description a owl:AnnotationProperty . dcterms:issued a owl:AnnotationProperty . dcterms:modified a owl:AnnotationProperty . dcterms:creator a owl:AnnotationProperty . dcterms:contributor a owl:AnnotationProperty . dcterms:license a owl:AnnotationProperty . vann:preferredNamespacePrefix a owl:AnnotationProperty . vann:preferredNamespaceUri a owl:AnnotationProperty . vs:term_status a owl:AnnotationProperty . foaf:Person a owl:Class . foaf:name a owl:DatatypeProperty . seas:SystemOntology rdf:type voaf:Vocabulary , owl:Ontology ; dcterms:title "The SEAS System ontology"@en ; dcterms:description """The System Ontology defines Systems, Connections between systems, and Connection Points at which systems may be connected. This ontology is then specialized for multiple domains. For example: - In electric energy: - power systems consume, produce, store, and exchange electricity; - power connections are where electricity flows between systems; - power connection points are plugs, sockets, or power busses. - In the electricity market: - players and markets are systems; - connections are contracts or transactions between two players, or between a player and a market; - connection points include offers and bids. Figure below provides an overwiew of the concepts in this ontology: [![Overview of the System ontology](https://w3id.org/seas/system.png)](https://w3id.org/seas/system.png) """@en ; dcterms:issued "2016-06-06"^^xsd:date ; dcterms:modified "2016-09-21"^^xsd:date ; dcterms:creator ; dcterms:license ; vann:preferredNamespacePrefix "seas" ; vann:preferredNamespaceUri ; owl:imports seas:FeatureOfInterestOntology , seas:EvaluationOntology , ; owl:versionIRI ; owl:versionInfo "v1.0" . # systems seas:System a owl:Class ; rdfs:label "System"@en ; rdfs:comment """The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. For example: ``` seas:connectedTo . ``` Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem. For example: ``` seas:subSystemOf . ``` Figure below illustrates systems and their connections: [![Systems and their connections](https://w3id.org/seas/system1.png)](https://w3id.org/seas/system1.png) """@en ; rdfs:subClassOf seas:FeatureOfInterest ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . pep:ProcessExecutor rdfs:subClassOf seas:System . seas:connectedTo a owl:ObjectProperty , owl:SymmetricProperty ; rdfs:label "connected to"@en ; rdfs:comment """Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of _interact_ is defined by sub properties of `seas:connectedTo`. For example, for the electricity to directly flow between an electric vehicle service equipment and an electric vehicle, then they must be linked by property `seas:exchangesElectricityWith`: ``` seas:exchangesElectricityWith rdfs:subPropertyOf seas:connectedTo . seas:exchangesElectricityWith . ``` Property `seas:connectedTo` is symmetric: ``` if x seas:connectedTo y, then it is true that y seas:connectedTo x. ``` This property can be qualified using class `seas:Connection`, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected."""@en ; rdfs:domain seas:System ; rdfs:range seas:System ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:subSystemOf a owl:ObjectProperty , owl:FunctionalProperty ; # seas:subSystemOf a owl:ObjectProperty , owl:AsymmetricProperty , owl:FunctionalProperty ; # not allowed by OWL 2 DL rdfs:label "sub system of"@en ; rdfs:comment """Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of _contribute_ is defined by sub properties of `seas:subSystemOf`. For example, if a fridge is a subsystem of a kitchen, then its consumption power contributes to the consumption power of the kitchen. Property `seas:subSystemOf` is functional, and should be asymmetric: ``` if x seas:subSystemOf y1 and x seas:subSystemOf y2, then y1 and y2 refer to the same resource. if x seas:subSystemOf y, then it can't be the case that y seas:subSystemOf x. ``` The asymmetric aspect of property `seas:subSystemOf` would prevents a system from being its own sub-system. Unfortunately, OWL 2 DL disallow a non-simple property (e.g., a functional property) from being asymmetric, see OWL 2 Syntax section 11. If it was possible that both the fridge and the kitchen be sub systems of a common super system, say, the house, then the consumption power of the fridge would contribute twice to the consumption power of the house. The functional aspect of property `seas:subSystemOf` prevents this undesired effect. Due to the open world assumption of RDF, it is not possible to model the closed set of sub systems of a system using property `seas:subSystemOf`. """@en ; rdfs:domain seas:System ; rdfs:range seas:System ; owl:inverseOf seas:hasSubSystem ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:hasSubSystem a owl:ObjectProperty , owl:InverseFunctionalProperty ; rdfs:label "has sub system"@en ; rdfs:comment """Links a system to one of its sub systems."""@en ; rdfs:domain seas:System ; rdfs:range seas:System ; owl:inverseOf seas:subSystemOf ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . # connections seas:Connection a owl:Class ; rdfs:label "Connection"@en ; rdfs:comment """The class of connections between systems. This class qualifies property `seas:connectedTo`. A connection describes potential interactions between systems. For example, a power connection between power systems describes the fact that these systems may exchange electricity. ``` seas:connectsSystem , . seas:connectedThrough . seas:connectedThrough . ``` Any two connected systems are connected through a connection. If: ``` a seas:System . a seas:System . seas:connectedTo . ``` then there exists `_:connection` such that: ``` _:connection seas:connectsSystem , . ``` A connection can connect more than two systems at the same time. Figure below illustrates connections of systems: [![Connections of systems](https://w3id.org/seas/system2.png)](https://w3id.org/seas/system2.png) """@en ; rdfs:subClassOf seas:FeatureOfInterest ; rdfs:subClassOf [ owl:onProperty seas:connectsSystem ; owl:someValuesFrom seas:System ] ; rdfs:subClassOf [ owl:onProperty seas:connectsSystemAt ; owl:someValuesFrom seas:ConnectionPoint ] ; owl:disjointWith seas:System ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectsSystem a owl:ObjectProperty ; rdfs:label "connects system"@en ; rdfs:comment "Links a connection to one of the systems it connects."@en ; rdfs:domain seas:Connection ; rdfs:range seas:System ; owl:inverseOf seas:connectedThrough ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectedThrough a owl:ObjectProperty ; rdfs:label "connected through"@en ; rdfs:comment "Links a system to one of its connections to other systems."@en ; rdfs:domain seas:System ; rdfs:range seas:Connection ; owl:inverseOf seas:connectsSystem ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . # seas:connectedTo owl:propertyChainAxiom ( seas:connectedThrough seas:connectsSystem ) . # this axiom is not true: it would imply that every connected system is connected to itself # connection points seas:ConnectionPoint a owl:Class ; rdfs:label "Connection Point"@en ; rdfs:comment """The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties `seas:connectsSystem` and `seas:connectedThrough`. A connection point belongs to exactly one system. For example, an electric vehicle service equipment may have three power connection points: two different kinds of plugs that enable to charge electric vehicles, and a three phase power bus connection point to the grid: ``` seas:connectsAt , , . ``` Any system connected through a connection is connected at one of its connection points to the connection: if: ``` a seas:System . seas:connectedThrough . a seas:Connection . ``` then there exists `_:connectionPoint` such that: ``` seas:connectsAt _:connectionPoint . _:connectionPoint seas:connectsSystemAt . ``` The system of a connection point that is connected through a connection is itself connected through the connection:. If: ``` a seas:Connection . a seas:System . a seas:ConnectionPoint ; seas:connectsSystemThrough . ``` then it is true that: ``` seas:connectionPointOf . ``` Figure below illustrates connection points of systems: [![Connection points of systems](https://w3id.org/seas/system3.png)](https://w3id.org/seas/system3.png) """@en ; rdfs:subClassOf seas:FeatureOfInterest ; rdfs:subClassOf [ owl:onProperty seas:connectionPointOf ; owl:cardinality 1 ] ; owl:disjointWith seas:System, seas:Connection ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectedThrough owl:propertyChainAxiom ( seas:connectsAt seas:connectsSystemThrough ) . seas:connectsSystem owl:propertyChainAxiom ( seas:connectsSystemAt seas:connectionPointOf ) . seas:connectsAt a owl:ObjectProperty, owl:InverseFunctionalProperty ; rdfs:label "connects at"@en ; rdfs:comment "Links a system to one of the connection points at which it connects."@en ; rdfs:domain seas:System ; rdfs:range seas:ConnectionPoint ; owl:inverseOf seas:connectionPointOf ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectionPointOf a owl:ObjectProperty, owl:FunctionalProperty ; rdfs:label "connection point to"@en ; rdfs:comment "Links a connection point to the one and only one system it belongs to."@en ; rdfs:domain seas:ConnectionPoint ; rdfs:range seas:System ; owl:inverseOf seas:connectsAt ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectsSystemAt a owl:ObjectProperty ; rdfs:label "connects system at"@en ; rdfs:comment "Links a connection to one of the connection points at which it connects a system."@en ; rdfs:domain seas:Connection ; rdfs:range seas:ConnectionPoint ; owl:inverseOf seas:connectsSystemThrough ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . seas:connectsSystemThrough a owl:ObjectProperty ; rdfs:label "connects system through"@en ; rdfs:comment "Links a connection point to one of the connections through which it connects its system."@en ; rdfs:domain seas:ConnectionPoint ; rdfs:range seas:Connection ; owl:inverseOf seas:connectsSystemAt ; vs:term_status "stable" ; rdfs:isDefinedBy seas:SystemOntology . # specific evaluations seas:IncomingEvaluation a owl:Class ; rdfs:label "Incoming evaluation"@en ; rdfs:comment """Evaluation of how the exterior contributes to the property."""@en ; rdfs:subClassOf seas:Evaluation ; vs:term_status "testing" ; rdfs:isDefinedBy seas:ZoneOntology . seas:OutgoingEvaluation a owl:Class ; rdfs:label "Outgoing Evaluation"@en ; rdfs:comment """Evaluation of how the property contributes to the exterior."""@en ; rdfs:subClassOf seas:Evaluation ; owl:disjointWith seas:IncomingEvaluation ; vs:term_status "testing" ; rdfs:isDefinedBy seas:ZoneOntology . seas:BalanceEvaluation rdfs:label "Balance Evaluation" ; rdfs:comment """Evaluation of the difference between the incoming evaluation and the outgoing evaluation."""@en ; rdfs:subClassOf seas:Evaluation ; owl:disjointWith seas:IncomingEvaluation ; vs:term_status "testing" ; rdfs:isDefinedBy seas:ZoneOntology .