Updated property and resource files
authorjani <jani@asema.com>
Mon, 5 Aug 2019 07:52:02 +0000 (10:52 +0300)
committerjani <jani@asema.com>
Mon, 5 Aug 2019 07:52:02 +0000 (10:52 +0300)
13 files changed:
Common/C#/SmartAPI/common/DATATYPE.cs
Common/C#/SmartAPI/common/PROPERTY.cs
Common/C#/SmartAPI/common/RESOURCE.cs
Common/C++/SmartAPI/smartapi/common/DATATYPE.h
Common/C++/SmartAPI/smartapi/common/PROPERTY.h
Common/C++/SmartAPI/smartapi/common/RESOURCE.h
Common/Java/SmartAPI/src/smartapi/common/DATATYPE.java
Common/Java/SmartAPI/src/smartapi/common/PROPERTY.java
Common/Java/SmartAPI/src/smartapi/common/RESOURCE.java
Common/Python/SmartAPI/common/DATATYPE.py
Common/Python/SmartAPI/common/PROPERTY.py
Common/Python/SmartAPI/common/RESOURCE.py
Ontology/smartapi_merged-1.0.ttl [new file with mode: 0644]

index ece6eb69cae1aac4639bff5ae3b6e86f18bf0826..dacff8536bb0a4139280862ddbf449d2728e9a63 100644 (file)
@@ -1,6 +1,6 @@
 /// This file is automatically created by HeaderFileGenerator.
 /// Do not edit manually.
-/// Generated at 2019/07/10 16:15:47
+/// Generated at 2019/08/05 10:49:50
 
 namespace SmartAPI.Common
 {
index 9f8bd93b9b072de210f57ac9bfd216d2c815c9ca..aa4df0e994e0a93549083ab214e755050a169e9b 100644 (file)
@@ -1,6 +1,6 @@
 /// This file is automatically created by HeaderFileGenerator.
 /// Do not edit manually.
-/// Generated at 2019/07/10 16:15:47
+/// Generated at 2019/08/05 10:49:50
 
 namespace SmartAPI.Common
 {
index 1c248a15bfa3e9af7d4eff7f4049be4cadb60cfc..9fd999cb1287bd72ab09655c0912968e75767129 100644 (file)
@@ -1,6 +1,6 @@
 /// This file is automatically created by HeaderFileGenerator.
 /// Do not edit manually.
-/// Generated at 2019/07/10 16:15:47
+/// Generated at 2019/08/05 10:49:50
 
 namespace SmartAPI.Common
 {
@@ -308,6 +308,7 @@ namespace SmartAPI.Common
         public const string CONVERTERDCTOAC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoAC";
         public const string CONVERTERDCTODC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoDC";
         public const string CONVERTIBLEMARK = "http://data.nasa.gov/qudt/owl/unit#ConvertibleMark";
+        public const string COOKIE = "http://smart-api.io/ontology/1.0/smartapi#Cookie";
         public const string COOLING = "http://smart-api.io/ontology/1.0/smartapi#Cooling";
         public const string COOLINGCOEFFICIENTOFPERFORMANCE = "http://smart-api.io/ontology/1.0/smartapi#CoolingCoefficientOfPerformance";
         public const string COOLINGMANAGEMENTENTITY = "http://smart-api.io/ontology/1.0/smartapi#CoolingManagementEntity";
@@ -748,6 +749,7 @@ namespace SmartAPI.Common
         public const string HOURSQUAREFOOT = "http://data.nasa.gov/qudt/owl/unit#HourSquareFoot";
         public const string HOUSE = "http://smart-api.io/ontology/1.0/smartapi#House";
         public const string HRYVNIA = "http://data.nasa.gov/qudt/owl/unit#Hryvnia";
+        public const string HTTPSTANDARD = "http://smart-api.io/ontology/1.0/smartapi#HttpStandard";
         public const string HUMANUNIT = "http://data.nasa.gov/qudt/owl/qudt#HumanUnit";
         public const string HUMIDITY = "http://smart-api.io/ontology/1.0/smartapi#Humidity";
         public const string HUMIDITYSENSOR = "http://smart-api.io/ontology/1.0/smartapi#HumiditySensor";
@@ -1178,6 +1180,7 @@ namespace SmartAPI.Common
         public const string NUMBERDENSITY = "http://data.nasa.gov/qudt/owl/quantity#NumberDensity";
         public const string NUMBERPERYEAR = "http://data.nasa.gov/qudt/owl/unit#NumberPerYear";
         public const string N_ARY_RELATIONS = "http://purl.org/goodrelations/v1#N-Ary-Relations";
+        public const string OAUTH2 = "http://smart-api.io/ontology/1.0/smartapi#OAuth2";
         public const string OBJECT = "http://smart-api.io/ontology/1.0/smartapi#Object";
         public const string OBJECTOPERATIONDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ObjectOperationDependentPriceSpecification";
         public const string OBJECTPROPERTY = "http://www.w3.org/2002/07/owl#ObjectProperty";
index beafe61c22f24552f498a78de0904a3e12d71e3b..450a9c7f61f0b8d7dc88d3cf447719ac99451b90 100644 (file)
@@ -1,7 +1,7 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
 
-// Generated at 2019/07/10 16:15:47
+// Generated at 2019/08/05 10:49:50
 
 #ifndef __DATATYPE_H__
 #define __DATATYPE_H__
index 3a442d4de069a7944730a82609d3d84b7c3b6ea0..f49df70162dba527ae2048426c669367e638bced 100644 (file)
@@ -1,7 +1,7 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
 
-// Generated at 2019/07/10 16:15:47
+// Generated at 2019/08/05 10:49:50
 
 #ifndef __PROPERTY_H__
 #define __PROPERTY_H__
index 75f6a4bb0ab802a5cd53dec3842e1863b2ce3b3a..6ecaf3a431484cf7da2f0bcef393f63de7d92329 100644 (file)
@@ -1,7 +1,7 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
 
-// Generated at 2019/07/10 16:15:47
+// Generated at 2019/08/05 10:49:50
 
 #ifndef __RESOURCE_H__
 #define __RESOURCE_H__
 #define RESOURCE__CONVERTERDCTOAC              "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoAC"
 #define RESOURCE__CONVERTERDCTODC              "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoDC"
 #define RESOURCE__CONVERTIBLEMARK              "http://data.nasa.gov/qudt/owl/unit#ConvertibleMark"
+#define RESOURCE__COOKIE               "http://smart-api.io/ontology/1.0/smartapi#Cookie"
 #define RESOURCE__COOLING              "http://smart-api.io/ontology/1.0/smartapi#Cooling"
 #define RESOURCE__COOLINGCOEFFICIENTOFPERFORMANCE              "http://smart-api.io/ontology/1.0/smartapi#CoolingCoefficientOfPerformance"
 #define RESOURCE__COOLINGMANAGEMENTENTITY              "http://smart-api.io/ontology/1.0/smartapi#CoolingManagementEntity"
 #define RESOURCE__HOURSQUAREFOOT               "http://data.nasa.gov/qudt/owl/unit#HourSquareFoot"
 #define RESOURCE__HOUSE                "http://smart-api.io/ontology/1.0/smartapi#House"
 #define RESOURCE__HRYVNIA              "http://data.nasa.gov/qudt/owl/unit#Hryvnia"
+#define RESOURCE__HTTPSTANDARD         "http://smart-api.io/ontology/1.0/smartapi#HttpStandard"
 #define RESOURCE__HUMANUNIT            "http://data.nasa.gov/qudt/owl/qudt#HumanUnit"
 #define RESOURCE__HUMIDITY             "http://smart-api.io/ontology/1.0/smartapi#Humidity"
 #define RESOURCE__HUMIDITYSENSOR               "http://smart-api.io/ontology/1.0/smartapi#HumiditySensor"
 #define RESOURCE__NUMBERDENSITY                "http://data.nasa.gov/qudt/owl/quantity#NumberDensity"
 #define RESOURCE__NUMBERPERYEAR                "http://data.nasa.gov/qudt/owl/unit#NumberPerYear"
 #define RESOURCE__N_ARY_RELATIONS              "http://purl.org/goodrelations/v1#N-Ary-Relations"
+#define RESOURCE__OAUTH2               "http://smart-api.io/ontology/1.0/smartapi#OAuth2"
 #define RESOURCE__OBJECT               "http://smart-api.io/ontology/1.0/smartapi#Object"
 #define RESOURCE__OBJECTOPERATIONDEPENDENTPRICESPECIFICATION           "http://smart-api.io/ontology/1.0/smartapi#ObjectOperationDependentPriceSpecification"
 #define RESOURCE__OBJECTPROPERTY               "http://www.w3.org/2002/07/owl#ObjectProperty"
 #define RESOURCE__ZONETRAVELDEPENDENTPRICESPECIFICATION                "http://smart-api.io/ontology/1.0/smartapi#ZoneTravelDependentPriceSpecification"
 #define RESOURCE__ZONETRAVELDURATIONDEPENDENTPRICESPECIFICATION                "http://smart-api.io/ontology/1.0/smartapi#ZoneTravelDurationDependentPriceSpecification"
 
-#define RESOURCE__COOKIE               "http://smart-api.io/ontology/1.0/smartapi#Cookie"
-#define RESOURCE__HTTPSTANDARD         "http://smart-api.io/ontology/1.0/smartapi#HttpStandard"
-#define RESOURCE__OAUTH2               "http://smart-api.io/ontology/1.0/smartapi#OAuth2"
-
 #endif //__RESOURCE_H__
index b4701bb24b9469c8d9ff7818103ef0fb4bd817b2..ef674ad911b81ffc9f3fb29f2fdf9b837905534c 100644 (file)
@@ -1,6 +1,6 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
-// Generation time 2019/07/10 16:15:47
+// Generation time 2019/08/05 10:49:50
 
 package smartapi.common;
 
index cd6b46f943303633374004ede08fb124e3351e7b..889a52fa5100c2606a94788c8f56256a4981fe25 100644 (file)
@@ -1,6 +1,6 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
-// Generation time Wed Jul 10 16:15:48 EEST 2019
+// Generation time Mon Aug 05 10:49:51 EEST 2019
 
 package smartapi.common;
 
index 6a0ebbcd8c9f08346cea91b859442384ee224451..68b186c88a7371e295a87c88d05e8d23da71ef59 100644 (file)
@@ -1,6 +1,6 @@
 // This file is automatically created by HeaderFileGenerator.
 // Do not edit manually.
-// Generation time 2019/07/10 16:15:47
+// Generation time 2019/08/05 10:49:50
 
 package smartapi.common;
 
@@ -308,6 +308,7 @@ public final class RESOURCE {
        public static final String CONVERTERDCTOAC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoAC";
        public static final String CONVERTERDCTODC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoDC";
        public static final String CONVERTIBLEMARK = "http://data.nasa.gov/qudt/owl/unit#ConvertibleMark";
+       public static final String COOKIE = "http://smart-api.io/ontology/1.0/smartapi#Cookie";
        public static final String COOLING = "http://smart-api.io/ontology/1.0/smartapi#Cooling";
        public static final String COOLINGCOEFFICIENTOFPERFORMANCE = "http://smart-api.io/ontology/1.0/smartapi#CoolingCoefficientOfPerformance";
        public static final String COOLINGMANAGEMENTENTITY = "http://smart-api.io/ontology/1.0/smartapi#CoolingManagementEntity";
@@ -748,6 +749,7 @@ public final class RESOURCE {
        public static final String HOURSQUAREFOOT = "http://data.nasa.gov/qudt/owl/unit#HourSquareFoot";
        public static final String HOUSE = "http://smart-api.io/ontology/1.0/smartapi#House";
        public static final String HRYVNIA = "http://data.nasa.gov/qudt/owl/unit#Hryvnia";
+       public static final String HTTPSTANDARD = "http://smart-api.io/ontology/1.0/smartapi#HttpStandard";
        public static final String HUMANUNIT = "http://data.nasa.gov/qudt/owl/qudt#HumanUnit";
        public static final String HUMIDITY = "http://smart-api.io/ontology/1.0/smartapi#Humidity";
        public static final String HUMIDITYSENSOR = "http://smart-api.io/ontology/1.0/smartapi#HumiditySensor";
@@ -1178,6 +1180,7 @@ public final class RESOURCE {
        public static final String NUMBERDENSITY = "http://data.nasa.gov/qudt/owl/quantity#NumberDensity";
        public static final String NUMBERPERYEAR = "http://data.nasa.gov/qudt/owl/unit#NumberPerYear";
        public static final String N_ARY_RELATIONS = "http://purl.org/goodrelations/v1#N-Ary-Relations";
+       public static final String OAUTH2 = "http://smart-api.io/ontology/1.0/smartapi#OAuth2";
        public static final String OBJECT = "http://smart-api.io/ontology/1.0/smartapi#Object";
        public static final String OBJECTOPERATIONDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ObjectOperationDependentPriceSpecification";
        public static final String OBJECTPROPERTY = "http://www.w3.org/2002/07/owl#ObjectProperty";
index a714d5759e53feba653f835a4a3bbcc393b52a95..2f80b0a3fcab1d540247e392e6f340b94731ce5f 100644 (file)
@@ -1,6 +1,6 @@
 # This file is automatically created by HeaderFileGenerator.
 # Do not edit manually.
-# Generated at 2019/07/10 16:15:47
+# Generated at 2019/08/05 10:49:50
 class DATATYPE(object):
 
        ANYSIMPLETYPE = "http://www.w3.org/2001/XMLSchema#anySimpleType"
index ad9ae642e7322f4ec5898ddbfa3fc23a875b150a..72046eead122bd62127d89b490141498aa175dea 100644 (file)
@@ -1,6 +1,6 @@
 # This file is automatically created by HeaderFileGenerator.
 # Do not edit manually.
-# Generated at 2019/07/10 16:15:47
+# Generated at 2019/08/05 10:49:50
 class PROPERTY(object):
 
        ABBREVIATION = "http://data.nasa.gov/qudt/owl/qudt#abbreviation"
index df83e62aa5223b06369de3f8dc52d80a6425fe6b..c848b080bb8e40b824d1ac57d77eae95fd33d0cb 100644 (file)
@@ -1,6 +1,6 @@
 # This file is automatically created by HeaderFileGenerator.
 # Do not edit manually.
-# Generated at 2019/07/10 16:15:47
+# Generated at 2019/08/05 10:49:50
 class RESOURCE(object):
 
        ABAMPERE = "http://data.nasa.gov/qudt/owl/unit#Abampere"
@@ -306,6 +306,7 @@ class RESOURCE(object):
        CONVERTERDCTOAC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoAC"
        CONVERTERDCTODC = "http://smart-api.io/ontology/1.0/smartapi#ConverterDCtoDC"
        CONVERTIBLEMARK = "http://data.nasa.gov/qudt/owl/unit#ConvertibleMark"
+       COOKIE = "http://smart-api.io/ontology/1.0/smartapi#Cookie"
        COOLING = "http://smart-api.io/ontology/1.0/smartapi#Cooling"
        COOLINGCOEFFICIENTOFPERFORMANCE = "http://smart-api.io/ontology/1.0/smartapi#CoolingCoefficientOfPerformance"
        COOLINGMANAGEMENTENTITY = "http://smart-api.io/ontology/1.0/smartapi#CoolingManagementEntity"
@@ -746,6 +747,7 @@ class RESOURCE(object):
        HOURSQUAREFOOT = "http://data.nasa.gov/qudt/owl/unit#HourSquareFoot"
        HOUSE = "http://smart-api.io/ontology/1.0/smartapi#House"
        HRYVNIA = "http://data.nasa.gov/qudt/owl/unit#Hryvnia"
+       HTTPSTANDARD = "http://smart-api.io/ontology/1.0/smartapi#HttpStandard"
        HUMANUNIT = "http://data.nasa.gov/qudt/owl/qudt#HumanUnit"
        HUMIDITY = "http://smart-api.io/ontology/1.0/smartapi#Humidity"
        HUMIDITYSENSOR = "http://smart-api.io/ontology/1.0/smartapi#HumiditySensor"
@@ -1176,6 +1178,7 @@ class RESOURCE(object):
        NUMBERDENSITY = "http://data.nasa.gov/qudt/owl/quantity#NumberDensity"
        NUMBERPERYEAR = "http://data.nasa.gov/qudt/owl/unit#NumberPerYear"
        N_ARY_RELATIONS = "http://purl.org/goodrelations/v1#N-Ary-Relations"
+       OAUTH2 = "http://smart-api.io/ontology/1.0/smartapi#OAuth2"
        OBJECT = "http://smart-api.io/ontology/1.0/smartapi#Object"
        OBJECTOPERATIONDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ObjectOperationDependentPriceSpecification"
        OBJECTPROPERTY = "http://www.w3.org/2002/07/owl#ObjectProperty"
@@ -1967,8 +1970,3 @@ class RESOURCE(object):
        ZONEPOPULATIONDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ZonePopulationDependentPriceSpecification"
        ZONETRAVELDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ZoneTravelDependentPriceSpecification"
        ZONETRAVELDURATIONDEPENDENTPRICESPECIFICATION = "http://smart-api.io/ontology/1.0/smartapi#ZoneTravelDurationDependentPriceSpecification"
-       
-       COOKIE = "http://smart-api.io/ontology/1.0/smartapi#Cookie"
-       HTTPSTANDARD = "http://smart-api.io/ontology/1.0/smartapi#HttpStandard"
-       OAUTH2 = "http://smart-api.io/ontology/1.0/smartapi#OAuth2"
-
diff --git a/Ontology/smartapi_merged-1.0.ttl b/Ontology/smartapi_merged-1.0.ttl
new file mode 100644 (file)
index 0000000..3d0981d
--- /dev/null
@@ -0,0 +1,6474 @@
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix cc: <http://creativecommons.org/ns#>.                 #Creative commons namespace
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix void: <https://www.w3.org/TR/void/>.                  #Ontology of interelinked datasets
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+
+
+<http://smart-api.io/ontology/1.0/> rdf:type voaf:Ontology , owl:Ontology ;
+  dc:title "Smart API Ontology"@en ;
+  dc:description "The Smart API ontology, that glues together all of the Smart API vocabularies"@en ;
+  dc:creator [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:issued "2019-01-01"^^xsd:date ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0> ;
+  owl:versionInfo "v1.0" ;
+  owl:imports <http://data.qudt.org/qudt/owl/1.0.0/qudt.owl> ;
+  owl:imports <http://data.qudt.org/qudt/owl/1.0.0/quantity.owl> ;
+  owl:imports <http://data.qudt.org/qudt/owl/1.0.0/unit.owl> ;
+  owl:imports <http://purl.org/goodrelations/v1.owl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/AbstractEntityOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/CommonStructureOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/DataOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/EntityOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/EnvironmentOntology-1.1.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/IndividualsOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/NetworkingOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/PhysicalEntityOntology-1.1.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/SecurityOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/TradingOntology-1.0.ttl> ;
+  owl:imports <http://www.smart-api.io/ontology/1.0/QuantityUnitOntology-1.0.ttl> .
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix saref: <https://w3id.org/saref#>.                     #SAREF smart building appliances ontology
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+# smartapi entities that represent abstract objects
+smartapi:AbstractEntityOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-AbstractEntityOntology ontology"@en ;
+  dc:description "The Smart API abstract entity ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/AbstractEntityOntology> ;
+  owl:versionInfo "v1.0" .
+
+
+# abstract entities
+
+smartapi:Service a owl:Class ;
+  rdfs:label "Service"@en ;
+  rdfs:label "Palvelu"@fi ;
+  rdfs:comment "Service is an abstract entity, typically with activities described as capabilities."@en ;
+  rdfs:subClassOf smartapi:AbstractEntity ;
+  rdfs:seeAlso saref:Service, <http://purl.org/goodrelations/v1#Offering> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+smartapi:ResourceManager a owl:Class ;
+  rdfs:label "Resource manager"@en ;
+  rdfs:label "Resurssienhallinta"@fi ;
+  rdfs:comment "The class of resource managers."@en ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology ;
+  rdfs:subClassOf smartapi:AbstractEntity ;
+  vs:term_status "testing" .
+
+smartapi:Organization a owl:Class ;
+  rdfs:label "Organization"@en ;
+  rdfs:label "Organisaatio"@fi ;
+  rdfs:comment "Resource indicating an organization."@en ;
+  owl:equivalentClass vcard:Organization ;
+  rdfs:subClassOf smartapi:AbstractEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+  
+smartapi:Subscription a owl:Class ;
+  rdfs:label "Subscription"@en ;
+  rdfs:label "Tilaus"@fi ;
+  rdfs:comment "An arrangement for providing, receiving, or making use of something of a continuing or periodic nature."@en ;
+  rdfs:subClassOf smartapi:AbstractEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+smartapi:ServiceSubscription a owl:Class ;
+  rdfs:label "Service subscription"@en ;
+  rdfs:label "Palvelun tilaus"@fi ;
+  rdfs:comment "An arrangement for using a service for a given time."@en ;
+  rdfs:subClassOf smartapi:Subscription ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+# service providers
+
+smartapi:FacilityManagementEntity a owl:Class ;
+  rdfs:label "Facility management"@en ;
+  rdfs:label "Kiinteistöhuolto"@fi ;
+  rdfs:comment "Entity related to facility management"@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Service;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+  
+smartapi:ServiceProvider a owl:Class ;
+  rdfs:label "Service provider"@en ;
+  rdfs:label "Palveluntarjoaja"@fi ;
+  rdfs:comment "The class of service providers."@en ;
+  rdfs:subClassOf smartapi:Organization  ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology ;
+  vs:term_status "testing" .
+  
+
+# facility management categories
+
+smartapi:WasteManagementEntity a owl:Class ;
+  rdfs:label "Waste"@en ;
+  rdfs:label "Jäte"@fi ;
+  rdfs:comment "Entity related to waste management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:WaterManagementEntity a owl:Class ;
+  rdfs:label "Water"@en ;
+  rdfs:label "Vesi"@fi ;
+  rdfs:comment "Entity related to water management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:HeatingManagementEntity a owl:Class ;
+  rdfs:label "Heating"@en ;
+  rdfs:label "Lämmitys"@fi ;
+  rdfs:comment "Entity related to heating management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:CoolingManagementEntity a owl:Class ;
+  rdfs:label "Cooling"@en ;
+  rdfs:label "Viilennys"@fi ;
+  rdfs:comment "Entity related to cooling management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:ElectricityManagementEntity a owl:Class ;
+  rdfs:label "Electricity"@en ;
+  rdfs:label "Sähkö"@fi ;
+  rdfs:comment "Entity related to electricity management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:SpaceManagementEntity a owl:Class ;
+  rdfs:label "Space"@en ;
+  rdfs:label "Tilat"@fi ;
+  rdfs:comment "Entity related to space management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+smartapi:SecurityManagementEntity a owl:Class ;
+  rdfs:label "Security"@en ;
+  rdfs:label "Turvallisuus"@fi ;
+  rdfs:comment "Entity related to security management."@en ;
+  rdfs:subClassOf smartapi:FacilityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+  
+# energy resource
+
+smartapi:EnergySystem a owl:Class ;
+  rdfs:label "Energy system"@en ;
+  rdfs:label "Energiajärjestelmä"@fi ;
+  rdfs:comment "An energy related physical system"@en ;
+  rdfs:subClassOf smartapi:System;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+# energy load
+
+smartapi:EnergyLoad a owl:Class ;
+  rdfs:label "Energy load"@en ;
+  rdfs:label "Energiakuorma"@fi ;
+  rdfs:comment "An energy load"@en ;
+  rdfs:subClassOf smartapi:EnergySystem;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+smartapi:BuildingEnergyLoad a owl:Class ;
+  rdfs:label "Building energy load"@en ;
+  rdfs:label "Rakennuksen energiakuorma"@fi ;
+  rdfs:comment "Energy load in a building"@en ;
+  rdfs:subClassOf smartapi:BuildingSystem, smartapi:EnergyLoad;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:Lighting a owl:Class ;
+  rdfs:label "Lighting"@en ;
+  rdfs:label "Valaistus"@fi;
+  rdfs:comment "Lighting or illumination is the deliberate use of light to achieve a practical or aesthetic effect."@en ;
+  rdfs:subClassOf smartapi:BuildingEnergyLoad, smartapi:System, smartapi:ElectricityManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:HVAC a owl:Class ;
+  rdfs:label "HVAC"@en ;
+  rdfs:label "LVI"@fi;
+  rdfs:comment "Wikipeida: HVAC (heating, ventilating, and air conditioning; also heating, ventilation, and air conditioning) is the technology of indoor and vehicular environmental comfort. Its goal is to provide thermal comfort and acceptable indoor air quality."@en ;
+  rdfs:subClassOf smartapi:BuildingEnergyLoad ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:Ventilation a owl:Class ;
+  rdfs:label "Ventilation"@en ;
+  rdfs:label "Ilmanvaihto"@fi;
+  rdfs:comment "ventilation"@en ;
+  rdfs:subClassOf smartapi:HVAC, smartapi:System ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:Heating a owl:Class ;
+  rdfs:label "Heating"@en ;
+  rdfs:label "Lämmitys"@fi;
+  rdfs:comment "Heating"@en ;
+  rdfs:subClassOf smartapi:HVAC, smartapi:System ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:AirConditioning a owl:Class ;
+  rdfs:label "Air conditioning"@en ;
+  rdfs:label "Ilmastointi"@fi;
+  rdfs:comment "Air conditioning"@en ;
+  rdfs:subClassOf smartapi:HVAC, smartapi:System ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:Cooling a owl:Class ;
+  rdfs:label "Cooling"@en ;
+  rdfs:label "Jäähdytys"@fi;
+  rdfs:comment "Cooling"@en ;
+  rdfs:subClassOf smartapi:AirConditioning ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:CentralHeating a owl:Class ;
+  rdfs:label "Central heating"@en ;
+  rdfs:label "Keskuslämmitys"@fi ;
+  rdfs:comment "The class of central (for several building spaces) heating systems part of HVAC. The energy source can be either district heating, electricity, heat pumps or direct burning of fuels such as wood or oil."@en ;
+  rdfs:subClassOf smartapi:Heating, smartapi:HeatingManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:CentralCooling a owl:Class ;
+  rdfs:label "Central cooling"@en ;
+  rdfs:label "Keskusjäähdytys"@fi ;
+  rdfs:comment "The class of central (for several building spaces) cooling systems part of HVAC. The energy source is typically either electricity, but heat pumps or lower outside temperature can also be used."@en ;
+  rdfs:subClassOf smartapi:Cooling, smartapi:CoolingManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:AirHeating a owl:Class ;
+  rdfs:label "Air heating"@en ;
+  rdfs:label "Ilmalämmitys"@fi ;
+  rdfs:comment "A (forced)-air central heating system is one which uses air as its heat transfer medium into space. "@en ;
+  rdfs:subClassOf smartapi:CentralHeating ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:UnderFloorHeating a owl:Class ;
+  rdfs:label "Under floor heating"@en ;
+  rdfs:label "Lattialämmitys"@fi ;
+  rdfs:comment "A type of central heating system using the under floor heaters instead of separate radiators as the means of providing the heat energy to space. "@en ;
+  rdfs:subClassOf smartapi:CentralHeating ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+smartapi:FrequencyContainmentReserve a owl:Class;
+  rdfs:comment "A resource to control grid frequency."@en ;
+  rdfs:label "Frequency containment reserve"@en ;
+  rdfs:label "Taajuuden vakautusreservi"@fi ;
+  rdfs:subClassOf smartapi:EnergySystem ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology.
+
+
+# energy storage
+
+smartapi:EnergyStorage a owl:Class ;
+  rdfs:label "Energy storage"@en ;
+  rdfs:label "Energiavarasto"@fi ;
+  rdfs:comment "An energy storage"@en ;
+  rdfs:subClassOf smartapi:EnergySystem;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:AbstractEntityOntology .
+
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
+@prefix gr: <http://purl.org/goodrelations/v1#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#all standard smartapi quantities and units
+smartapi:CommonStructureOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-CommonStructureOntology ontology"@en ;
+  dc:description "The Smart API common structure Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/CommonStructureOntology> ;
+  owl:versionInfo "v1.0" .
+
+# object
+
+smartapi:Object a owl:Class ;
+  rdfs:label "Object"@en ;
+  rdfs:comment "A generic Smart API object."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:relatedResource a owl:ObjectProperty ;
+  rdfs:label "Related resource"@en ;
+  rdfs:comment "Resource that an object is related to."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:generatedBy a owl:ObjectProperty ;
+  rdfs:label "Generated by"@en ;
+  rdfs:comment "Resource that generated this information."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Activity, smartapi:Entity;
+  vs:term_status "testing" .
+
+smartapi:generatedAt a owl:DatatypeProperty ;
+  rdfs:label "Generated at"@en ;
+  rdfs:comment "Time of generation of this resource."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:dateTime;
+  vs:term_status "testing" .
+
+# evaluation
+
+smartapi:Evaluation a owl:Class ;
+  rdfs:label "Evaluation"@en ;
+  rdfs:comment "The class of evaluations as a dataset."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:hasEvaluation a owl:ObjectProperty;
+  rdfs:label "Has evaluation"@en ;
+  rdfs:comment "Generalization of observation and measurements Feature of interest."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  owl:inverseOf smartapi:systemOfInterest;
+  vs:term_status "testing" .
+
+smartapi:systemOfInterest a owl:ObjectProperty, owl:FunctionalProperty ;
+  rdfs:label "System of interest"@en ;
+  rdfs:comment "Generalization of observation and measurements Feature of interest."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subPropertyOf smartapi:constraint;
+  rdfs:range smartapi:SystemOfInterest ;
+  vs:term_status "testing" .
+  
+smartapi:SystemOfInterest a owl:Class ;
+  rdfs:label "System of interest"@en ;
+  rdfs:comment "Generalization of observation and measurements Feature of interest."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ; 
+  vs:term_status "testing" .
+
+smartapi:realizedBy a owl:ObjectProperty ;
+  rdfs:label "Realized by"@en ;
+  rdfs:comment "A system of interest is realized by this resource."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:SystemOfInterest ;
+  rdfs:range smartapi:Entity ;
+  vs:term_status "testing" .
+
+# grading
+
+smartapi:Grading a owl:Class ;
+  rdfs:label "Grading"@en ;
+  rdfs:comment "Describes grading for a given thing."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+  
+smartapi:grading a owl:ObjectProperty ;
+  rdfs:label "Grading"@en ;
+  rdfs:comment "Describes grading for a given thing."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Grading ;
+  vs:term_status "testing" .
+
+smartapi:grade a owl:DatatypeProperty ;
+  rdfs:label "Grade"@en ;
+  rdfs:comment "Overall grade for something."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:decimal;
+  vs:term_status "testing" .
+
+smartapi:syntaxGrade a owl:DatatypeProperty ;
+  rdfs:label "Syntax grade"@en ;
+  rdfs:comment "Grade for syntax."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:decimal;
+  vs:term_status "testing" .
+
+smartapi:valueGrade a owl:DatatypeProperty ;
+  rdfs:label "Value grade"@en ;
+  rdfs:comment "Grade for value."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:decimal;
+  vs:term_status "testing" .
+
+smartapi:conceptGrade a owl:DatatypeProperty ;
+  rdfs:label "Concept grade"@en ;
+  rdfs:comment "Grade for concept."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:decimal;
+  vs:term_status "testing" .
+
+# temporal context
+
+smartapi:constraint a owl:ObjectProperty ;
+  rdfs:label "constraint"@en ;
+  rdfs:comment "A constraint for data"@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Evaluation;  
+  vs:term_status "testing".
+
+smartapi:temporalContext a owl:ObjectProperty ;
+  rdfs:label "Temporal context"@en ;
+  rdfs:comment "Temporal interval of data: start, stop and duration."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subPropertyOf smartapi:constraint;
+  rdfs:range smartapi:TemporalEntity;
+  vs:term_status "testing" .
+
+smartapi:TemporalContext a owl:Class ;
+  rdfs:label "Temporal context"@en ;
+  rdfs:comment "Temporal interval of data: start, stop and duration."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;  
+  rdfs:subClassOf smartapi:TemporalEntity;
+  vs:term_status "testing" .
+
+# map and parameter
+
+smartapi:Map a owl:Class ;
+  rdfs:label "Map"@en ;
+  rdfs:comment "An associative array containing key value pairs."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:map a owl:ObjectProperty;
+  rdfs:label "Map"@en ;
+  rdfs:comment "An associative array containing key value pairs."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Map ;
+  vs:term_status "testing" .
+
+smartapi:Entry a owl:Class ;
+  rdfs:label "Entry"@en ;
+  rdfs:comment "Data entry usually containing a key value pair."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:entry a owl:ObjectProperty;
+  rdfs:label "Entry"@en ;
+  rdfs:comment "Data entry usually containing a key value pair."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Entry ;
+  vs:term_status "testing" .
+
+smartapi:key a owl:DatatypeProperty;
+  rdfs:label "Key"@en ;
+  rdfs:comment "A key for accessing data."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Entry, smartapi:Parameter ;
+  vs:term_status "testing" .
+
+smartapi:Parameter a owl:Class ;
+  rdfs:label "Parameter"@en ;
+  rdfs:comment "Data parameter usually containing a key value pair."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:parameter a owl:ObjectProperty;
+  rdfs:label "Parameter"@en ;
+  rdfs:comment "Data parameter usually containing a key value pair."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Parameter ;
+  vs:term_status "testing" .
+
+# condition
+
+smartapi:Condition a owl:Class ;
+  rdfs:label "Condition"@en ;
+  rdfs:comment "Conditional expression."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:hasCondition a owl:ObjectProperty ;
+  rdfs:label "Has condition"@en ;
+  rdfs:comment "Conditional expression."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:not a rdf:Property;
+  rdfs:label "Not"@en ;
+  rdfs:comment "The locigal operator 'not' i.e. negation."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:and a rdf:Property;
+  rdfs:label "And"@en ;
+  rdfs:comment "The locigal operator 'and'."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:or a rdf:Property;
+  rdfs:label "Or"@en ;
+  rdfs:comment "The logical operator 'or'."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:xor a rdf:Property;
+  rdfs:label "Xor"@en ;
+  rdfs:comment "The logical operator 'xor' i.e. exclusive or."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:regex a owl:DatatypeProperty;
+  rdfs:label "Regex"@en ;
+  rdfs:comment "Indicates regular expression"@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:string ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:action a rdf:Property;
+  rdfs:label "Action"@en ;
+  rdfs:comment "Indicates the action or the value of the condition."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Condition ;
+  vs:term_status "testing" .
+
+# geometry
+
+smartapi:Polygon a owl:Class ;
+  rdfs:label "Polygon"@en ;
+  rdfs:comment "The shape of a polygon."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:polygon a owl:ObjectProperty;
+  rdfs:label "Polygon"@en ;
+  rdfs:comment "A property indicating the shape of a polygon."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Polygon ;
+  vs:term_status "testing" .
+
+smartapi:Ring a owl:Class ;
+  rdfs:label "Ring"@en ;
+  rdfs:comment "A circular area which is defined by the minimum and maximum radius."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:ring a owl:ObjectProperty;
+  rdfs:label "Ring"@en ;
+  rdfs:comment "A circular area which is defined by the minimum and maximum radius."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Ring ;
+  vs:term_status "testing" .
+
+smartapi:maxRadius a owl:ObjectProperty;
+  rdfs:label "Maximum radius"@en ;
+  rdfs:comment "A maximum radius."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:ValueObject ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  vs:term_status "testing" .
+
+smartapi:minRadius a owl:ObjectProperty;
+  rdfs:label "Minimum radius"@en ;
+  rdfs:comment "A minimum radius."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:ValueObject ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  vs:term_status "testing" .
+
+smartapi:minLocation a owl:ObjectProperty ;
+  rdfs:label "Minimum location" ;
+  rdfs:comment "One of two points that define a rectangular geographical area." ;
+  rdfs:range geo:Point ;
+  vs:term_status "testing" .
+  
+smartapi:maxLocation a owl:ObjectProperty ;
+  rdfs:label "Maximum location" ;
+  rdfs:comment "One of two points that define a rectangular geographical area." ;
+  rdfs:range geo:Point ;
+  vs:term_status "testing" .
+  
+# zone
+
+smartapi:Zone a owl:Class ;
+  rdfs:label "Zone"@en ;
+  rdfs:label "Vyöhyke (Zone)"@fi ;
+  rdfs:comment "A resource to describe zone information of an entity."@en ;
+  rdfs:subClassOf smartapi:Object ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology .
+  
+smartapi:zone a owl:ObjectProperty;
+  rdfs:label "Zone"@en ;
+  rdfs:comment "Zone information of an entity."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .  
+
+smartapi:zoneNumber a owl:DatatypeProperty ;
+  rdfs:label "Zone number"@en ;
+  rdfs:comment "Zone number of a zone."@en ;
+  rdfs:domain smartapi:Zone ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology .
+
+# provenance
+
+smartapi:Provenance a owl:Class ;
+  rdfs:label "Provenance"@en ;
+  rdfs:comment "The origin of a resource information."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Evaluation;
+  vs:term_status "testing" .
+
+smartapi:provenance a owl:ObjectProperty;
+  rdfs:label "Provenance"@en ;
+  rdfs:comment "The origin of a resource information."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Provenance ;
+  vs:term_status "testing" .
+
+smartapi:dataSource a owl:ObjectProperty;
+  rdfs:label "Data source"@en ;
+  rdfs:comment "The source of data."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:generationMethod a owl:ObjectProperty;
+  rdfs:label "Generation method"@en ;
+  rdfs:comment "The method of generation of something."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:property a owl:ObjectProperty;
+  rdfs:label "Property"@en ;
+  rdfs:comment "A general property to indicate concerned property resource."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range rdf:Property ;
+  vs:term_status "testing" .
+
+
+# network interface description
+
+smartapi:interface a owl:ObjectProperty;
+  rdfs:label "Interface"@en ;
+  rdfs:comment "The interface that is used to access a service."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:InterfaceAddress ;
+  vs:term_status "testing" .
+
+smartapi:InterfaceAddress a owl:Class ;
+  rdfs:label "Interface address"@en ;
+  rdfs:comment "An address to access an interface."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:host a owl:DatatypeProperty;
+  rdfs:label "Host"@en ;
+  rdfs:comment "The host of an URI."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+smartapi:path a owl:DatatypeProperty;
+  rdfs:label "Path"@en ;
+  rdfs:comment "The path of an URI."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+smartapi:port a owl:DatatypeProperty;
+  rdfs:label "Port"@en ;
+  rdfs:comment "The port of an URI."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:integer ;
+  vs:term_status "testing" .
+
+smartapi:scheme a owl:DatatypeProperty;
+  rdfs:label "Scheme"@en ;
+  rdfs:comment "The scheme of an URI."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+smartapi:contentType a owl:DatatypeProperty;
+  rdfs:label "Content type"@en ;
+  rdfs:comment "The type of a message content."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+smartapi:topic a owl:DatatypeProperty ;
+  rdfs:label "Topic"@en ;
+  rdfs:comment "A topic for the data that is being processed. May also be used as a technical classifier (e.g. in MQTT protocol)"@en ;
+  rdfs:isDefinedBy smartapi:DCommonStructureOntology ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+
+# ability, availability, controllability, validity
+
+smartapi:Ability a owl:Class ;
+  rdfs:label "Ability"@en ;
+  rdfs:comment "Means for doing something."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:Availability a owl:Class ;
+  rdfs:label "Availability"@en ;
+  rdfs:comment "Describes constraints for accessing the service."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:TemporalAvailability a owl:Class ;
+  rdfs:label "Temporal availability"@en ;
+  rdfs:comment "Describes temporal constraints for accessing the service."@en ;
+  rdfs:subClassOf smartapi:Availability;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:PropertyBasedAvailability a owl:Class ;
+  rdfs:label "Property based availability"@en ;
+  rdfs:comment "Describes property based constraints for accessing the service."@en ;
+  rdfs:subClassOf smartapi:Availability;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:hasAvailability a owl:ObjectProperty ;
+  rdfs:label "Has availability"@en ;
+  rdfs:comment "Describes constraints for accessing the service."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Service ;
+  rdfs:range smartapi:Availability, smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:hasDataAvailability a owl:ObjectProperty ;
+  rdfs:label "Has data availability"@en ;
+  rdfs:comment "Describes constraints for the data of of the service."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:domain smartapi:Service ;
+  vs:term_status "testing" .
+
+smartapi:Validity a owl:Class ;
+  rdfs:label "Validity"@en ;
+  rdfs:comment "Describes constraints to determine when the resource is valid."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:TemporalValidity a owl:Class ;
+  rdfs:label "Temporal validity"@en ;
+  rdfs:comment "Describes temporal constraints to determine when the resource is valid."@en ;
+  rdfs:subClassOf smartapi:Validity;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:PropertyBasedValidity a owl:Class ;
+  rdfs:label "Property based validity"@en ;
+  rdfs:comment "Describes property based constraints to determine when the resource is valid."@en ;
+  rdfs:subClassOf smartapi:Validity;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:hasValidity a owl:ObjectProperty ;
+  rdfs:label "Has validity"@en ;
+  rdfs:comment "Describes constraints to determine when the resource is valid."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  rdfs:range smartapi:Validity, smartapi:Condition ;
+  vs:term_status "testing" .
+
+smartapi:Controllability a owl:Class ;
+  rdfs:label "Controllability"@en ;
+  rdfs:comment "Describes constraints for controlling a resource."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+# options (for enumeration)
+  
+smartapi:options a rdf:Property ;
+  rdfs:label "Options"@en ;
+  rdfs:comment "List of options for, for instance, enumeration selection."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology .
+  
+# registration
+
+smartapi:Registration a owl:Class ;
+  rdfs:label "Registration"@en ;
+  rdfs:label "Rekisteröinti"@fi ;
+  rdfs:comment "Describes a resource that holds information on a registration."@en ;
+  rdfs:subClassOf smartapi:Object;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+
+smartapi:isRegisteredBy a rdf:Property ;
+  rdfs:label "Is registered by"@en ;
+  rdfs:label "Rekisteröity toimesta"@en ;
+  rdfs:comment "Describes who registered the subject."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+  
+smartapi:locked a rdf:Property ;
+  rdfs:label "Locked"@en ;
+  rdfs:label "Lukittu"@fi ;
+  rdfs:comment "Describes is the subject resource is or should be locked."@en ;
+  rdfs:range xsd:boolean;
+  rdfs:isDefinedBy smartapi:CommonStructureOntology ;
+  vs:term_status "testing" .
+   # Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix gr: <http://purl.org/goodrelations/v1#> .
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#all standard smartapi quantities and units
+smartapi:DataOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-DataOntology ontology"@en ;
+  dc:description "The Smart API data Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/DataOntology> ;
+  owl:versionInfo "v1.0" .
+
+# value object
+
+smartapi:ValueObject a owl:Class ;
+  rdfs:label "Value object"@en ;
+  rdfs:comment "Value expressed as object."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing".
+
+smartapi:valueObject a owl:ObjectProperty ;
+  rdfs:label "Value object"@en ;
+  rdfs:comment "Object data value."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:domain smartapi:Evaluation;
+  rdfs:range smartapi:ValueObject;
+  vs:term_status "testing".
+
+
+# basic boolean, readable, writable
+
+smartapi:Readable a owl:Class ;
+  rdfs:label "Readable"@en ;
+  rdfs:comment "An object that is readable, i.e. it is meant to be shown to users."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+
+smartapi:Writable a owl:Class ;
+  rdfs:label "Writable"@en ;
+  rdfs:comment "An object that is writable, i.e. its value can be changed by the user."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+
+smartapi:TimeSeriesReadable a owl:Class ;
+  rdfs:label "Time series readable"@en ;
+  rdfs:comment "An object that is readable as time series."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+
+smartapi:TimeSeriesWritable a owl:Class ;
+  rdfs:label "Time series writable"@en ;
+  rdfs:comment "An object that is writable as time series."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+
+
+# lists and arrays
+
+smartapi:list a owl:ObjectProperty ;
+  rdfs:label "List"@en ;
+  rdfs:comment "Data items as rdf list."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subPropertyOf owl:topObjectProperty ;
+  vs:term_status "testing" ;
+  rdfs:range rdf:List.
+
+smartapi:entries a rdf:Property ;
+  rdfs:label "Entries"@en ;
+  rdfs:comment "Points to a collection of items."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+  
+smartapi:array a owl:ObjectProperty ;
+  rdfs:label "Array"@en ;
+  rdfs:comment "An array of items in an unordered list."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+  
+smartapi:indexedArray a owl:ObjectProperty ;
+  rdfs:label "Indexed array"@en ;
+  rdfs:comment "An array list of items ordered by index numbering."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+  
+smartapi:rawArray a owl:ObjectProperty ;
+  rdfs:label "Raw array"@en ;
+  rdfs:comment "A resource holding a list serialized in non-semantic custom format."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+  
+smartapi:index a owl:DatatypeProperty ;
+  rdfs:label "Index"@en ;
+  rdfs:comment "Index number of a resource in an array list."@en ;
+  rdfs:range xsd:integer ;
+  rdfs:isDefinedBy smartapi:DataOntology.
+
+smartapi:baseObject a owl:ObjectProperty ;
+  rdfs:label "Base object"@en ;
+  rdfs:comment "Base object of list items."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:baseObjectProperty a owl:ObjectProperty ;
+  rdfs:label "Base object property"@en ;
+  rdfs:comment "Property that links from base object to list item."@en ;
+  rdfs:range rdf:Property ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+
+#Timeseries
+
+smartapi:TimeSeries a owl:Class ;
+  rdfs:label "Time series"@en ;
+  rdfs:comment "A data series with temporal properties"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:ValueObject;
+  vs:term_status "testing".
+
+smartapi:timeSeries a owl:ObjectProperty ;
+  rdfs:label "Time series"@en ;
+  rdfs:comment "A time series of values"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:domain smartapi:Evaluation;
+  rdfs:range smartapi:TimeSeries;
+  vs:term_status "testing".
+
+smartapi:timeStep a owl:DatatypeProperty ;
+  rdfs:label "Time Step"@en ;
+  rdfs:comment "Duration between two items in timeseries"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value ;
+  rdfs:domain smartapi:TimeSeries ;
+  rdfs:range xsd:duration.
+
+
+# general statistical simple values
+
+smartapi:count a owl:DatatypeProperty ;
+  rdfs:label "Count"@en ;
+  rdfs:comment "Count"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:range rdf:XMLLiteral .
+
+smartapi:minimum a owl:DatatypeProperty ;
+  rdfs:label "Minimum"@en ;
+  rdfs:comment "Minimum value"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value;
+  rdfs:domain smartapi:Distribution.
+
+smartapi:maximum a owl:DatatypeProperty ;
+  rdfs:label "Maximum"@en ;
+  rdfs:comment "Maximum value"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value;
+  rdfs:domain smartapi:Distribution.
+
+smartapi:mean a owl:DatatypeProperty ;
+  rdfs:label "Mean"@en ;
+  rdfs:comment "Mean value"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value;
+  rdfs:domain smartapi:Distribution.
+
+smartapi:median a owl:DatatypeProperty ;
+  rdfs:label "Median"@en ;
+  rdfs:comment "Median value i.e second quartile or 5. decile"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value ;
+  rdfs:domain smartapi:Distribution .
+
+smartapi:deviation rdf:type owl:DatatypeProperty ;
+  rdfs:label "Deviation" ;
+  rdfs:comment "The amount by which a single measurement differs from a fixed value such as the mean."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:range a owl:DatatypeProperty ;
+  rdfs:label "Range"@en ;
+  rdfs:comment "Range between minimum and maximum values."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value ;
+  rdfs:domain smartapi:Distribution .
+  
+smartapi:step a owl:DatatypeProperty ;
+  rdfs:label "Step"@en ;
+  rdfs:comment "Minimum amount of change of value."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:value ;
+  rdfs:domain smartapi:ValueObject .
+
+
+# classification by theme and topic
+
+smartapi:Classification a owl:Class ;
+  rdfs:label "Classification"@en ;
+  rdfs:comment "A classification of an entity or data. Classifications are objects and can therefore carry more information than just types, e.g. localizations of the descriptions of classification reasons."@en ;
+  rdfs:subClassOf smartapi:Obj ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+  
+smartapi:classification a owl:ObjectProperty ;
+  rdfs:label "Classification"@en ;
+  rdfs:comment "The property of an entity that carries the classification."@en ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+  
+
+# generic trading terms
+
+smartapi:programCode a owl:DatatypeProperty ;
+  rdfs:label "Program code"@en ;
+  rdfs:comment "Something that represents programming code, a code block or script snippet for instance."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+  
+  
+# temporal concepts
+
+smartapi:TemporalEntity a owl:Class ;
+  rdfs:label "Temporal entity"@en ;
+  rdfs:comment "A temporal entity i.e. either proper interval or instant."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".  
+
+smartapi:Instant a owl:Class ;
+  rdfs:label "Instant"@en ;
+  rdfs:comment "A simplification of instant in owl time. Note that property smartapi:instant links directly to xsd:dateTime not smartapi:Instant."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:TemporalEntity;
+  vs:term_status "testing".
+
+smartapi:instant a owl:DatatypeProperty ;
+  rdfs:label "Instant"@en ;
+  rdfs:comment "A timestamp of the data."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:range xsd:dateTime.
+
+smartapi:Interval a owl:Class ;
+  rdfs:label "Interval"@en ;
+  rdfs:comment "A simplification proper interval (start should be different than end) concept based on owl time interval"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:TemporalEntity;
+  vs:term_status "testing".
+
+smartapi:time a owl:DatatypeProperty ;
+  rdfs:label "Time"@en ;
+  rdfs:comment "Time of instant as xsd:time, for an Interval same as start time."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing";
+  rdfs:subPropertyOf smartapi:value;
+  rdfs:domain smartapi:TemporalEntity;
+  rdfs:range xsd:dateTime.
+
+smartapi:start a owl:DatatypeProperty ;
+  rdfs:label "Start"@en ;
+  rdfs:comment "Starting instant"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:time.
+
+smartapi:end a owl:DatatypeProperty ;
+  rdfs:label "End"@en ;
+  rdfs:comment "Ending instant"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:time .
+
+smartapi:duration a owl:DatatypeProperty ;
+  rdfs:label "Duration"@en ;
+  rdfs:comment "Duration between instants"@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subPropertyOf smartapi:value ;
+  vs:term_status "testing" .
+
+smartapi:during a owl:ObjectProperty ;
+  rdfs:label "During"@en ;
+  rdfs:range gr:DayOfWeek, smartapi:MonthOfYear, qudt:TimeUnit ;
+  rdfs:comment "A property that defines valid temporal contexts for a resource."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subPropertyOf smartapi:allenRelation ;
+  vs:term_status "testing" .
+  
+smartapi:opened a owl:ObjectProperty ;
+  rdfs:label "Opened"@en ;
+  rdfs:range xsd:dateTime ;
+  rdfs:comment "A property that defines when the resource was opened."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+    
+smartapi:closed a owl:ObjectProperty ;
+  rdfs:label "Closed"@en ;
+  rdfs:range xsd:dateTime ;
+  rdfs:comment "A property that defines when the resource was closed."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:cancelled a owl:ObjectProperty ;
+  rdfs:label "Cancelled"@en ;
+  rdfs:range xsd:dateTime ;
+  rdfs:comment "A property that defines when the resource was cancelled."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:paidUntil a owl:ObjectProperty ;
+  rdfs:label "Paid until"@en ;
+  rdfs:range xsd:dateTime ;
+  rdfs:comment "A property that defines to which date/time the resource has been paid."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+
+# capacity
+  
+smartapi:Capacity a owl:Class ;
+  rdfs:label "Capacity"@en ;
+  rdfs:comment "A capacity that some resource holds."@en ;
+  rdfs:subClassOf smartapi:ValueObject ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+  
+smartapi:capacity a owl:ObjectProperty ;
+  rdfs:label "Capacity"@en ;
+  rdfs:comment "A capacity that some resource holds."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:range smartapi:Capacity ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+  
+smartapi:maxAvailable a owl:DatatypeProperty ;
+  rdfs:label "Max available"@en ;
+  rdfs:comment "Currently available capacity out of total capacity."@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:isDefinedBy smartapi:DataOntology.
+
+smartapi:percentage a owl:DatatypeProperty ;
+  rdfs:label "Percentage"@en ;
+  rdfs:comment "Number between 0 and 100 indicating how much the current value is of the total value in percents."@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+
+
+# valueobject subclass properties
+
+smartapi:price a owl:ObjectProperty ;
+  rdfs:label "Price"@en ;
+  rdfs:comment "A valueobject that describes price for this resource."@en ;
+  rdfs:range smartapi:ValueObject ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+
+
+# hasChanged and checksum
+
+smartapi:checksum a owl:DatatypeProperty ;
+  rdfs:label "Checksum"@en ;
+  rdfs:comment "A checksum is a small-sized datum derived from a block of data for the purpose of detecting errors or changes which may have been introduced, for instance, during its transmission or storage."@en ;
+  rdfs:range xsd:string ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+
+smartapi:checkResult a owl:DatatypeProperty ;
+  rdfs:label "Check result"@en ;
+  rdfs:comment "Indicates if the requested check resulted was successful."@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:isDefinedBy smartapi:DataOntology .
+
+
+# distribution object property (values are in the individuals ontology)
+
+smartapi:distribution rdf:type owl:ObjectProperty ;
+  rdfs:label "Distribution"@en ;
+  rdfs:comment "Probability distribution, e.g., Uniform Distrbiution, Normal Distribution. "@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:range smartapi:Distribution ;
+  vs:term_status "testing" .
+
+smartapi:spread a owl:ObjectProperty ;
+  rdfs:label "Spread"@en ;
+  rdfs:comment "Data value is a distribution, using spread as a shorter property name."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:domain smartapi:Evaluation ;
+  rdfs:range smartapi:Distribution .
+
+
+# category object property (values are in the individuals ontology)
+
+smartapi:category a owl:ObjectProperty ;
+  rdfs:label "Category"@en ;
+  rdfs:comment "The category of data such as forecast, plan, estimation etc.."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:domain smartapi:Evaluation;
+  rdfs:range smartapi:Category;
+  vs:term_status "testing".
+
+
+# output values
+
+smartapi:outputValues a owl:ObjectProperty ;
+  rdfs:label "Output values"@en ;
+  rdfs:comment "Descriptions for the requested value objects containing quantities and units."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:domain smartapi:Input;
+  rdfs:range smartapi:ValueObject;
+  vs:term_status "testing".
+
+
+# restriction
+
+smartapi:Restriction a owl:Class ;
+  rdfs:label "Restriction"@en ;
+  rdfs:comment "Describes a restriction for a given resource."@en ;
+  rdfs:subClassOf smartapi:Evaluation;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+  
+smartapi:restriction a owl:ObjectProperty ;
+  rdfs:label "Restriction"@en ;
+  rdfs:comment "Describes a restriction for a given resource."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:range owl:Restriction ;
+  vs:term_status "testing".
+
+
+# optional
+
+smartapi:optional a owl:DatatypeProperty ;
+  rdfs:label "Optional"@en ;
+  rdfs:comment "Describes if a given resource is optional or not."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:range xsd:boolean ;
+  vs:term_status "testing".
+
+# uri properties
+
+smartapi:sourceSystemUri a owl:ObjectProperty ;
+  rdfs:label "Source system URI"@en ;
+  rdfs:range rdfs:Resource ;
+  rdfs:comment "A source system for this resource."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:counterPartyUri a owl:ObjectProperty ;
+  rdfs:label "Counter party URI"@en ;
+  rdfs:range rdfs:Resource ;
+  rdfs:comment "A counter party for this resource."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+
+# calculation methods
+
+smartapi:calculationMethod a owl:ObjectProperty ;
+  rdfs:label "Calculation method"@en ;
+  rdfs:range smartapi:CalculationMethod ;
+  rdfs:comment "Indicates a calculation method."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:Calculable a owl:Class ;
+  rdfs:label "Calculable" @en ;
+  rdfs:comment "An object that can be calculated on."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing". 
+  
+smartapi:CalculationMethod a owl:Class ;
+  rdfs:label "Calculation method"@en ;
+  rdfs:comment "A method, e.g. a given function or an algorithm used for the calculation."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:Calculable;
+  vs:term_status "testing".  
+
+smartapi:LinearCalculation a owl:Class ;
+  rdfs:label "Linear calculation"@en ;
+  rdfs:comment "A linear calculation method, i.e. a first degree equation."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:subClassOf smartapi:CalculationMethod;
+  vs:term_status "testing".  
+
+smartapi:offset a owl:DatatypeProperty ;
+  rdfs:label "Offset"@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:comment "Indicates the offset value."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+smartapi:multiplier a owl:DatatypeProperty ;
+  rdfs:label "Multiplier"@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:comment "Indicates the multiplier value."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing" .
+
+
+# default
+
+smartapi:Default a owl:Class ;
+  rdfs:label "Default"@en ;
+  rdfs:comment "Indicates subject resource as a default."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  vs:term_status "testing".
+
+
+# misc data properties
+
+smartapi:energyConsumption a owl:ObjectProperty ;
+  rdfs:label "Energy consumption"@en ;
+  rdfs:label "Energiankulutus"@fi ;
+  rdfs:comment "Energy consumption of the resource."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology ;
+  rdfs:range smartapi:ValueObject;
+  vs:term_status "testing".
+
+smartapi:systemState a owl:ObjectProperty ;
+  rdfs:label "System state"@en ;
+  rdfs:comment "Current state of the system."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:DataOntology.
+
+
+# one dimensional length
+
+smartapi:length a owl:DatatypeProperty ;
+  rdfs:label "Length"@en ;
+  rdfs:label "Pituus"@fi ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:comment "The length."@en ;
+  rdfs:isDefinedBy smartapi:DataOntology.
+
+# should be removed ?
+
+smartapi:minAvailable a owl:DatatypeProperty ;
+  rdfs:label "Min available"@en ;
+  rdfs:comment "The minimum available capacity out of total capacity."@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:isDefinedBy smartapi:DataOntology.
+
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix saref: <https://w3id.org/saref#>.                     #SAREF smart building appliances ontology
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#all standard smartapi entities
+smartapi:EntityOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-EntityOntology ontology"@en ;
+  dc:description "The Smart API entity Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/EntityOntology> ;
+  owl:versionInfo "v1.0" .
+
+# entity
+
+smartapi:Entity a owl:Class ;
+  rdfs:label "Entity"@en ;
+  rdfs:label "Entiteetti"@fi ;
+  rdfs:comment "Can be used instead of thing to constraint only entities defined by smartapi ontology"@en ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" ;
+  owl:equivalentClass dc:Agent ;
+  rdfs:isDefinedBy smartapi:EntityOntology.
+  
+smartapi:entity a owl:ObjectProperty ;
+  rdfs:label "Entity"@en ;
+  rdfs:comment "Related entity of interest."@en ;
+  rdfs:range smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology.
+
+smartapi:PhysicalEntity a owl:Class ;
+  rdfs:label "Physical entity"@en ;
+  rdfs:label "Fyysinen entiteetti"@fi ;
+  rdfs:comment "PhysicalEntity has material existence"@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Entity;
+  rdfs:isDefinedBy smartapi:EntityOntology.
+
+smartapi:AbstractEntity a owl:Class ;
+  rdfs:label "Abstract entity"@en ;
+  rdfs:label "Abstrakti entiteetti"@fi ;
+  rdfs:comment "Abstract entity has no material existence"@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Entity;
+  owl:disjointWith smartapi:PhysicalEntity;
+  rdfs:isDefinedBy smartapi:EntityOntology.
+
+#smartapi:Endurant a owl:Class;
+#  rdfs:label "Endurant"@en ;
+#  rdfs:comment """Also known as continuants, or in some cases as substance, endurants are those entities that can be observed-perceived as a complete concept, at no matter which given snapshot of time. Were we to freeze time we would still be able to perceive/conceive the entire endurant.
+#  Examples include material objects (such as an apple or a human), and abstract fiat objects (such as an organization, or the border of a country)."""@en ;
+#  rdfs:subClassOf smartapi:Entity;
+#  vs:term_status "testing" ;
+#  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:System a owl:Class ;
+  rdfs:label "System"@en ;
+  rdfs:label "Järjestelmä"@fi ;
+  rdfs:comment "System is a concrete or abstract set of things composing a complex whole."@en ;
+  rdfs:subClassOf smartapi:Entity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+
+# activity
+
+smartapi:Activity a owl:Class ;
+  rdfs:label "Activity"@en ;
+  rdfs:label "Aktiviteetti"@fi ;
+  rdfs:comment "Activity is a continuous task or process that an entity can be performing"@en ;
+  rdfs:subClassOf smartapi:Evaluation;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:activity a owl:ObjectProperty ;
+  rdfs:label "Activity"@en ;
+  rdfs:comment "Relates an activity to a message"@en ;
+  rdfs:range smartapi:Activity ;
+  rdfs:domain smartapi:Message ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:hasCapability rdf:type owl:ObjectProperty ;
+  rdfs:label "Has capability"@en ;
+  rdfs:comment "Activity description for an entity."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Activity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+
+smartapi:Optimizing a owl:Class ;
+  rdfs:label "Optimizing"@en ;
+  rdfs:label "Optimointi"@fi ;
+  rdfs:comment "Optimizing is a continuous task or process that an entity can be performing to optimize the functioning of an entity"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:Forecasting a owl:Class ;
+  rdfs:label "Forecasting"@en ;
+  rdfs:label "Ennustaminen"@fi ;
+  rdfs:comment "Forecasting is a continuous task or process that an entity can be performing to forecast the values of some property"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:Filtering a owl:Class ;
+  rdfs:label "Filtering"@en ;
+  rdfs:label "Suodattaminen"@fi ;
+  rdfs:comment "Filtering is a task performed to filter out values of properties to clean up data"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+smartapi:Analyzing a owl:Class ;
+  rdfs:label "Analyzing"@en ;
+  rdfs:label "Aalysointi"@fi ;
+  rdfs:comment "Analyzing is a task performed to perform a mathematical analysis or other calculation operation on a set of data"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+smartapi:Storing a owl:Class ;
+  rdfs:label "Storing"@en ;
+  rdfs:label "Tallennus"@fi ;
+  rdfs:comment "Storing is a task performed to store a set of data either temporarily or permanently"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+smartapi:Editing a owl:Class ;
+  rdfs:label "Editing"@en ;
+  rdfs:label "Muokkaus"@fi ;
+  rdfs:comment "Editing is a task performed to edit some set of data"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:Capturing a owl:Class ;
+  rdfs:label "Capturing"@en ;
+  rdfs:label "Mittaus"@fi ;
+  rdfs:comment "Capturing is a task performed to capture (i.e. record) a set of data"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+smartapi:Controlling a owl:Class ;
+  rdfs:label "Controlling"@en ;
+  rdfs:label "Ohjaus"@fi ;
+  rdfs:comment "Controlling is a task performed to control the behavior of some entity"@en ;
+  rdfs:subClassOf smartapi:Activity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+# links between entities
+
+smartapi:belongsTo rdf:type owl:ObjectProperty ;
+  rdfs:label "Belongs to"@en ;
+  rdfs:comment "This resource is a part of the target resource."@en ;
+  owl:inverseOf smartapi:isComposedBy ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:hasInfluenceOn rdf:type owl:ObjectProperty ;
+  rdfs:label "Has influenced on"@en ;
+  rdfs:comment "This resource has influence on the target resource."@en ;
+  owl:inverseOf smartapi:isInfluencedBy ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:isInfluencedBy rdf:type owl:ObjectProperty ;
+  rdfs:label "Is influenced by"@en ;
+  rdfs:comment "Indicate this resource is influenced by the target resource."@en ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+  
+smartapi:isComposedBy rdf:type owl:ObjectProperty ;
+  rdfs:label "Is composed by"@en ;
+  rdfs:comment "This resource is composed by the target resource."@en ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:isContainedIn rdf:type owl:ObjectProperty ;
+  rdfs:label "Is contained in"@en ;
+  rdfs:comment "This resource is contained in the target resource."@en ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:isControlledBy a owl:ObjectProperty;
+  rdfs:label "Is controlled by"@en ;
+  rdfs:comment "Indicates what resource controls what resource."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+
+smartapi:controls a owl:ObjectProperty;
+  rdfs:label "Controls"@en ;
+  rdfs:comment "Indicates what resource is controlling what resource."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+  
+smartapi:isManagedBy a owl:ObjectProperty;
+  rdfs:label "Is managed by"@en ;
+  rdfs:comment "Indicates what resource manages what resource."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+
+smartapi:manages a owl:ObjectProperty;
+  rdfs:label "Manages"@en ;
+  rdfs:comment "Indicates what resource is managing what resource."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+
+smartapi:isServedBy a owl:ObjectProperty;
+  rdfs:label "Is managed by"@en ;
+  rdfs:comment "Indicates a resource such as a dataset is served by another entity."@en ;
+  rdfs:isDefinedBy smartapi:CommonStructOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+  
+smartapi:serves a owl:ObjectProperty;
+  rdfs:label "Serves"@en ;
+  rdfs:comment "Indicates what resource is serving what resource, for example a given service serves a dataset."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+  
+smartapi:hasPart a owl:ObjectProperty, owl:TransitiveProperty;
+  rdfs:label "Has part"@en ;
+  rdfs:comment "Indicate this resource has part of other resource."@en ;
+  vs:term_status "testing" ;
+  rdfs:range smartapi:Entity ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:seeAlso "http://www.obofoundry.org/ro/#OBO_REL:part_of";
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:owns a owl:ObjectProperty, owl:InverseFunctionalProperty;
+  rdfs:label "Owns"@en ;
+  rdfs:comment "Declares ownership"@en ;
+  rdfs:domain smartapi:Entity;
+  rdfs:range smartapi:Entity;
+  rdfs:seeAlso <http://schema.org/Product#owns>;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology.
+
+smartapi:owner a owl:ObjectProperty ;
+  rdfs:label "Owner"@en ;
+  rdfs:comment "Declares owner."@en ;
+  owl:inverseOf smartapi:owns ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Entity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:loggedInUser a owl:ObjectProperty ;
+  rdfs:label "Logged in user"@en ;
+  rdfs:comment "User that has logged in to the system."@en ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:offersService rdf:type owl:ObjectProperty ;
+  rdfs:label "Offers service"@en ;
+  rdfs:comment "A service that this entity offers."@en ;
+  vs:term_status "testing" ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Service ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:target a owl:ObjectProperty ;
+  rdfs:label "Target"@en ;
+  rdfs:comment "The target object that the subject is targeted for. For instance a request handler or a device that is managed by a gateway."@en ;
+  vs:term_status "testing" ;
+  rdfs:domain smartapi:Object ;
+  rdfs:range smartapi:Object ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+
+# entity properties
+
+smartapi:screenshot a owl:ObjectProperty ;
+  rdfs:label "Screenshot"@en ;
+  rdfs:comment "A screenshot web link."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:domain smartapi:Entity ;
+  vs:term_status "testing" .
+  
+smartapi:username a owl:DatatypeProperty ;
+  rdfs:label "Username"@en ;
+  rdfs:comment "A username of a person for, e.g., using a service."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:domain smartapi:Person ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+  
+smartapi:passwordHashAlgorithm a owl:DatatypeProperty ;
+  rdfs:label "Password hash algorithm"@en ;
+  rdfs:comment "The algorithm used to hash the password present in the same data structure."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:domain smartapi:Person ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+
+smartapi:password a owl:DatatypeProperty ;
+  rdfs:label "Password"@en ;
+  rdfs:comment "A password of a user for, e.g., using a service."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:domain smartapi:Person ;
+  rdfs:range xsd:string ;
+  vs:term_status "testing" .
+  
+smartapi:priority a owl:DatatypeProperty ;
+  rdfs:label "Priority"@en ;
+  rdfs:comment "A priority assigned for this entity."@en ;
+  rdfs:isDefinedBy smartapi:EntityOntology ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range rdf:XMLLiteral ;
+  vs:term_status "testing" .
+  
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix saref: <https://w3id.org/saref#>.                     #SAREF smart building appliances ontology
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+# smartapi entities related to physcal environment
+smartapi:EnvironmentOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-EnvironmentOntology ontology"@en ;
+  dc:description "The Smart API environment Ontology."@en ;
+  dc:issued "2019-01-01"^^xsd:date ;
+  dc:modified "2019-10-01"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/EnvironmentOntology> ;
+  owl:versionInfo "v1.0" .
+
+    
+# Environmental factors
+
+smartapi:Temperature a owl:Class ;
+  rdfs:label "Temperature"@en ;
+  rdfs:label "Lämpötila"@fi ;
+  rdfs:comment "The class of temperature related weather phenomena"@en ;
+  rdfs:subClassOf smartapi:WeatherPhenomenon;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology.
+  
+smartapi:Humidity a owl:Class ;
+  rdfs:label "Humidity"@en ;
+  rdfs:label "Kosteus"@fi ;
+  rdfs:comment "The class of humidity related weather phenomena"@en ;
+  rdfs:subClassOf smartapi:WeatherPhenomenon;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology.
+  
+smartapi:Wind a owl:Class ;
+  rdfs:label "Wind"@en ;
+  rdfs:label "Tuuli"@fi ;
+  rdfs:comment "The class of wind related weather phenomena"@en ;
+  rdfs:subClassOf smartapi:WeatherPhenomenon;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology.
+
+ smartapi:SolarPhenomenon a owl:Class ;
+  rdfs:label "Solar phenomenon"@en ;
+  rdfs:label "Aurinkoisuus"@fi ;
+  rdfs:comment "The class of solar related weather phenomena"@en ;
+  rdfs:subClassOf smartapi:WeatherPhenomenon;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology .
+
+smartapi:Sunrise a owl:Class ;
+  rdfs:label "Sunrise"@en ;
+  rdfs:label "Auringonnousu"@fi ;
+  rdfs:comment "Event of sun rising (at specific location in Earth)"@en ;
+  rdfs:subClassOf smartapi:SolarPhenomenon ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology .
+
+smartapi:Sunset a owl:Class ;
+  rdfs:label "Sunset"@en ;
+  rdfs:label "Auringonlasku"@fi ;
+  rdfs:comment "Event of sun setting (at specific location in Earth)"@en ;
+  rdfs:subClassOf smartapi:SolarPhenomenon ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EnvironmentOntology .
+
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix gr: <http://purl.org/goodrelations/v1#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#all standard smartapi quantities and units
+smartapi:IndividualsOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-IndividualsOntology ontology"@en ;
+  dc:description "The Smart API individuals Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/IndividualsOntology> ;
+  owl:versionInfo "v1.0" .
+
+
+#Allows to express the category for data such as its intended role, can be extended on different domains
+#One can also create own categories as needed, evaluation can be member of several of these categories
+
+# category
+
+smartapi:Category a owl:Class ;
+  rdfs:label "Category"@en ;
+  rdfs:comment "Category of evaluation"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:EnergyProduction a smartapi:Category ;
+  rdfs:label "Energy production"@en ;
+  rdfs:comment "Energy production"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+smartapi:SolarEnergyProduction a smartapi:Category ;
+  rdfs:label "Solar energy production"@en ;
+  rdfs:comment "Energy production by PV panels"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:WindEnergyProduction a smartapi:Category ;
+  rdfs:label "Wind energy production"@en ;
+  rdfs:comment "Energy production by wind turbine"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:EnergyConsumption a smartapi:Category ;
+  rdfs:label "Energy consumption"@en ;
+  rdfs:comment "Energy consumption"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Weather a owl:Class;
+  rdfs:label "Weather"@en ;
+  rdfs:comment "Weather expressed as evaluation"@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology.
+
+smartapi:Forecast a smartapi:Category ;
+  rdfs:label "Forecast"@en ;
+  rdfs:comment "Forecast expressed as evaluation"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:History a smartapi:Category ;
+  rdfs:label "History"@en ;
+  rdfs:comment "A historic (measured) data saved as evaluation."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Plan a smartapi:Category ;
+  rdfs:label "Plan"@en ;
+  rdfs:comment "A plan expressed as evaluation."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Observation a smartapi:Category ;
+  rdfs:label "Observation"@en ;
+  rdfs:comment "A measured data expressed as evaluation."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Command a smartapi:Category ;
+  rdfs:label "Command"@en ;
+  rdfs:comment "Commands expressed as evaluation data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:InitialValue a smartapi:Category ;
+  rdfs:label "Intitial"@en ;
+  rdfs:comment "Intial values expressed as evaluation"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:Baseline a smartapi:Category ;
+  rdfs:label "Baseline"@en ;
+  rdfs:comment "A baseline for comparison expressed as evaluation data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Target a smartapi:Category ;
+  rdfs:label "Target"@en ;
+  rdfs:comment "Target values expressed as evaluation data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Limit a smartapi:Category ;
+  rdfs:label "Limit"@en ;
+  rdfs:comment "Limit values expressed as evaluation data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Stream a smartapi:Category ;
+  rdfs:label "Stream"@en ;
+  rdfs:comment "The data presented by this evaluation is part of continuity of a larger stream of data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+# generation method
+
+smartapi:GenerationMethod a owl:Class ;
+  rdfs:label "Generation method"@en ;
+  rdfs:comment "The method of generation of something."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Autofill a smartapi:GenerationMethod ;
+  rdfs:label "Autofill"@en ;
+  rdfs:comment "Autofill feature."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:Geocoding a smartapi:GenerationMethod ;
+  rdfs:label "Geocoding"@en ;
+  rdfs:comment "Converting an address into coordinates."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+# distribution
+
+smartapi:Distribution a owl:Class ;
+  rdfs:label "Distribution"@en ;
+  rdfs:comment "The probability distribution of value."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology;
+  vs:term_status "testing".
+
+smartapi:UniformDistribution a smartapi:Distribution ;
+  rdfs:label "Uniform distribution"@en ;
+  rdfs:comment '''the continuous uniform distribution or rectangular distribution is a family of 
+  symmetric probability distributions such that for each member of the family, all intervals of 
+  the same length on the distribution's support are equally probable.'''@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+smartapi:NormalDistribution a smartapi:Distribution ;
+  rdfs:label "Normal distribution"@en ;
+  rdfs:comment "A very common continuous probability distribution, which are often used to represent real-valued random variables whose distributions are not known."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+
+# method and operation
+
+smartapi:Method a owl:Class ;
+  rdfs:label "Method"@en ;
+  rdfs:comment "A method typically used in software systems, communication, and application programming interfaces."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Operation a owl:Class ;
+  rdfs:label "Operation"@en ;
+  rdfs:comment "An operation on a system."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Read a smartapi:Operation, smartapi:Method ;
+  rdfs:label "Read"@en ;
+  rdfs:comment "Method to read data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Write a smartapi:Operation, smartapi:Method ;
+  rdfs:label "Write"@en ;
+  rdfs:comment "Method to write data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Record a smartapi:Operation, smartapi:Method ;
+  rdfs:label "Record"@en ;
+  rdfs:comment "Method to record/write data to memory and optionally to database without sending it forward to any interfaces, such as devices."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Delete a smartapi:Operation, smartapi:Method ;
+  rdfs:label "Delete"@en ;
+  rdfs:comment "Method to delete data."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Notify a smartapi:Method ;
+  rdfs:label "Notify"@en ;
+  rdfs:comment "Method for notification activity."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Test a smartapi:Method ;
+  rdfs:label "Test"@en ;
+  rdfs:comment "Testing."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Create a smartapi:Method ;
+  rdfs:label "Create"@en ;
+  rdfs:comment "Method to create something on the receiving end as an in memory resource."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Initialize a smartapi:Method ;
+  rdfs:label "Initialize"@en ;
+  rdfs:comment "Method to initialize something on the receiving end as a persistent resource."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Subscribe a smartapi:Method ;
+  rdfs:label "Subscribe"@en ;
+  rdfs:comment "Method for providing, receiving, or making use of something of a continuing or periodic nature."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Unsubscribe a smartapi:Method ;
+  rdfs:label "Unsubscribe"@en ;
+  rdfs:comment "Method for unsubscribing from subscriptions."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Ping a smartapi:Method ;
+  rdfs:label "Ping"@en ;
+  rdfs:comment "A method to test reachability of an object."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Pong a smartapi:Method ;
+  rdfs:label "Ping"@en ;
+  rdfs:comment "A method to respond to the reachability test of an object made with Ping."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Check a owl:Class ;
+  rdfs:label "Check"@en ;
+  rdfs:comment "A method to check if the data checks up with what is provided in the request."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:Increase a smartapi:Operation ;
+  rdfs:label "Increase"@en ;
+  rdfs:comment "Increase the value."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Decrease a smartapi:Operation ;
+  rdfs:label "Decrease"@en ;
+  rdfs:comment "Decrease the value."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+    
+ # day of the week, used as value for smartapi:during
+smartapi:Weekday a gr:DayOfWeek ;
+  rdfs:label "Weekday"@en ;
+  rdfs:comment "Weekday, Monday or Tuesday, ... or Friday"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:Weekend a gr:DayOfWeek ;
+  rdfs:label "Weekend"@en ;
+  rdfs:comment "Weekend, i.e., Saturday or Sunday"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" . 
+
+smartapi:MonthOfYear a owl:Class ;
+  rdfs:label "Month of year"@en ;
+  rdfs:comment "a month of a year."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:January a smartapi:MonthOfYear ;
+  rdfs:label "January"@en ;
+  rdfs:comment "January"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:February a smartapi:MonthOfYear ;
+  rdfs:label "February"@en ;
+  rdfs:comment "February"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:March a smartapi:MonthOfYear ;
+  rdfs:label "March"@en ;
+  rdfs:comment "March"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:April a smartapi:MonthOfYear ;
+  rdfs:label "April"@en ;
+  rdfs:comment "April"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:May a smartapi:MonthOfYear ;
+  rdfs:label "May"@en ;
+  rdfs:comment "May"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:June a smartapi:MonthOfYear ;
+  rdfs:label "June"@en ;
+  rdfs:comment "June"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:July a smartapi:MonthOfYear ;
+  rdfs:label "July"@en ;
+  rdfs:comment "July"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:August a smartapi:MonthOfYear ;
+  rdfs:label "August"@en ;
+  rdfs:comment "August"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:September a smartapi:MonthOfYear ;
+  rdfs:label "September"@en ;
+  rdfs:comment "September"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+smartapi:October a smartapi:MonthOfYear ;
+  rdfs:label "October"@en ;
+  rdfs:comment "October"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:November a smartapi:MonthOfYear ;
+  rdfs:label "November"@en ;
+  rdfs:comment "November"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+  
+smartapi:December a smartapi:MonthOfYear ;
+  rdfs:label "December"@en ;
+  rdfs:comment "December"@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+# encryption key types
+
+smartapi:CryptographicKey a owl:Class ;
+  rdfs:label "Cryptographic key"@en ;
+  rdfs:comment "Key that, e.g., in encryption specifies the transformation of plaintext into ciphertext."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:PublicKey a smartapi:CryptographicKey ;
+  rdfs:label "Public key"@en ;
+  rdfs:comment "Key for, e.g., encrypting content which may be disseminated widely, as only the holder of the paired private key can decrypt the message encrypted with the public key."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:PrivateKey a smartapi:CryptographicKey ;
+  rdfs:label "Private key"@en ;
+  rdfs:comment "Key for, e.g., decrypting content which has been encrypted with the public key."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:SessionKey a smartapi:CryptographicKey ;
+  rdfs:label "Session key"@en ;
+  rdfs:comment "Single-use symmetric key used for, e.g., encrypting content."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+smartapi:NotarizedSessionKey a smartapi:CryptographicKey ;
+  rdfs:label "Notarized session key"@en ;
+  rdfs:comment "Single-use symmetric key stored by notary."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing".
+  
+# xsd datatypes
+
+xsd:string a rdfs:Datatype ;
+  rdfs:label "String"@en ;
+  rdfs:comment "XSD string datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:decimal a rdfs:Datatype ;
+  rdfs:label "Decimal"@en ;
+  rdfs:comment "XSD decimal datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:integer a rdfs:Datatype ;
+  rdfs:label "Integer"@en ;
+  rdfs:comment "XSD integer datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:nonPositiveInteger a rdfs:Datatype ;
+  rdfs:label "Non-positive integer"@en ;
+  rdfs:comment "XSD non-positive integer datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:long a rdfs:Datatype ;
+  rdfs:label "Long"@en ;
+  rdfs:comment "XSD long datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:unsignedLong a rdfs:Datatype ;
+  rdfs:label "Unsigned long"@en ;
+  rdfs:comment "XSD unsigned long datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:hexBinary a rdfs:Datatype ;
+  rdfs:label "Hex binary"@en ;
+  rdfs:comment "XSD hex binary datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:dateTime a rdfs:Datatype ;
+  rdfs:label "Date time"@en ;
+  rdfs:comment "XSD date time datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:gYear a rdfs:Datatype ;
+  rdfs:label "G year"@en ;
+  rdfs:comment "XSD g year datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:anyURI a rdfs:Datatype ;
+  rdfs:label "Any URI"@en ;
+  rdfs:comment "XSD any URI datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:NMTOKEN a rdfs:Datatype ;
+  rdfs:label "NM TOKEN"@en ;
+  rdfs:comment "XSD NMTOKEN datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:normalizedString a rdfs:Datatype ;
+  rdfs:label "Normalized string"@en ;
+  rdfs:comment "XSD normalized string datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:float a rdfs:Datatype ;
+  rdfs:label "Float"@en ;
+  rdfs:comment "XSD float datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:nonNegativeInteger a rdfs:Datatype ;
+  rdfs:label "Non-negative integer"@en ;
+  rdfs:comment "XSD non-negative integer datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:negativeInteger a rdfs:Datatype ;
+  rdfs:label "Negative integer"@en ;
+  rdfs:comment "XSD negative integer datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:int a rdfs:Datatype ;
+  rdfs:label "Int"@en ;
+  rdfs:comment "XSD int datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:unsignedInt a rdfs:Datatype ;
+  rdfs:label "Unsigned int"@en ;
+  rdfs:comment "XSD unsigned int datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:base64Binary a rdfs:Datatype ;
+  rdfs:label "Base 64 binary"@en ;
+  rdfs:comment "XSD base 64 binary datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:time a rdfs:Datatype ;
+  rdfs:label "Time"@en ;
+  rdfs:comment "XSD time datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:gMonthDay a rdfs:Datatype ;
+  rdfs:label "G month day"@en ;
+  rdfs:comment "XSD g month day datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:token a rdfs:Datatype ;
+  rdfs:label "Token"@en ;
+  rdfs:comment "XSD token datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:Name a rdfs:Datatype ;
+  rdfs:label "Name"@en ;
+  rdfs:comment "XSD name datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:boolean a rdfs:Datatype ;
+  rdfs:label "Boolean"@en ;
+  rdfs:comment "XSD boolean datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:double a rdfs:Datatype ;
+  rdfs:label "Double"@en ;
+  rdfs:comment "XSD double datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:positiveInteger a rdfs:Datatype ;
+  rdfs:label "Positive integer"@en ;
+  rdfs:comment "XSD positive integer datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:short a rdfs:Datatype ;
+  rdfs:label "Short"@en ;
+  rdfs:comment "XSD short datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:unsignedShort a rdfs:Datatype ;
+  rdfs:label "Unsigned short"@en ;
+  rdfs:comment "XSD unsigned short datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:date a rdfs:Datatype ;
+  rdfs:label "Date"@en ;
+  rdfs:comment "XSD date datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:gDay a rdfs:Datatype ;
+  rdfs:label "G day"@en ;
+  rdfs:comment "XSD g day datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:language a rdfs:Datatype ;
+  rdfs:label "Language"@en ;
+  rdfs:comment "XSD language datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:NCName a rdfs:Datatype ;
+  rdfs:label "NC name"@en ;
+  rdfs:comment "XSD NC namedatatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:byte a rdfs:Datatype ;
+  rdfs:label "Byte"@en ;
+  rdfs:comment "XSD byte datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:unsignedByte a rdfs:Datatype ;
+  rdfs:label "Unsigned byte"@en ;
+  rdfs:comment "XSD unsigned byte datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:gYearMonth a rdfs:Datatype ;
+  rdfs:label "G year month"@en ;
+  rdfs:comment "XSD g year month datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+
+xsd:gMonth a rdfs:Datatype ;
+  rdfs:label "G month"@en ;
+  rdfs:comment "XSD g month datatype."@en ;
+  rdfs:isDefinedBy smartapi:IndividualsOntology ;
+  vs:term_status "testing" .
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .      #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .                   #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .           #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .                #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                         #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                     #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .                 #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .     #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+# standard smartapi definitions needed for network communication
+smartapi:NetworkingOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-NetworkingOntology ontology"@en ;
+  dc:description "The Smart API networking Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:creator [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/NetworkingOntology> ;
+  owl:versionInfo "v1.0" .
+
+# message
+
+smartapi:Message a owl:Class ;
+  rdfs:label "Message"@en ;
+  rdfs:comment "A message is a discrete unit of communication intended by the source for consumption by some recipient."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Evaluation ;
+  vs:term_status "testing" .
+
+smartapi:message a owl:ObjectProperty;
+  rdfs:range smartapi:Message ;
+  rdfs:label "Message"@en ;
+  rdfs:comment "A property that links this resource to a Message."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  vs:term_status "testing" .
+
+smartapi:Request a owl:Class ;
+  rdfs:label "Request"@en ;
+  rdfs:comment "A message for requesting something from the recipient."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Message ;
+  vs:term_status "testing" .
+
+smartapi:Response a owl:Class ;
+  rdfs:label "Response"@en ;
+  rdfs:comment "A message for responding to a request."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Message ;
+  vs:term_status "testing" .
+
+smartapi:Notification a owl:Class ;
+  rdfs:label "Notification"@en ;
+  rdfs:comment "A message for sending a notice, announcement, or, e.g., warning."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Message ;
+  vs:term_status "testing" .
+
+smartapi:AliveRequest a owl:Class ;
+  rdfs:label "Alive request"@en ;
+  rdfs:comment "A message to communicate that the sender is still alive. Can be used to implement heartbeat."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Request ;
+  vs:term_status "testing" .
+
+smartapi:AliveResponse a owl:Class ;
+  rdfs:label "Alive response"@en ;
+  rdfs:comment "A response message for AliveRequest to acknowledge the reception."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Response ;
+  vs:term_status "testing" .
+  
+smartapi:Acknowledgement a owl:Class ;
+  rdfs:label "Acknowledgement"@en ;
+  rdfs:comment "A message to signify acknowledgement or receipt of earlier message."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Response ;
+  vs:term_status "testing" .
+
+smartapi:OfferResponse a owl:Class ;
+  rdfs:label "Offer response"@en ;
+  rdfs:comment "A response that describes an offer."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Response ;
+  vs:term_status "testing" .
+  
+  
+# heartbeat
+
+smartapi:Heartbeat a owl:Class ;
+  rdfs:label "Heartbeat"@en ;
+  rdfs:comment "Resource to indicate that the resource is/was alive."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:heartbeat a owl:ObjectProperty ;
+  rdfs:label "Heartbeat"@en ;
+  rdfs:comment "Property to point to a heartbeat resource."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:domain smartapi:Entity ;
+  rdfs:range smartapi:Heartbeat;
+  vs:term_status "testing" .
+  
+  
+# general message properties
+
+smartapi:id a owl:DatatypeProperty ;
+  rdfs:label "Identifier number"@en ;
+  rdfs:comment "A property which can be used to express the ID (of a message)."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:int ;
+  vs:term_status "testing" .
+
+smartapi:transactionID a owl:ObjectProperty ;
+  rdfs:label "Transaction ID"@en ;
+  rdfs:comment "A property used to express the ID of a transaction that, e.g., signs this resource."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  vs:term_status "testing" .
+
+smartapi:processID a owl:DatatypeProperty ;
+  rdfs:label "Process ID"@en ;
+  rdfs:comment "A property used to express the ID of a process."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:integer ;
+  vs:term_status "testing" .
+
+smartapi:freshness a owl:DatatypeProperty ;
+  rdfs:label "Freshness"@en ;
+  rdfs:comment "Freshness of the data calculated backward from now."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:dateTime ;
+  vs:term_status "testing" .
+
+smartapi:method a owl:ObjectProperty;
+  rdfs:label "Method"@en ;
+  rdfs:comment "The property that links this resource to a Method."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Method ;
+  vs:term_status "testing" .
+
+smartapi:operation a owl:ObjectProperty ;
+  rdfs:label "Operation"@en ;
+  rdfs:comment "The property that links this resource to an Operation."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Operation ;
+  vs:term_status "testing" .
+
+smartapi:traverseUntil a owl:DatatypeProperty;
+  rdfs:label "Traverse until"@en ;
+  rdfs:label "Maksimi läpikäyntisyvyys"@fi ;
+  rdfs:comment "The property that describes maximum traversal depth for the operation requested by the activity."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:domain smartapi:Activity ;
+  rdfs:range xsd:int ;
+  vs:term_status "testing" .
+
+smartapi:traverseTo a owl:DatatypeProperty;
+  rdfs:label "Traverse to"@en ;
+  rdfs:label "Suoritussyvyys"@fi ;
+  rdfs:comment "The property that describes traversal depth to reach the level where the operation requested by the activity should be executed."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:domain smartapi:Activity ;
+  rdfs:range xsd:int ;
+  vs:term_status "testing" .
+
+smartapi:recursionUntil a owl:DatatypeProperty;
+  rdfs:label "Recursion until"@en ;
+  rdfs:label "Maksimi rekursiosyvyys"@fi ;
+  rdfs:comment "The property that describes traversal depth for the recursion requested by the activity."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:int ;
+  vs:term_status "testing" .
+
+smartapi:recursionTo a owl:DatatypeProperty;
+  rdfs:label "Recursion to"@en ;
+  rdfs:label "Rekursiosyvyys"@fi ;
+  rdfs:comment "The property that describes recursion depth to reach the level where the operation requested by the activity should be executed."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:int ;
+  vs:term_status "testing" .
+
+smartapi:recursionProperty a owl:ObjectProperty ;
+  rdfs:label "Recursion property"@en ;
+  rdfs:label "Rekursiolinkki"@fi ;
+  rdfs:comment "The property that describes properties that recursion should follow."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range rdf:Property ;
+  vs:term_status "testing" .
+
+
+# input and output
+
+smartapi:hasDataResource a owl:ObjectProperty;
+  rdfs:label "Has data resource"@en ;
+  rdfs:comment "A data resource related to activity."@en ;
+  rdfs:domain smartapi:Activity ;
+  rdfs:range smartapi:Evaluation ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology .
+  
+smartapi:Input a owl:Class ;
+  rdfs:label "Input"@en ;
+  rdfs:comment "Input data for an activity."@en ;
+  rdfs:subClassOf smartapi:Evaluation ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  vs:term_status "testing" .
+
+smartapi:Output a owl:Class ;
+  rdfs:label "Output"@en ;
+  rdfs:comment "Output data produced by an activity."@en ;
+  rdfs:subClassOf smartapi:Evaluation ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  vs:term_status "testing" .
+  
+# Input and output data resources for activities
+  
+smartapi:hasInput a owl:ObjectProperty;
+  rdfs:label "Has input"@en ;
+  rdfs:comment "An input that this activity has or takes."@en ;  
+  rdfs:subPropertyOf smartapi:hasDataResource ;
+  vs:term_status "testing" ;
+  rdfs:range smartapi:Input ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology .
+  
+smartapi:hasOutput a owl:ObjectProperty;
+  rdfs:label "Has output"@en ;
+  rdfs:comment "Output that this activity generates or has generated."@en ; 
+  rdfs:subPropertyOf smartapi:hasDataResource ;
+  vs:term_status "testing" ;
+  rdfs:range smartapi:Output ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology .
+
+smartapi:hasRefInput a owl:ObjectProperty ;
+  rdfs:label "Has reference input"@en ;
+  rdfs:comment "A resource which is used to indicate where the input data can be fetched."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Input ;
+  vs:term_status "testing" .
+
+smartapi:hasRefOutput a owl:ObjectProperty ;
+  rdfs:label "Has reference output"@en ;
+  rdfs:comment "A resource which is used to indicate where the output data can be fetched."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Output ;
+  vs:term_status "testing" .
+
+
+# error
+
+smartapi:Error a owl:Class ;
+  rdfs:label "Error"@en ;
+  rdfs:comment "A class used to express an error."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:error a owl:ObjectProperty ;
+  rdfs:label "Error"@en ;
+  rdfs:comment "A property used to express an error."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Error ;
+  vs:term_status "testing" .
+
+smartapi:InvalidParams a  owl:Class;
+  rdfs:label "Invalid params"@en ;
+  rdfs:comment "A resource used to express an error in parameters."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:InvalidRequest a owl:Class ;
+  rdfs:label "Invalid request"@en ;
+  rdfs:comment "A resource used to express an error in the request."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:ServerError a owl:Class ;
+  rdfs:label "Server error"@en ;
+  rdfs:comment "A resource used to express a server side error."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:ParseError a owl:Class ;
+  rdfs:label "Parse error"@en ;
+  rdfs:comment "An error that is caused by an error while a parse operation."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:Unauthorized a owl:Class ;
+  rdfs:label "Unauthorized"@en ;
+  rdfs:comment "An error indicating that the requested activity was not authorized."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:SyntaxError a owl:Class ;
+  rdfs:label "Syntax error"@en ;
+  rdfs:comment "An error that is caused by an error in syntax of the provided data."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:IllegalValueError a owl:Class ;
+  rdfs:label "Illegal value error"@en ;
+  rdfs:comment "An error that is caused by an erroneous value in the provided data."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:UndefinedConceptError a owl:Class ;
+  rdfs:label "Undefined concept error"@en ;
+  rdfs:comment "An error that is caused by a concept which does not have a known definition."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Error;
+  vs:term_status "testing" .
+
+smartapi:errorCode a owl:DatatypeProperty ;
+  rdfs:label "Error code"@en ;
+  rdfs:comment "A numeric value used to express an error code."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:integer ;
+  vs:term_status "testing" .
+
+smartapi:errorMessage a owl:ObjectProperty ;
+  rdfs:label "Error message"@en ;
+  rdfs:comment "A resource used to express an error message."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:string ;
+  rdfs:domain smartapi:Error ;
+  vs:term_status "testing" .
+
+
+# status
+
+smartapi:Status a owl:Class ;
+  rdfs:label "Status"@en ;
+  rdfs:comment "A status of the requested operation."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:statusCode a owl:DatatypeProperty ;
+  rdfs:label "Status code"@en ;
+  rdfs:comment "A numeric value used to express an HTTP status code."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range xsd:integer ;
+  vs:term_status "testing" .
+
+smartapi:status a owl:ObjectProperty ;
+  rdfs:label "Status"@en ;
+  rdfs:comment "A status of the requested operation."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range smartapi:Status, smartapi:Error ;
+  vs:term_status "testing" .
+
+smartapi:Ready a owl:Class ;
+  rdfs:label "Ready"@en ;
+  rdfs:comment "A ready status to indicate that service is ready to start processing."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:Busy a owl:Class ;
+  rdfs:label "Busy"@en ;
+  rdfs:comment "A busy status to indicate that service is busy from, for instance, processing something else."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:Online a owl:Class ;
+  rdfs:label "Online"@en ;
+  rdfs:comment "A online status to indicate that a service or device is online."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:Powered a owl:Class ;
+  rdfs:label "Powered"@en ;
+  rdfs:comment "A powered status to indicate that a physical device has power supply."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:SignalStrength a owl:Class ;
+  rdfs:label "Powered"@en ;
+  rdfs:comment "A signal strength status to indicate how well a device (typically wireless) is sending or receiving data."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+  
+smartapi:Pending a owl:Class ;
+  rdfs:label "Pending"@en ;
+  rdfs:comment "A pending status for an operation to indicate that is has been taken into queue and is waiting to get processed."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:Processing a owl:Class ;
+  rdfs:label "Processing"@en ;
+  rdfs:comment "A processing status for an operation to indicate that it is executing but not finished yet."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:Finished a owl:Class ;
+  rdfs:label "Finished"@en ;
+  rdfs:comment "A finished status for an operation to indicate that processing has finished successfully."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:subClassOf smartapi:Status;
+  vs:term_status "testing" .
+
+smartapi:completed a owl:DatatypeProperty;
+  rdfs:label "Completed"@en ;
+  rdfs:comment "A count of completed items or completed amount of something out of total."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range rdf:XMLLiteral ;
+  vs:term_status "testing" .
+
+smartapi:total a owl:DatatypeProperty;
+  rdfs:label "Total"@en ;
+  rdfs:comment "A count of total items or total amount of something."@en ;
+  rdfs:isDefinedBy smartapi:NetworkingOntology ;
+  rdfs:range rdf:XMLLiteral ;
+  vs:term_status "testing" .
+   
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix saref: <https://w3id.org/saref#>.                     #SAREF smart building appliances ontology
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+# smartapi entities that represent physical objects
+smartapi:PhysicalEntityOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-PhysicalEntityOntology ontology"@en ;
+  dc:description "The Smart API physical entity ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/PhysicalEntityOntology> ;
+  owl:versionInfo "v1.0" .
+
+
+# route and waypoints
+
+smartapi:Route a owl:Class ;
+  rdfs:label "Route"@en ;
+  rdfs:comment "A geographical path which is defined by a set of coordinates."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:route a owl:ObjectProperty ;
+  rdfs:label "Route"@en ;
+  rdfs:comment "A geographical path which is defined by a set of coordinates."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:range smartapi:Route ;
+  vs:term_status "testing" .
+
+smartapi:zoneRoute a owl:ObjectProperty ;
+  rdfs:label "Zone route"@en ;
+  rdfs:comment "Zones of a route as an rdf list."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" ;
+  rdfs:range rdf:List.
+
+smartapi:Waypoint a owl:Class ;
+  rdfs:label "Waypoint"@en ;
+  rdfs:comment "A point on a way. May contain address, coordinates and a route from previous point."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:Waypoints a owl:Class ;
+  rdfs:label "Waypoints"@en ;
+  rdfs:comment "A geographical path which is defined by a set of way points."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+# velocity
+
+smartapi:velocity a owl:ObjectProperty;
+  rdfs:label "Velocity"@en ;
+  rdfs:comment "A velocity."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:range smartapi:Velocity ;
+  vs:term_status "testing" .
+
+smartapi:averageVelocity a owl:ObjectProperty;
+  rdfs:label "Average velocity"@en ;
+  rdfs:comment "The average velocity of this resource."@en ;
+  rdfs:subPropertyOf smartapi:velocity ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Velocity a owl:Class ;
+  rdfs:label "Velocity"@en ;
+  rdfs:comment "A velocity."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:angularVelocityX a owl:ObjectProperty;
+  rdfs:label "Angular velocity X"@en ;
+  rdfs:comment "The part of an angular velocity that has the direction towards x-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:angularVelocityY a owl:ObjectProperty;
+  rdfs:label "Angular velocity Y"@en ;
+  rdfs:comment "The part of an angular velocity that has the direction towards y-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:angularVelocityZ a owl:ObjectProperty;
+  rdfs:label "Angular velocity Z"@en ;
+  rdfs:comment "The part of an angular velocity that has the direction towards z-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:linearVelocityX a owl:ObjectProperty;
+  rdfs:label "Linear velocity X"@en ;
+  rdfs:comment "The linear velocity that has the direction towards x-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:linearVelocityY a owl:ObjectProperty;
+  rdfs:label "Linear velocity Y"@en ;
+  rdfs:comment "The linear velocity that has the direction towards y-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:linearVelocityZ a owl:ObjectProperty;
+  rdfs:label "Linear velocity Z"@en ;
+  rdfs:comment "The linear velocity that has the direction towards z-axis."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+smartapi:groundSpeed a owl:ObjectProperty;
+  rdfs:label "Ground speed"@en ;
+  rdfs:comment "A speed related to the ground."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+# orientation
+
+smartapi:Orientation a owl:Class ;
+  rdfs:label "Orientation"@en ;
+  rdfs:comment "A physical orientation of a physical object."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:orientation a owl:ObjectProperty;
+  rdfs:label "Orientation"@en ;
+  rdfs:comment "Indicates the physical orientation of a physical object."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:range smartapi:Orientation ;
+  vs:term_status "testing" .
+
+smartapi:roll a owl:ObjectProperty;
+  rdfs:label "Roll"@en ;
+  rdfs:comment "Rotation about an axis running from nose to tail."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Orientation ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:range smartapi:ValueObject ;
+  vs:term_status "testing" .
+
+smartapi:pitch a owl:ObjectProperty;
+  rdfs:label "Pitch"@en ;
+  rdfs:comment "An inclanation angle. Nose up or down."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Orientation ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:range smartapi:ValueObject ;
+  vs:term_status "testing" .
+
+smartapi:yaw a owl:ObjectProperty;
+  rdfs:label "Yaw"@en ;
+  rdfs:comment "Nose left or right."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Orientation ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:range smartapi:ValueObject ;
+  vs:term_status "testing" .
+
+# size
+
+smartapi:size a owl:ObjectProperty;
+  rdfs:label "Size"@en ;
+  rdfs:comment "A size."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:range smartapi:Size ;
+  vs:term_status "testing" .
+
+smartapi:Size a owl:Class ;
+  rdfs:label "Size"@en ;
+  rdfs:comment "A size."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:width a owl:ObjectProperty;
+  rdfs:label "Width"@en ;
+  rdfs:comment "A width."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:domain smartapi:Size ;
+  vs:term_status "testing" .
+
+smartapi:height a owl:ObjectProperty;
+  rdfs:label "Height"@en ;
+  rdfs:comment "A height."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:domain smartapi:Size ;
+  vs:term_status "testing" .
+
+smartapi:depth a owl:ObjectProperty;
+  rdfs:label "Depth"@en ;
+  rdfs:comment "A depth."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:domain smartapi:Size ;
+  vs:term_status "testing" .
+
+# weight
+
+smartapi:weight a owl:ObjectProperty;
+  rdfs:label "Weight"@en ;
+  rdfs:comment "A weight."@en ;
+  rdfs:subPropertyOf smartapi:valueObject ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  vs:term_status "testing" .
+
+# direction
+
+smartapi:Direction a owl:Class ;
+  rdfs:label "Direction"@en ;
+  rdfs:comment "A direction."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing" .
+
+smartapi:direction a owl:ObjectProperty;
+  rdfs:label "Direction"@en ;
+  rdfs:comment "A direction"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:range smartapi:Direction ;
+  vs:term_status "testing" .
+
+smartapi:tracking a owl:ObjectProperty;
+  rdfs:label "Tracking"@en ;
+  rdfs:comment "An angle between destination and heading."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Direction ;
+  vs:term_status "testing" .
+
+smartapi:course a owl:ObjectProperty;
+  rdfs:label "Course"@en ;
+  rdfs:comment "The planned route."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Direction ;
+  vs:term_status "testing" .
+
+smartapi:bearing a owl:ObjectProperty;
+  rdfs:label "Bearing"@en ;
+  rdfs:comment "A geographical change of direction."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Direction ;
+  vs:term_status "testing" .
+
+smartapi:heading a owl:ObjectProperty;
+  rdfs:label "Heading"@en ;
+  rdfs:comment "Heading for, heading towards. Where the nose points."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:domain smartapi:Direction ;
+  vs:term_status "testing" .
+  
+# persons
+
+smartapi:Person a owl:Class ;
+  rdfs:label "Person"@en ;
+  rdfs:label "Henkilö"@fi ;
+  rdfs:comment "Resource indicating a person."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:PhysicalEntity, smartapi:SecurityManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:person a owl:ObjectProperty ;
+  rdfs:label "Person"@en ;
+  rdfs:comment "Person related to the subject."@en ;
+  rdfs:range smartapi:Entity ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+  
+smartapi:Employee a owl:Class ;
+  rdfs:label "Employee"@en ;
+  rdfs:label "Työntekijä"@fi ;
+  rdfs:comment "Resource indicating an employee."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ExternalEmployee a owl:Class ;
+  rdfs:label "External employee"@en ;
+  rdfs:label "Ulkoinen työntekijä"@fi ;
+  rdfs:comment "Resource indicating an external employee."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:TemporaryEmployee a owl:Class ;
+  rdfs:label "Temporary employee"@en ;
+  rdfs:label "Tilapäinen työntekijä"@fi ;
+  rdfs:comment "Resource indicating a temporary employee."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Visitor a owl:Class ;
+  rdfs:label "Visitor"@en ;
+  rdfs:label "Vierailija"@fi ;
+  rdfs:comment "Resource indicating a visitor."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+  
+smartapi:Resident a owl:Class ;
+  rdfs:label "Resident"@en ;
+  rdfs:label "Asukas"@fi ;
+  rdfs:comment "Resource indicating a resident."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+  
+smartapi:BuildingManager a owl:Class ;
+  rdfs:label "Building manager"@en ;
+  rdfs:label "Isännöitsijä"@fi ;
+  rdfs:comment "Resource indicating a building manager."@en ;
+  owl:equivalentClass vcard:Individual ;
+  rdfs:subClassOf smartapi:Person ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# devices
+  
+smartapi:Device a owl:Class ;
+  rdfs:label "Device"@en ;
+  rdfs:label "Laite"@fi ;
+  rdfs:comment "Device is a physical/concrete electronic or mechanic system created for to provide one or more abstract of concrete functions."@en ;
+  rdfs:subClassOf smartapi:PhysicalEntity;
+  rdfs:seeAlso saref:Device;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:NFCDevice a owl:Class ;
+  rdfs:label "NFC device"@en ;
+  rdfs:label "NFC-laite"@fi ;
+  rdfs:comment "An NFC device is a device able to work at least in one of the modes of the full NFC device: NFC card emulation, NFC reader/writer, or NFC peer-to-peer."@en ;
+  rdfs:subClassOf smartapi:Device, smartapi:SecurityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:RFIDDevice a owl:Class ;
+  rdfs:label "RFID device"@en ;
+  rdfs:label "RFID-laite"@fi ;
+  rdfs:comment "A Radio-frequency identification (RFID) device uses electromagnetic fields to automatically identify and track tags attached to objects. The tags contain electronically stored information."@en ;
+  rdfs:subClassOf smartapi:Device, smartapi:SecurityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:NFCWriter a owl:Class ;
+  rdfs:label "NFC writer"@en ;
+  rdfs:label "NFC-kirjoittaja"@fi ;
+  rdfs:comment "An NFC writer is a device able to write information onto inexpensive NFC tags embedded in labels or smart posters."@en ;
+  rdfs:subClassOf smartapi:NFCDevice;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:NFCCard a owl:Class ;
+  rdfs:label "NFC card"@en ;
+  rdfs:label "NFC-kortti"@fi ;
+  rdfs:comment "An NFC card is an inexpensive NFC tag embedded, for instance, in a card, label or smart poster."@en ;
+  rdfs:subClassOf smartapi:NFCDevice, smartapi:Tag ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Tag a owl:Class ;
+  rdfs:label "Tag"@en ;
+  rdfs:label "Tunniste"@fi ;
+  rdfs:comment "A tag is a label attached to someone or something for the purpose of identification or to give other information."@en ;
+  rdfs:subClassOf smartapi:Device ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:RFIDTag a owl:Class ;
+  rdfs:label "RFID tag"@en ;
+  rdfs:label "RFID-tunniste"@fi ;
+  rdfs:comment "An RFID tag contains electronically stored information that can be read using an RFID reader."@en ;
+  rdfs:subClassOf smartapi:Tag, smartapi:RFIDDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:PassiveRFIDTag a owl:Class ;
+  rdfs:label "Passive RFID tag"@en ;
+  rdfs:label "Passiivinen RFID-tunniste"@fi ;
+  rdfs:comment "A passive RFID tag is an RFID tag without a battery that uses the radio energy transmitted by the RFID reader."@en ;
+  rdfs:subClassOf smartapi:RFIDTag ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ActiveRFIDTag a owl:Class ;
+  rdfs:label "Active RFID tag"@en ;
+  rdfs:label "Aktiivinen RFID-tunniste"@fi ;
+  rdfs:comment "An active RFID tag is an RFID tag with on-board battery and it periodically transmits its ID signal."@en ;
+  rdfs:subClassOf smartapi:RFIDTag ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Appliance a owl:Class ;
+  rdfs:label "Appliance"@en ;
+  rdfs:label "Kodinkone"@fi ;
+  rdfs:comment "An appliance is a category of electrical/mechanical machines at home which uses energy to accomplish some household activities, such as cooking or cleaning."@en ;
+  rdfs:subClassOf smartapi:Device;
+  rdfs:seeAlso saref:Applicance;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:IPCapableDevice a owl:Class ;
+  rdfs:label "IP capable device"@en ;
+  rdfs:label "IP-yhteensopiva laite"@fi ;
+  rdfs:comment "The class of IP capable network device."@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology ;
+  rdfs:subClassOf smartapi:Device ;
+  vs:term_status "testing" .
+
+smartapi:Gateway a owl:Class ;
+  rdfs:label "Gateway"@en ;
+  rdfs:label "Yhdyskäytävä"@fi ;
+  rdfs:subClassOf smartapi:Device;
+  rdfs:comment "A network node equipped for interfacing with another network that uses different communication protocols."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Switch a owl:Class;
+  rdfs:comment "A switch."@en ;
+  rdfs:label "Switch"@en ;
+  rdfs:label "Kytkin"@fi ;
+  rdfs:subClassOf smartapi:Device, smartapi:ElectricityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Relay a owl:Class ;
+  rdfs:comment "A relay switch."@en ;
+  rdfs:label "Relay"@en ;
+  rdfs:label "Rele"@fi ;
+  rdfs:subClassOf smartapi:Switch;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:CircuitBreaker a owl:Class ;
+  rdfs:comment "A circuit breaker switch for protection."@en ;
+  rdfs:label "CircuitBreaker"@en ;
+  rdfs:label "Katkaisija"@fi ;
+  rdfs:subClassOf smartapi:Switch;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Resistor a owl:Class ;
+  rdfs:label "Resistor"@en ;
+  rdfs:label "Vastus"@fi ;
+  rdfs:comment "A device having a designed resistance to the passage of an electric current."@en ;
+  rdfs:subClassOf smartapi:Device;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Actuator a owl:Class ;
+  rdfs:label "Actuator"@en ;
+  rdfs:label "Toimilaite"@fi ;
+  rdfs:comment "An actuator is an electronic component, module, or subsystem whose purpose is to actuate based on a given control signal."@en ;
+  rdfs:subClassOf smartapi:Device;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Sensor a owl:Class ;
+  rdfs:label "Sensor"@en ;
+  rdfs:label "Sensori"@fi ;
+  rdfs:comment "A sensor is an electronic component, module, or subsystem whose purpose is to detect events or changes in its environment and send the information to other electronics."@en ;
+  rdfs:subClassOf smartapi:Device;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Seismometer a owl:Class ;
+  rdfs:label "Seismometer"@en ;
+  rdfs:label "Seismografi"@fi ;
+  rdfs:comment "A seismometer is an instrument that measures motion of the ground, including those of seismic waves generated by earthquakes, volcanic eruptions, and other seismic sources such as by the use of explosives."@en ;
+  rdfs:subClassOf smartapi:Sensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:AirFlowMeter a owl:Class ;
+  rdfs:label "Air flow meter"@en ;
+  rdfs:label "Ilmavirtausmittari"@fi ;
+  rdfs:comment "An air flow meter, is a device that measures air flow, i.e. how much air is flowing through a tube. It does not measure the volume of the air passing through the tube, it measures the mass of air flowing through the device per unit time."@en ;
+  rdfs:subClassOf smartapi:Sensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Speedometer a owl:Class ;
+  rdfs:label "Speedometer"@en ;
+  rdfs:label "Nopeusmittari"@fi ;
+  rdfs:comment "A speedometer or a speed meter is a gauge that measures and displays the instantaneous speed of a vehicle."@en ;
+  rdfs:subClassOf smartapi:Sensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricSensor a owl:Class ;
+  rdfs:label "Electric sensor"@en ;
+  rdfs:label "Sähkösensori"@fi ;
+  rdfs:comment "A sensor measuring electric current, electric potential, magnetic, radio, or other electricity related phenomenon."@en ;
+  rdfs:subClassOf smartapi:Sensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:CurrentSensor a owl:Class ;
+  rdfs:label "Current sensor"@en ;
+  rdfs:label "Virta-anturi"@fi ;
+  rdfs:comment "A current sensor is a device that detects electric current (AC or DC) in a wire, and generates a signal proportional to that current."@en ;
+  rdfs:subClassOf smartapi:ElectricSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Magnetometer a owl:Class ;
+  rdfs:label "Magnetometer"@en ;
+  rdfs:label "Magnetometri"@fi ;
+  rdfs:comment "A magnetometer is an instrument that measures magnetism—either the magnetization of a magnetic material like a ferromagnet, or the direction, strength, or relative change of a magnetic field at a particular location. A compass is a simple type of magnetometer, one that measures the direction of an ambient magnetic field."@en ;
+  rdfs:subClassOf smartapi:ElectricSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:VoltageDetector a owl:Class ;
+  rdfs:label "VoltageDetector"@en ;
+  rdfs:label "Jänniteanturi"@fi ;
+  rdfs:comment "A voltage detector, test light, test lamp, voltage tester, or mains tester is a simple piece of electronic test equipment used to determine the presence or absence of an electric voltage (usually alternating current (AC) in a piece of equipment under test. A test light is generally simpler and less costly than a measuring instrument such as a multimeter, and often suffices for checking for the presence of voltage on a conductor."@en ;
+  rdfs:subClassOf smartapi:ElectricSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Multimeter a owl:Class ;
+  rdfs:label "Multimeter"@en ;
+  rdfs:label "Yleismittari"@fi ;
+  rdfs:comment "A multimeter or a multitester, also known as a VOM (volt-ohm-milliammeter), is an electronic measuring instrument that combines several measurement functions in one unit. A typical multimeter can measure voltage, current, and resistance."@en ;
+  rdfs:subClassOf smartapi:ElectricSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:EnvironmentalSensor a owl:Class ;
+  rdfs:label "Environmental sensor"@en ;
+  rdfs:label "Ympäristöanturi"@fi ;
+  rdfs:comment "An environmental sensor is a sensor that measures phenomena related to environment, such as, humidity, moisture, weather and air quality."@en ;
+  rdfs:subClassOf smartapi:Sensor, smartapi:SecurityManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Thermometer a owl:Class ;
+  rdfs:label "Thermometer"@en ;
+  rdfs:label "Lämpömittari"@fi ;
+  rdfs:comment "A thermometer is a device that measures temperature or a temperature gradient. A thermometer has two important elements: (1) a temperature sensor (e.g. the bulb of a mercury-in-glass thermometer or the digital sensor in an infrared thermometer) in which some change occurs with a change in temperature, and (2) some means of converting this change into a numerical value (e.g. the visible scale that is marked on a mercury-in-glass thermometer or the digital readout on an infrared model)."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor, smartapi:CoolingManagementEntity, smartapi:HeatingManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:AirPollutionSensor a owl:Class ;
+  rdfs:label "Air pollution sensor"@en ;
+  rdfs:label "Ilmansaasteanturi"@fi ;
+  rdfs:comment "Air pollution sensors are devices that detect and monitor the presence of air pollution in the surrounding area. They can be used for both indoor and outdoor environments. Although there are various types of air pollution sensors, and some are specialized in certain aspects, the majority focuses on five components: ozone, particulate matter, carbon monoxide, sulfur dioxide, and nitrous oxide."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:GasDetector a owl:Class ;
+  rdfs:label "Gas detector"@en ;
+  rdfs:label "Kaasunilmaisin"@fi ;
+  rdfs:comment "A gas detector is a device that detects the presence of gases in an area, often as part of a safety system. This type of equipment is used to detect a gas leak or other emissions and can interface with a control system so a process can be automatically shut down."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:HumiditySensor a owl:Class ;
+  rdfs:label "Humidity sensor"@en ;
+  rdfs:label "Kosteusanturi"@fi ;
+  rdfs:comment "A humidity sensor (or hygrometer) senses, measures and reports the relative humidity in the air. Humidity measurement instruments usually rely on measurements of some other quantity such as temperature, pressure, mass or a mechanical or electrical change in a substance as moisture is absorbed. By calibration and calculation, these measured quantities can lead to a measurement of humidity."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor, smartapi:WaterManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:RainGauge a owl:Class ;
+  rdfs:label "Rain gauge"@en ;
+  rdfs:label "Sademittari"@fi ;
+  rdfs:comment "A rain gauge (also known as an udometer, pluviometer, or an ombrometer) is an instrument used by meteorologists and hydrologists to gather and measure the amount of liquid precipitation over a set period of time."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor, smartapi:WaterManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:RainSensor a owl:Class ;
+  rdfs:label "Rain sensor"@en ;
+  rdfs:label "Sadetunnistin"@fi ;
+  rdfs:comment "A rain sensor or rain switch is a switching device activated by rainfall. There are two main applications for rain sensors. The first is a water conservation device connected to an automatic irrigation system that causes the system to shut down in the event of rainfall. The second is a device used to protect the interior of an automobile from rain and to support the automatic mode of windscreen wipers."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor, smartapi:WaterManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SnowGauge a owl:Class ;
+  rdfs:label "Snow gauge"@en ;
+  rdfs:label "Lumimittari"@fi ;
+  rdfs:comment "A snow gauge is a type of instrument used by meteorologists and hydrologists to gather and measure the amount of solid precipitation (as opposed to liquid precipitation that is measured by a rain gauge) over a set period of time."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:MotionDetector a owl:Class ;
+  rdfs:label "Motion detector"@en ;
+  rdfs:label "Liiketunnistin"@fi ;
+  rdfs:comment "A motion detector is a device that detects moving objects, particularly people. Such a device is often integrated as a component of a system that automatically performs a task or alerts a user of motion in an area."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:OccupancySensor a owl:Class ;
+  rdfs:label "Occupancy sensor"@en ;
+  rdfs:label "Läsnäoloanturi"@fi ;
+  rdfs:comment "Occupancy sensor is a descriptive term for various indoor motion detecting devices used to notice the presence of a person in a room or space, in order to automatically turn lights and/or temperature or ventilation systems on or off, using infrared, ultrasonic, microwave, or other technology."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ProximitySensor a owl:Class ;
+  rdfs:label "Proximity sensor"@en ;
+  rdfs:label "Läheisyysanturi"@fi ;
+  rdfs:comment "A proximity sensor is a sensor able to detect the presence of nearby objects without any physical contact. A proximity sensor often emits an electromagnetic field or a beam of electromagnetic radiation (infrared, for instance), and looks for changes in the field or return signal."@en ;
+  rdfs:subClassOf smartapi:EnvironmentalSensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:WaterMeter a owl:Class ;
+  rdfs:label "Water meter"@en ;
+  rdfs:label "Vesimittari"@fi ;
+  rdfs:comment "A water meter is used to measure the volume of water used by residential and commercial buildings that are supplied with water by a public water supply system. Water meters can also be used at the water source, well, or throughout a water system to determine flow through a particular portion of the system. In most of the world water meters measure flow in cubic metres (m3) or litres but in the USA and some other countries water meters are calibrated in cubic feet (ft.3) or US gallons on a mechanical or electronic register."@en ;
+  rdfs:subClassOf smartapi:Sensor, smartapi:WaterManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Gyroscope a owl:Class ;
+  rdfs:label "Gyroscope"@en ;
+  rdfs:label "Gyroskooppi"@fi ;
+  rdfs:comment "A gyroscope is a device used for measuring or maintaining orientation and angular velocity."@en ;
+  rdfs:subClassOf smartapi:Sensor;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:NFCReader a owl:Class ;
+  rdfs:label "NFC reader"@en ;
+  rdfs:label "NFC-lukija"@fi ;
+  rdfs:comment "An NFC reader is a device able to read information stored on inexpensive NFC tags embedded in labels or smart posters."@en ;
+  rdfs:subClassOf smartapi:Sensor, smartapi:NFCDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:RFIDReader a owl:Class ;
+  rdfs:label "RFID reader"@en ;
+  rdfs:label "RFID-lukija"@fi ;
+  rdfs:comment "An RFID reader is a device able to read information stored on RFID tag embedded in the tracked object."@en ;
+  rdfs:subClassOf smartapi:Sensor, smartapi:RFIDDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# pumps
+
+smartapi:Pump a owl:Class ;
+  rdfs:label "Pump"@en ;
+  rdfs:label "Pumppu"@fi ;
+  rdfs:comment "A pump is a device that moves fluids (liquids or gases), or sometimes slurries, by mechanical action."@en ;
+  rdfs:subClassOf smartapi:Device, smartapi:ElectricityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:WaterPump rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Pump, smartapi:WaterManagementEntity ;
+  rdfs:comment "Water pump moves water from one place to another."@en ;
+  rdfs:label "Vesipumppu"@fi ;
+  rdfs:label "Water pump"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+#smartapi:DevicePart a owl:Class ;
+#  rdfs:label "Device part"@en ;
+#  rdfs:label "Laitteen osa"@fi ;
+#  rdfs:comment "A physical part of a device that may be a device itself."@en ;
+#  rdfs:subClassOf smartapi:PhysicalEntity;
+#  vs:term_status "testing" ;
+#  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Container a owl:Class ;
+  rdfs:label "Container"@en ;
+  rdfs:label "Säiliö"@fi ;
+  rdfs:comment "A container that may be filled with something."@en ;
+  rdfs:subClassOf smartapi:Container;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:WaterTank a owl:Class ;
+  rdfs:label "Water tank"@en ;
+  rdfs:label "Vesisäiliö"@fi ;
+  rdfs:comment "A container that may be filled with water."@en ;
+  rdfs:subClassOf smartapi:Container, smartapi:WaterManagementEntity, smartapi:ElectricityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:GasTank a owl:Class ;
+  rdfs:label "Gas tank"@en ;
+  rdfs:label "Kaasusäiliö"@fi ;
+  rdfs:comment "A container that may be filled with gasoline."@en ;
+  rdfs:subClassOf smartapi:Container, smartapi:ElectricityManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Lamp a owl:Class ;
+  rdfs:label "Lamp"@en ;
+  rdfs:label "Valaisin"@fi;
+  rdfs:comment "Lamp"@en ;
+  rdfs:subClassOf smartapi:Lighting ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SpaceHeater a owl:Class ;
+  rdfs:label "Space heater"@en ;
+  rdfs:label "Sisälämmitin"@fi ;
+  rdfs:comment "An appliance providing heat to a building space by radiation or convection. It is typically part of central heating system."@en ;
+  rdfs:subClassOf smartapi:Appliance, smartapi:Heating, smartapi:HeatingManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SpaceCooler a owl:Class ;
+  rdfs:label "Space cooler"@en ;
+  rdfs:label "Tilan jäähdytin"@fi ;
+  rdfs:comment "An applicance providing cooling to a building space. It is typically part of central cooling system."@en ;
+  rdfs:subClassOf smartapi:Appliance, smartapi:Cooling, smartapi:CoolingManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricRadiator a owl:Class ;
+  rdfs:label "Electric radiator"@en ;
+  rdfs:label "Sähköpatteri"@fi ;
+  rdfs:comment "An electric radiator"@en ;
+  rdfs:subClassOf smartapi:SpaceHeater,smartapi:EnergyLoad ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:HotWaterRadiator a owl:Class ;
+  rdfs:label "Hot water radiator"@en ;
+  rdfs:label "Lämpövesipatteri"@fi ;
+  rdfs:comment "A hot water / liquid /steam radiator."@en ;
+  rdfs:subClassOf smartapi:SpaceHeater, smartapi:EnergyLoad, smartapi:WaterManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:UnderFloorHeater a owl:Class ;
+  rdfs:label "Under floor heater"@en ;
+  rdfs:label "Lattialämmitin"@fi ;
+  rdfs:comment "Also known as radiant heat, underfloor heating uses a network of pipes, tubing or heating cables, buried in or attached beneath a floor to allow heat to rise into the room."@en ;
+  rdfs:subClassOf smartapi:SpaceHeater, smartapi:EnergyLoad ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SaunaStove a owl:Class ;
+  rdfs:label "Sauna stove"@en ;
+  rdfs:label "Kiuas"@fi ;
+  rdfs:comment "A heat and steam source in a sauna not usually part of central heating. Heat can be generated either electric or burning wood directly."@en ;
+  rdfs:subClassOf smartapi:SpaceHeater ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:PulpMill a owl:Class ;
+  rdfs:comment "A pulp mill. Used as a load."@en ;
+  rdfs:label "Pulp mill"@en ;
+  rdfs:label "Sellutehdas"@fi ;
+  rdfs:subClassOf smartapi:EnergyLoad, smartapi:IndustrialFacility ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:PaperMill a owl:Class ;
+  rdfs:comment "A paper mill. Used as a load."@en ;
+  rdfs:label "Paper mill"@en ;
+  rdfs:label "Paperitehdas"@fi ;
+  rdfs:subClassOf smartapi:EnergyLoad, smartapi:IndustrialFacility ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# energy generator
+
+smartapi:EnergyGenerator a owl:Class ;
+  rdfs:label "Energy generator"@en ;
+  rdfs:label "Energian tuottaja"@fi ;
+  rdfs:comment "An energy generator"@en ;
+  rdfs:subClassOf smartapi:EnergySystem;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:EnergyGeneratorDevice a owl:Class ;
+  rdfs:label "Energy generator device"@en ;
+  rdfs:label "Energiaa tuottava laite"@fi ;
+  rdfs:comment "An energy generator device"@en ;
+  rdfs:subClassOf smartapi:Device, smartapi:ElectricityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:SolarPanel a owl:Class ;
+  rdfs:label "Solar panel"@en ;
+  rdfs:label "Aurinkopaneeli"@fi ;
+  rdfs:comment "A panel outside house converting solar radiation energy to other types of heat/thermal or electric energy."@en ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:PhotovoltaicComponent, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:HeatEnergyGenerator a owl:Class ;
+  rdfs:label "Heat energy generator"@en ;
+  rdfs:label "Lämpögeneraattori"@fi ;
+  rdfs:comment "A generator turning other type of energy into heat."@en ;
+  rdfs:subClassOf smartapi:EnergyGenerator, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SolarThermalCollector a owl:Class ;
+  rdfs:label "Solar thermal collector"@en ;
+  rdfs:label "Aurinkolämpökerääjä"@fi ;
+  rdfs:comment "A panel outside house converting solar radiation energy into heated water."@en ;
+  rdfs:subClassOf smartapi:SolarPanel, smartapi:HeatEnergyGenerator ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricalEnergyGenerator a owl:Class ;
+  rdfs:label "Electric energy generator"@en ;
+  rdfs:label "Sähkögeneraattori"@fi ;
+  rdfs:comment "A generator turning other type of energy into electricity."@en ;
+  rdfs:subClassOf smartapi:EnergyGenerator ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:PhotovoltaicPanel a owl:Class ;
+  rdfs:label "Photo voltaic panel"@en ;
+  rdfs:label "Aurinkosähköpaneeli"@fi ;
+  rdfs:comment "A panel outside house converting solar radiation to electricity using PV."@en ;
+  rdfs:subClassOf smartapi:SolarPanel ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:HeatPump a owl:Class ;
+  rdfs:label "Heat pump"@en ;
+  rdfs:label "Lämpöpumppu"@fi ;
+  rdfs:comment "A heat pump is a system which transfers heat from outside to inside a building, using vapor compression refrigration consuming also electric energy. "@en ;
+  rdfs:subClassOf smartapi:Pump, smartapi:SpaceHeater, smartapi:EnergyLoad ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:AirSourceHeatPump a owl:Class ;
+  rdfs:label "Air source heat pump"@en ;
+  rdfs:label "Ilmalämpöpumppu"@fi ;
+  rdfs:comment "A heat pump using heat from outside air."@en ;
+  rdfs:subClassOf smartapi:HeatPump ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:GeothermalHeatPump a owl:Class ;
+  rdfs:label "Geothermal heat pump"@en ;
+  rdfs:label "Geoterminen lämpöpumppu"@fi ;
+  rdfs:comment "A heat pump using geothermal heat from the ground."@en ;
+  rdfs:subClassOf smartapi:HeatPump ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:WindTurbineGenerator a owl:Class ;
+  rdfs:comment "A power plant called a wind turbine."@en ;
+  rdfs:label "Wind turbine generator"@en ;
+  rdfs:label "Tuuliturbiinigeneraattori"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:WindFarm a owl:Class ;
+  rdfs:comment "A wind farm is a cluster of wind turbine generators."@en ;
+  rdfs:label "Wind farm"@en ;
+  rdfs:label "Tuulipuisto"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:IndustrialFacility ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SolarFarm a owl:Class ;
+  rdfs:comment "A solar farm is a cluster of solar energy generators."@en ;
+  rdfs:label "Solar farm"@en ;
+  rdfs:label "Aurinkopuisto"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:IndustrialFacility ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+#smartapi:DistributedEnergyResource a owl:Class ;
+#  rdfs:comment "Any type of distributed energy resource. This is for use if a match is not found."@en ;
+#  rdfs:label "Distributed energy resource"@en ;
+#  rdfs:subClassOf smartapi:EnergyGenerator ;
+#  vs:term_status "testing" ;
+#  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:VirtualPowerPlant a owl:Class ;
+  rdfs:comment "A virtual power plant"@en ;
+  rdfs:label "Virtual power plant"@en ;
+  rdfs:label "Virtuaalinen voimalaitos"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:GeneratorCHP a owl:Class ;
+  rdfs:comment "A combined heat and power plant."@en ;
+  rdfs:label "Generator CHP"@en ;
+  rdfs:label "Lämpö- ja sähkövoimala"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:HeatEnergyGenerator, smartapi:EnergyGeneratorDevice;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:HydroGenerator a owl:Class ;
+  rdfs:comment "A hydro generator."@en ;
+  rdfs:label "Hydro generator"@en ;
+  rdfs:label "Vesivoimala"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:IndustrialFacility, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:FuelCell a owl:Class ;
+  rdfs:comment "A fuel cell."@en ;
+  rdfs:label "Fuel cell"@en ;
+  rdfs:label "Polttoainekenno"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:GeothermalPowerGenerator a owl:Class;
+  rdfs:comment "A thermal power station."@en ;
+  rdfs:label "Geothermal power generator"@en ;
+  rdfs:label "Maalämpövoimala"@fi ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:PeakPowerGenerator a owl:Class ;
+  rdfs:comment "A peak power generator"@en ;
+  rdfs:label "Peak power generator"@en ;
+  rdfs:label "Huipputehogeneraattori"@fi ;
+  rdfs:subClassOf smartapi:EnergyGenerator, smartapi:EnergyGeneratorDevice ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# energy storage
+
+smartapi:EnergyStorageDevice a owl:Class ;
+  rdfs:label "Energy storage device"@en ;
+  rdfs:label "Energiavarastointilaite"@fi ;
+  rdfs:comment "An energy storage device"@en ;
+  rdfs:subClassOf smartapi:Device, smartapi:ElectricityManagementEntity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Battery rdf:type owl:Class ;
+  rdfs:label "Battery"@en ;
+  rdfs:comment "A type of energy storage, typically expensive and with small capacity."@en ;
+  rdfs:label "Akku"@fi ;
+  rdfs:subClassOf smartapi:EnergyStorage, smartapi:EnergyStorageDevice ;
+  dc:description "Batteries store energy." ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:WaterBoiler a owl:Class ;
+  rdfs:label "Water boiler"@en ;
+  rdfs:label "Vesiboileri"@fi ;
+  rdfs:comment "An storage tank for providing heated water for use or central heating, often uses electric energy as heat source."@en ;
+  rdfs:subClassOf smartapi:EnergyStorage, smartapi:HVAC, smartapi:EnergyStorageDevice, smartapi:WaterManagementEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# energy converter
+
+smartapi:Converter a owl:Class ;
+  rdfs:comment "Converter."@en ;
+  rdfs:label "Converter"@en ;
+  rdfs:label "Muunnin"@fi ;
+  rdfs:subClassOf smartapi:Device ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Inverter rdf:type owl:Class ;
+  rdfs:comment "Power inverter, an electronic device that can change DC to AC."@en ;
+  rdfs:label "Inverter"@en ;
+  rdfs:label "Invertteri"@fi ;
+  rdfs:subClassOf smartapi:Device  ;
+  dc:description "Converts the direct current (DC) from the solar modules to alternating current (AC)" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Rectifier a owl:Class ;
+  rdfs:comment "Converts AC to DC."@en ;
+  rdfs:label "Rectifier"@en ;
+  rdfs:label "Tasasuuntaaja"@fi ;
+  rdfs:subClassOf smartapi:Converter;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ConverterDCtoDC a owl:Class ;
+  rdfs:comment "Coverts DC to DC."@en ;
+  rdfs:label "Converter DC to DC"@en ;
+  rdfs:label "Tasavirta-tasavirta muunnin"@fi ;
+  rdfs:subClassOf smartapi:Converter;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ConverterACtoAC a owl:Class ;
+  rdfs:comment "Converts AC to AC."@en ;
+  rdfs:label "Converter AC to AC"@en ;
+  rdfs:label "Vaihtovirta-vaihtovirta muunnin"@fi ;
+  rdfs:subClassOf smartapi:Converter;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ConverterACtoDC a owl:Class ;
+  rdfs:comment "Coverts AC to DC."@en ;
+  rdfs:label "Converter AC to DC"@en ;
+  rdfs:label "Vaihtovirta-tasavirta muunnin"@fi ;
+  rdfs:subClassOf smartapi:Converter;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ConverterDCtoAC a owl:Class ;
+  rdfs:comment "Converts DC to AC."@en ;
+  rdfs:label "Converter DC to AC"@en ;
+  rdfs:label "Tasavirta-vaihtovirta muunnin"@fi ;
+  rdfs:subClassOf smartapi:Converter;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+# vehicles
+
+smartapi:Vehicle a owl:Class ;
+  rdfs:label "Vehicle"@en ;
+  rdfs:label "Kulkuneuvo"@fi ;
+  rdfs:comment "Resource indicating a vehicle."@en ;
+  rdfs:subClassOf smartapi:PhysicalEntity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricVehicle a owl:Class ;
+  rdfs:label "Electric vehicle"@en ;
+  rdfs:label "Sähköinen kulkuneuvo"@fi ;
+  rdfs:comment "Resource indicating an electric vehicle (EV)."@en ;
+  rdfs:subClassOf smartapi:Vehicle, smartapi:EnergyStorage, smartapi:EnergyStorageDevice, smartapi:EnergyLoad ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:DieselVehicle a owl:Class ;
+  rdfs:label "Diesel vehicle"@en ;
+  rdfs:label "Dieselkäyttöinen kulkuneuvo"@fi ;
+  rdfs:comment "Resource indicating a vehicle powered by diesel engine."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SteamVehicle a owl:Class ;
+  rdfs:label "Steam vehicle"@en ;
+  rdfs:label "Höyrykäyttöinen kulkuneuvo"@fi ;
+  rdfs:comment "Resource indicating an vehicle powered by steam engine."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:AutonomousVehicle a owl:Class ;
+  rdfs:label "Autonomous vehicle"@en ;
+  rdfs:label "Itseohjautuva kulkuneuvo"@fi ;
+  rdfs:comment "Resource indicating a vehicle that is capable of sensing its environment and navigating without human input."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Car a owl:Class ;
+  rdfs:label "Car"@en ;
+  rdfs:label "Auto"@fi ;
+  rdfs:comment "Resource indicating an automobile, a road vehicle typically with four wheels, powered by an internal combustion engine and able to carry a small number of people."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Truck a owl:Class ;
+  rdfs:label "Truck"@en ;
+  rdfs:label "Kuorma-auto"@fi ;
+  rdfs:comment "Resource indicating a truck (or lorry) that is a motor vehicle designed to transport cargo."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:AutonomousCar a owl:Class ;
+  rdfs:label "Autonomous car"@en ;
+  rdfs:label "Itseohjautuva auto"@fi ;
+  rdfs:comment "Resource indicating an autonomous car."@en ;
+  rdfs:subClassOf smartapi:AutonomousVehicle, smartapi:Car ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Bus a owl:Class ;
+  rdfs:label "Bus"@en ;
+  rdfs:label "Linja-auto"@fi ;
+  rdfs:comment "Resource indicating an automobile, a road vehicle typically powered by an internal combustion engine and able to carry more than a small number of people."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Train a owl:Class ;
+  rdfs:label "Train"@en ;
+  rdfs:label "Juna"@fi ;
+  rdfs:comment "Resource indicating a rail transport vehicle consisting of a series of connected vehicles that usually runs along a rail track to transport cargo or passengers."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Bicycle a owl:Class ;
+  rdfs:label "Bicycle"@en ;
+  rdfs:label "Polkupyörä"@fi ;
+  rdfs:comment "Resource indicating a bicycle, also called a cycle or bike, that is typically human-powered, pedal-driven, single-track vehicle, having two wheels attached to a frame."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:Scooter a owl:Class ;
+  rdfs:label "Scooter"@en ;
+  rdfs:label "Skootteri"@fi ;
+  rdfs:comment "Resource indicating an scooter, a road vehicle typically powered by an internal combustion engine and able to carry two persons."@en ;
+  rdfs:subClassOf smartapi:Vehicle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricCar a owl:Class ;
+  rdfs:label "Electric car"@en ;
+  rdfs:label "Sähköauto"@fi ;
+  rdfs:comment "Resource indicating an electric car."@en ;
+  rdfs:subClassOf smartapi:ElectricVehicle, smartapi:Car ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricBus a owl:Class ;
+  rdfs:label "Electric bus"@en ;
+  rdfs:label "Sähkölinja-auto"@fi ;
+  rdfs:comment "Resource indicating an electric bus."@en ;
+  rdfs:subClassOf smartapi:ElectricVehicle, smartapi:Bus ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricBicycle a owl:Class ;
+  rdfs:label "Electric bicycle"@en ;
+  rdfs:label "Sähköpolkupyörä"@fi ;
+  rdfs:comment "Resource indicating an electric bicycle."@en ;
+  rdfs:subClassOf smartapi:ElectricVehicle, smartapi:Bicycle ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricScooter a owl:Class ;
+  rdfs:label "Electric scooter"@en ;
+  rdfs:label "Sähköskootteri"@fi ;
+  rdfs:comment "Resource indicating an electric scooter."@en ;
+  rdfs:subClassOf smartapi:ElectricVehicle, smartapi:Scooter ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:ElectricTrain a owl:Class ;
+  rdfs:label "Electric train"@en ;
+  rdfs:label "Sähköjuna"@fi ;
+  rdfs:comment "Resource indicating an electric train."@en ;
+  rdfs:subClassOf smartapi:ElectricVehicle, smartapi:Train ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:DieselTrain a owl:Class ;
+  rdfs:label "Diesel train"@en ;
+  rdfs:label "Dieseljuna"@fi ;
+  rdfs:comment "Resource indicating a train powered by diesel locomotive."@en ;
+  rdfs:subClassOf smartapi:DieselVehicle, smartapi:Train ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+smartapi:SteamTrain a owl:Class ;
+  rdfs:label "Steam train"@en ;
+  rdfs:label "Höyryjuna"@fi ;
+  rdfs:comment "Resource indicating a train powered by steam locomotive."@en ;
+  rdfs:subClassOf smartapi:SteamVehicle, smartapi:Train ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology.
+
+#  buildings
+
+smartapi:Building rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:PhysicalEntity, smartapi:SpaceManagementEntity ;
+  rdfs:comment "Building"@en ;
+  rdfs:label "Rakennus"@fi ;
+  rdfs:label "Building"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:OfficeBuilding rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Office building"@en ;
+  rdfs:label "Toimistorakennus"@fi ;
+  rdfs:label "Office building"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:ShoppingMall rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Shopping mall"@en ;
+  rdfs:label "Ostoskeskus"@fi ;
+  rdfs:label "Shopping mall"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Cottage rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Cottage"@en ;
+  rdfs:label "Mökki"@fi ;
+  rdfs:label "Cottage"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:DetachedHouse rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Detached house"@en ;
+  rdfs:label "Omakotitalo"@fi ;
+  rdfs:label "Detached house"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:SemidetachedHouse rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Semidetached house"@en ;
+  rdfs:label "Paritalo"@fi ;
+  rdfs:label "Semidetached house"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:ElectricVehicleChargingStation rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Building ;
+  rdfs:comment "Electric vehicle charging station"@en ;
+  rdfs:label "Sähkökulkuneuvojen latausasema"@fi ;
+  rdfs:label "Electric vehicle charging station"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+ # industrial facilities
+smartapi:IndustrialFacility rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:PhysicalEntity, smartapi:SpaceManagementEntity ;
+  rdfs:comment "Industrial facility"@en ;
+  rdfs:label "Teollisuuslaitos"@fi ;
+  rdfs:label "Industrial facility"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:NuclearPowerPlant rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:ElectricalEnergyGenerator, smartapi:IndustrialFacility ;
+  rdfs:comment "Nuclear power plant"@en ;
+  rdfs:label "Ydinvoimala"@fi ;
+  rdfs:label "Nuclear power plant"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:WaterPumpingStation rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndustrialFacility, smartapi:WaterManagementEntity ;
+  rdfs:comment "Water pumping station"@en ;
+  rdfs:label "Vesipumppaamo"@fi ;
+  rdfs:label "Water pumping station"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+ # areas
+
+smartapi:Area rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:PhysicalEntity ;
+  rdfs:comment "Area"@en ;
+  rdfs:label "Alue"@fi ;
+  rdfs:label "Area"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:LandArea rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Area, smartapi:SpaceManagementEntity ;
+  rdfs:comment "Land area"@en ;
+  rdfs:label "Maa-alue"@fi ;
+  rdfs:label "Land area"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:ParkingArea rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:LandArea ;
+  rdfs:comment "Parking area"@en ;
+  rdfs:label "Pysäköintialue"@fi ;
+  rdfs:label "Parking area"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:ParkingSpace rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:ParkingArea ;
+  rdfs:comment "Space to park one vehicle"@en ;
+  rdfs:label "Parkkiruutu"@fi ;
+  rdfs:label "Parking space"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:IndoorSpace rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Area, smartapi:SpaceManagementEntity ;
+  rdfs:comment "Indoor space"@en ;
+  rdfs:label "Sisätila"@fi ;
+  rdfs:label "Indoor space"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:Room rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Room"@en ;
+  rdfs:label "Huone"@fi ;
+  rdfs:label "Room"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:House rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "House"@en ;
+  rdfs:label "Talo"@fi ;
+  rdfs:label "House"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:Home rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Home"@en ;
+  rdfs:label "Koti"@fi ;
+  rdfs:label "Home"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:Office rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Office"@en ;
+  rdfs:label "Toimisto"@fi ;
+  rdfs:label "Office"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:OfficeRoom rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Room ;
+  rdfs:comment "Office room"@en ;
+  rdfs:label "Toimistohuone"@fi ;
+  rdfs:label "Office room"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:MeetingRoom rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Room ;
+  rdfs:comment "Meeting room"@en ;
+  rdfs:label "Kokoushuone"@fi ;
+  rdfs:label "Meeting room"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Corridor rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Corridor"@en ;
+  rdfs:label "Käytävä"@fi ;
+  rdfs:label "Corridor"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Lobby rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Lobby"@en ;
+  rdfs:label "Eteinen"@fi ;
+  rdfs:label "Lobby"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Hall rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Hall"@en ;
+  rdfs:label "Sali"@fi ;
+  rdfs:label "Hall"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:Toilet rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Toilet"@en ;
+  rdfs:label "Käymälä"@fi ;
+  rdfs:label "Toilet"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:MensToilet rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Toilet ;
+  rdfs:comment "Men's toilet"@en ;
+  rdfs:label "Miesten WC"@fi ;
+  rdfs:label "Men's toilet"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:WomensToilet rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Toilet ;
+  rdfs:comment "Women's toilet"@en ;
+  rdfs:label "Naisten WC"@fi ;
+  rdfs:label "Women's toilet"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+                                     
+smartapi:UnisexToilet rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Toilet ;
+  rdfs:comment "Unisex toilet"@en ;
+  rdfs:label "Unisex WC"@fi ;
+  rdfs:label "Unisex toilet"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:Bathroom rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndoorSpace ;
+  rdfs:comment "Bathroom"@en ;
+  rdfs:label "Kylpyhuone"@fi ;
+  rdfs:label "Bathroom"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+# waste management entities
+
+smartapi:WasteContainer rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Container, smartapi:WasteManagementEntity ;
+  rdfs:comment "Waste container"@en ;
+  rdfs:label "Jätesäiliö"@fi ;
+  rdfs:label "Waste container"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:RecyclingCenter rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:IndustrialFacility, smartapi:WasteManagementEntity ;
+  rdfs:comment "Recycling center"@en ;
+  rdfs:label "Kierrätyskeskus"@fi ;
+  rdfs:label "Recycling center"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+smartapi:JunkYard rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:LandArea, smartapi:WasteManagementEntity ;
+  rdfs:comment "Junk yard"@en ;
+  rdfs:label "Kaatopaikka"@fi ;
+  rdfs:label "Junk yard"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+               
+smartapi:GarbageTruck rdf:type owl:Class ;
+  rdfs:subClassOf smartapi:Truck, smartapi:WasteManagementEntity ;
+  rdfs:comment "Garbage truck"@en ;
+  rdfs:label "Jäteauto"@fi ;
+  rdfs:label "Garbage truck"@en ;
+  rdfs:isDefinedBy smartapi:PhysicalEntityOntology .
+
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .       #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .                    #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .            #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .                 #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                          #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                      #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .                  #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .      #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix saref: <https://w3id.org/saref#>.                          #SAREF smart building appliances ontology
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .              #QUDT
+@prefix qudt-quantity: <http://data.nasa.gov/qudt/owl/quantity#> . #QUDT quantities
+@prefix qudt-unit: <http://data.nasa.gov/qudt/owl/unit#> .         #QUDT units
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+#Core roles and activities (for devices and systems), this is related to actor module and could specialize it but now here defined as new vocabulary
+smartapi:QuantityUnitOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-QuantityUnit ontology"@en ;
+  dc:description "The Smart API quantity and unit ontology."@en ;
+  dc:issued "2016-07-19"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Lynda TEMAL" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/QuantityUnitOntology> ;
+  owl:versionInfo "v1.0" .
+
+
+# datatype property
+
+smartapi:dataType a owl:ObjectProperty ;
+  rdfs:label "Data type"@en ;
+  qudt:description "A type for data concepts instead of using units when units cannot be used."^^xsd:string ;
+  rdfs:comment "A type for data concepts instead of using units when units cannot be used."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+# secondary quantity and unit properties
+  
+smartapi:secondaryQuantityKind a owl:ObjectProperty ;
+  rdfs:label "Secondary quantity kind"@en ;
+  rdfs:comment "A reference to the secondary measured quantity kind of interest." ;
+  rdfs:subPropertyOf qudt:quantityKind ;
+  rdfs:domain smartapi:ValueObject ;
+  rdfs:range qudt:QuantityKind ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:secondaryUnit a owl:ObjectProperty ;
+  rdfs:label "Secondary unit"@en ;
+  rdfs:comment "A reference to the secondary unit of measure of a secondary quantity kind of interest." ;
+  rdfs:subPropertyOf qudt:unit ;
+  rdfs:domain smartapi:ValueObject ;
+  rdfs:range qudt:Unit ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+# quantity categories
+
+smartapi:WeatherPhenomenonQuantityKind a qudt:QuantityKindCategory, owl:Class ;
+  rdfs:label "Weather phenomenon quantity kind"@en ;
+  rdfs:comment "Any observable property that can be measured and quantified numerically, and related with weather phenomenon."@en ;
+  qudt:description "Any observable property that can be measured and quantified numerically, and related with weather phenomenon."^^xsd:string ;
+  rdfs:subClassOf qudt:QuantityKind ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:EmissionQuantityKind a qudt:QuantityKindCategory, owl:Class ;
+  rdfs:label "Emission quantity kind"@en ;
+  rdfs:comment "Any observable property that can be measured and quantified numerically, and related with emission of air pollutants."@en ;
+  qudt:description "Any observable property that can be measured and quantified numerically, and related with emission of air pollutants."^^xsd:string ;
+  rdfs:subClassOf qudt:QuantityKind ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+# unit categories
+
+smartapi:AirCirculationUnit a owl:Class ;
+  rdfs:label "Air circulation unit"@en ;
+  rdfs:comment "Unit for quantifying/measuring air circulation."@en ;
+  qudt:description "Unit for quantifying/measuring air circulation."^^xsd:string ;
+  rdfs:subClassOf qudt:SpaceAndTimeUnit ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ThermalTransmittanceUnit a owl:Class ;
+  rdfs:label "Thermal transmittance unit" ;
+  rdfs:comment "Unit for thermal transmittance."@en ;
+  qudt:description "Unit for thermal transmittance."^^xsd:string ;
+  rdfs:subClassOf qudt:ThermodynamicsUnit ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PriceUnit a owl:Class ;
+  rdfs:label "Price Unit"^^xsd:string ;
+  qudt:description "The unit for price."^^xsd:string ;
+  rdfs:comment "The unit for price for something."@en ;
+  rdfs:subClassOf qudt:FinancialUnit ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+
+# units
+
+smartapi:Megawatt a qudt:PowerUnit, qudt:DerivedUnit ;
+  rdfs:label "Megawatt"@en ;
+  rdfs:label "Megawatti"@fi ;
+  qudt:description "Megawatt"^^xsd:string ;
+  rdfs:comment "Megawatt"@en ;
+  qudt:quantityKind <http://data.nasa.gov/qudt/owl/quantity#Power> ;
+  qudt:symbol "MW"^^xsd:string ;
+  qudt:abbreviation "MW"^^xsd:string ;
+  qudt:conversionOffset 0.000000e+0 ;
+  qudt:conversionMultiplier 1.000000e+6 ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Gigawatt a qudt:PowerUnit, qudt:DerivedUnit ;;
+  rdfs:label "Gigawatt"@en ;
+  rdfs:label "Gigawatti"@fi ;
+  qudt:description "1 Gigawatt = 1 billion watts."^^xsd:string ;
+  rdfs:comment "1 Gigawatt = 1 billion watts."@en ;
+  qudt:quantityKind <http://data.nasa.gov/qudt/owl/quantity#Power> ;
+  qudt:symbol "GW" ;
+  qudt:abbreviation "GW" ;
+  qudt:conversionOffset 0.000000e+0 ;
+  qudt:conversionMultiplier 1.000000e+9 ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Megawatthour a qudt:EnergyAndWorkUnit ;
+  rdfs:label "Megawatt hour"@en ;
+  rdfs:comment "Megawatt hour"@en ;
+  qudt:description "Megawatt hour"^^xsd:string ;
+  qudt:abbreviation "MW-hr";
+  qudt:quantityKind qudt-quantity:EnergyAndWork ;
+  vs:term_status "testing" ;
+  qudt:conversionMultiplier 3.600000e+9 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Gigawatthour a qudt:EnergyAndWorkUnit ;
+  rdfs:label "Gigawatt hour"@en ;
+  rdfs:comment "Gigawatt hour"@en ;
+  qudt:description "Gigawatt hour"^^xsd:string ;
+  qudt:abbreviation "GW-hr";
+  qudt:quantityKind qudt-quantity:EnergyAndWork ;
+  vs:term_status "testing" ;
+  qudt:conversionMultiplier 3.600000e+12 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Terawatthour a qudt:EnergyAndWorkUnit ;
+  rdfs:label "Terawatt hour"@en ;
+  rdfs:comment "Terawatt hour"@en ;
+  qudt:description "Terawatt hour"^^xsd:string ;
+  qudt:abbreviation "TW-hr";
+  qudt:quantityKind qudt-quantity:EnergyAndWork ;
+  vs:term_status "testing" ;
+  qudt:conversionMultiplier 3.600000e+15 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+# other units
+
+smartapi:MegawattPerMin a qudt:EnergyAndWorkUnit ;
+  rdfs:label "Megawatt per min"@en ;
+  qudt:quantityKind <http://data.nasa.gov/qudt/owl/quantity#EnergyAndWork> ;
+  qudt:symbol "MW/min"^^xsd:string ;
+  qudt:abbreviation "MW/min"^^xsd:string ;
+  rdfs:comment "Megawatt per minute." ;
+  qudt:description "MegaWattPerMin"^^xsd:string ;
+  vs:term_status "testing" ;
+  qudt:conversionMultiplier 6.000000e+5 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:KilowattPerSquareMeterGFA a qudt:PowerPerAreaUnit ;
+  qudt:quantityKind smartapi:NominalEnergyConsumption ;
+  rdfs:label "Kilowatt per squaremeter GFA"@en ;
+  qudt:abbreviation "kW/(m^2-GFA)";
+  qudt:description "kWatt per gross floor area in square meters (GFA) (brm in finland)."^^xsd:string ;
+  rdfs:comment "kWatt per gross floor area in square meters (GFA) (brm in finland)."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:KiloVoltAmpere a qudt:ElectricityAndMagnetismUnit ;
+  qudt:quantityKind smartapi:ComplexPower ;
+  rdfs:label "Kilovolt ampere"@en ;
+  qudt:abbreviation "kVA"^^xsd:string ;
+  rdfs:comment "Kilovolt Ampere."@en ;
+  qudt:description "Kilovolt Ampere."^^xsd:string ;
+  vs:term_status "testing" ;
+  qudt:conversionOffset 0.000000e+0 ;
+  qudt:conversionMultiplier 1.000000e+3 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:MegaVoltAmpere a qudt:ElectricityAndMagnetismUnit ;
+  qudt:quantityKind smartapi:ComplexPower ;
+  rdfs:label "Megavolt ampere"@en ;
+  qudt:abbreviation "MVA"^^xsd:string ;
+  rdfs:comment "Megavolt ampere."@en ;
+  qudt:description "Megavolt ampere."^^xsd:string ;
+  vs:term_status "testing" ;
+  qudt:conversionOffset 0.000000e+0 ;
+  qudt:conversionMultiplier 1.000000e+6 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltAmpere a qudt:ElectricityAndMagnetismUnit ;
+  qudt:quantityKind smartapi:ComplexPower ;
+  rdfs:label "Volt ampere"@en ;
+  qudt:abbreviation "VA"^^xsd:string ;
+  rdfs:comment "Volt ampere."@en ;
+  qudt:description "Volt ampere."^^xsd:string ;
+  vs:term_status "testing" ;
+  qudt:conversionOffset 0.000000e+0 ;
+  qudt:conversionMultiplier 1.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltAmpereReactive a qudt:PowerUnit ;
+  qudt:quantityKind smartapi:ReactivePower ;
+  rdfs:label "Volt ampere reactive"@en ;
+  qudt:abbreviation "var"^^xsd:string ;
+  rdfs:comment "Volt ampere reactive."@en ;
+  qudt:description "Volt ampere reactive."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:MilliLiter a qudt:VolumeUnit ;
+  rdfs:label "Milliliter"@en ;
+  qudt:abbreviation "mL"^^xsd:string ;
+  qudt:description "Volume in milli liters."^^xsd:string ;
+  rdfs:comment "Volume in milli liters."@en ;
+  qudt:quantityKind <http://data.nasa.gov/qudt/owl/quantity#LiquidVolume> ;
+  qudt:symbol "mL"^^xsd:string ;
+  qudt:conversionMultiplier 1.000000e-6 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:BooleanUnit a qudt:DimensionlessUnit ;
+  rdfs:label "Boolean unit"@en ;
+  rdfs:comment "Truth value."@en ;
+  qudt:description "Truth value."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:BtuPerYear a qudt:HeatFlowRateUnit ;
+  qudt:quantityKind <http://data.nasa.gov/qudt/owl/quantity#Power>, <http://data.nasa.gov/qudt/owl/quantity#HeatFlowRate> ;
+  qudt:abbreviation "Btu/yr" ;
+  qudt:symbol "Btu/yr" ;
+  rdfs:label "BTU per year"@en ;
+  qudt:description "BTU per year."^^xsd:string ;
+  rdfs:comment "Btu per year."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Kiloampere a qudt:ElectricCurrentUnit ;
+  rdfs:label "Kiloampere"@en ;
+  rdfs:comment "Kiloampere"@en ;
+  qudt:description "Kiloampere"^^xsd:string ;
+  qudt:abbreviation "kA";
+  qudt:quantityKind qudt-quantity:ElectricCurrent ;
+  qudt:conversionMultiplier 1.000000e+3 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:OhmMetre a qudt:ElectricityAndMagnetismUnit ;
+  rdfs:label "Ohm metre"@en ;
+  rdfs:comment "The unit related to resistivity, used as: ohm * m."@en ;
+  qudt:description "The unit related to resistivity, used as: ohm * m."^^xsd:string ;
+  qudt:abbreviation "ohm*m";
+  qudt:quantityKind smartapi:ElectricResistivity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:SiemensPerMeter a qudt:ElectricityAndMagnetismUnit ;
+  rdfs:label "Siemens per meter"@en ;
+  rdfs:comment "The unit related to conductivity, used as: siemens/m."@en ;
+  qudt:description "The unit related to conductivity, used as: siemens/m."^^xsd:string ;
+  qudt:abbreviation "siemens/m";
+  qudt:quantityKind smartapi:ElectricConductivity ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PowerOutageCount a qudt:CountingUnit ;
+  rdfs:label "Power outage count"@en ;
+  rdfs:comment "The amount of outages."@en ;
+  qudt:description "The amount of outages."^^xsd:string ;
+  qudt:quantityKind qudt-quantity:Dimensionless ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PulseInputCount a qudt:CountingUnit ;
+  rdfs:label "Pulse input count"@en ;
+  rdfs:comment "The amount of pulse inputs."@en ;
+  qudt:description "The amount of pulse inputs."^^xsd:string ;
+  qudt:quantityKind qudt-quantity:Dimensionless ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltAmpereReactiveHour a qudt:ScienceAndEngineeringUnit ;
+  rdfs:label "Volt ampere reactive hour"@en ;
+  rdfs:comment "Volt ampere reactive hour."@en ;
+  qudt:description "Volt ampere reactive hour."^^xsd:string ;
+  qudt:abbreviation "var-hr";
+  qudt:quantityKind smartapi:ReactiveElectricEnergy ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:VoltageDropCount a qudt:CountingUnit ;
+  qudt:quantityKind qudt-quantity:Dimensionless ;
+  rdfs:label "Voltage drop count"@en ;
+  rdfs:comment "The count of voltage drops."@en ;
+  qudt:description "The count of voltage drops."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltageSagCount a qudt:CountingUnit ;
+  qudt:quantityKind qudt-quantity:Dimensionless ;
+  rdfs:label "Voltage sag count"@en ;
+  rdfs:comment "Votlage sag count. Voltage sag, aka voltage dip, is a brief decrease in RMS voltage."@en ;
+  qudt:description "Votlage sag count. Voltage sag, aka voltage dip, is a brief decrease in RMS voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltageSwellCount a qudt:CountingUnit ;
+  qudt:quantityKind qudt-quantity:Dimensionless ;
+  rdfs:label "Voltage swell count"@en ;
+  rdfs:comment "Voltage swell count. Voltage swell is a brief increase in RMS voltage."@en ;
+  qudt:description "Voltage swell count. Voltage swell is a brief increase in RMS voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Week a qudt:TimeUnit ;
+  qudt:quantityKind qudt-quantity:Time ;
+  rdfs:label "Week"@en ;
+  rdfs:comment "One week of time."@en ;
+  qudt:description "One week of time."^^xsd:string ;
+  vs:term_status "testing" ;
+  qudt:conversionMultiplier 6.048000e+5 ;
+  qudt:conversionOffset 0.000000e+0 ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Month a qudt:TimeUnit ;
+  qudt:quantityKind qudt-quantity:Time ;
+  rdfs:label "Month"@en ;
+  rdfs:comment "one calendar month, could be 28, 29, 30, or 31 days."@en ;
+  qudt:description "one calendar month, could be 28, 29, 30, or 31 days."^^xsd:string ;
+  vs:term_status "testing" ;  
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+# quantities
+
+smartapi:Price a qudt:FinancialQuantityKind ;
+  rdfs:label "Price"@en ;
+  qudt:description "Price of something (commodity) such as electricity market. May have price components defined with smartapi:hasPart relation."^^xsd:string ;
+  rdfs:comment "Price of something (commodity) such as electricity market. May have price components defined with smartapi:hasPart relation."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:EnergyPrice a qudt:FinancialQuantityKind ;
+  qudt:generalization smartapi:Price ;
+  rdfs:label "Energy price"@en ;
+  qudt:description "The price for energy."^^xsd:string ;
+  rdfs:comment "The price for energy."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:DayAheadPrice a qudt:FinancialQuantityKind ;
+  qudt:generalization smartapi:EnergyPrice ;
+  rdfs:label "Day ahead price"@en ;
+  rdfs:comment "The price of energy block in a day-ahead market."@en ;
+  qudt:description "The price of energy block in a day-ahead market."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:IntradayPrice a qudt:FinancialQuantityKind ;
+  qudt:generalization smartapi:EnergyPrice ;
+  rdfs:label "Intra day price"@en ;
+  rdfs:comment "The price of energy block in a intraday market."@en ;
+  qudt:description "The price of energy block in a intraday market."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:BalancingEnergyPrice a qudt:FinancialQuantityKind ;
+  qudt:generalization smartapi:EnergyPrice ;
+  rdfs:label "Balancing energy price"@en ;
+  rdfs:comment "The price of energy block that is used to balance the grid stability/power balance."@en ;
+  qudt:description "The price of energy block that is used to balance the grid stability/power balance."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PriceComponent a qudt:FinancialQuantityKind ;
+  rdfs:label "Price component"@en ;
+  qudt:description "Partial price component (tax etc...) that can be included in price evaluation with smartapi:contains relation."^^xsd:string ;
+  rdfs:comment "Partial price component (tax etc...) that can be included in price evaluation with smartapi:contains relation."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:BasePrice a qudt:FinancialQuantityKind ;
+  rdfs:label "Base price"@en ;
+  qudt:description "Typically fixed base price that can be added components such as tax, incentive etc..."^^xsd:string ;
+  rdfs:comment "Typically fixed base price that can be added components such as tax, incentive etc..."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Incentive a qudt:FinancialQuantityKind ;
+  rdfs:label "Incentive"@en ;
+  qudt:description "An incentive is something that motivates an individual to perform an action. Here we concern mainly financial (price) incentives but the incentive could be also a commodity as return of activity."^^xsd:string ;
+  rdfs:comment "An incentive is something that motivates an individual to perform an action. Here we concern mainly financial (price) incentives but the incentive could be also a commodity as return of activity."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Tax a qudt:FinancialQuantityKind ;
+  rdfs:label "Tax"@en ;
+  qudt:description "Amount of tax in price evaluated either as percentage or absolute currency."^^xsd:string ;
+  rdfs:comment "Amount of tax in price evaluated either as percentage or absolute currency."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:TaxRatio a qudt:FinancialQuantityKind ;
+  rdfs:label "Tax ratio"@en ;
+  qudt:description "Ratio of tax from price."^^xsd:string ;
+  rdfs:comment "Ratio of tax from price."@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Margin a qudt:FinancialQuantityKind ;
+  rdfs:label "Margin"@en ;
+  qudt:description "Sales minus the cost of goods sold."^^xsd:string ;
+  rdfs:comment "Sales minus the cost of goods sold."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Markup a qudt:FinancialQuantityKind ;
+  rdfs:label "Markup"@en ;
+  qudt:description "The amount by which the cost of goods is increased in order to derive the selling price."^^xsd:string ;
+  rdfs:comment "The amount by which the cost of goods is increased in order to derive the selling price."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Commodity a qudt:FinancialQuantityKind ;
+  rdfs:label "Commodity"@en ;
+  qudt:description "A commodity is a substantially fungible marketable entity."^^xsd:string ;
+  rdfs:comment "A commodity is a substantially fungible marketable entity."@en ;
+  rdfs:subClassOf smartapi:Quantity;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ExposedToSunSurface a qudt:SpaceAndTimeQuantityKind ;
+  rdfs:label "Exposed to sun surface"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Area> ;
+  rdfs:comment "A description for surface area of building exposed to sun." ;
+  qudt:description "A description for surface area of building exposed to sun."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:NominalEnergyConsumption a qudt:ThermodynamicsQuantityKind ;
+  rdfs:label "Nominal energy consumption"@en ;
+  rdfs:label "Ominaisenergiankulutus"@fi ;
+  rdfs:comment "Energy consumption of a building per gross floor area."@en ;
+  qudt:description "Energy consumption of a building per gross floor area."^^xsd:string ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#PowerPerArea> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ThermalTransmittance a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#CoefficientOfHeatTransfer> ;
+  rdfs:label "Thermal transmittance"@en;
+  qudt:description "Also known as U-Value. The overall heat transfer coefficient U is a measure of the overall ability of a series of conductive and convective barriers to transfer heat."^^xsd:string ;
+  rdfs:comment "Also known as U-Value. The overall heat transfer coefficient U is a measure of the overall ability of a series of conductive and convective barriers to transfer heat."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:AirCirculation a qudt:FluidMechanicsQuantityKind ;
+  rdfs:label "Air circulation"@en ;
+  qudt:description "A description for fresh air circulation."^^xsd:string ;
+  rdfs:comment "A description for fresh air circulation."@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Circulation> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:WindDirection a qudt:SpaceAndTimeQuantityKind ;
+  rdfs:label "Wind direction"@en ;
+  rdfs:label "TuulenSuunta"@fi ;
+  qudt:description "The wind direction expressed as compass direction 0-360"^^xsd:string ;
+  rdfs:comment "The wind direction expressed as compass direction 0-360"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Angle> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:WindSpeed a qudt:SpaceAndTimeQuantityKind ;
+  rdfs:label "Wind speed"@en ;
+  rdfs:label "TuulenNopeus"@fi ;
+  qudt:description "The wind speed typically expressed as meters per second"^^xsd:string ;
+  rdfs:comment "The wind speed typically expressed as meters per second"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#LinearVelocity> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:CloudCoverIndex a smartapi:WeatherPhenomenonQuantityKind ;
+  rdfs:label "Cloud cover index"@en ;
+  rdfs:label "PilvisyysIndeksi"@fi ;
+  qudt:description "Quantity of cloudiness expressed as ratio (0-1) or percentage (0-100)"^^xsd:string ;
+  rdfs:comment "Quantity of cloudiness expressed as ratio (0-1) or percentage (0-100)"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:SolarIrradiance a qudt:RadiometryQuantityKind ;
+  rdfs:label "Solar irradiance"@en ;
+  rdfs:label "AuringonSäteilyteho"@fi ;
+  qudt:description "Solar Irradiance presented as power in watts per square meter"^^xsd:string ;
+  rdfs:comment "Solar Irradiance presented as power in watts per square meter"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Irradiance> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricEfficiency a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Electric efficiency" ;
+  qudt:description "A description for efficiency of storage, photovoltaic panel, windmill, electric vehicle, airconditioning, etc."^^xsd:string ;
+  rdfs:comment "A description for efficiency of storage, photovoltaic panel, windmill, electric vehicle, airconditioning, etc." ;
+  vs:term_status "testing" ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Precipitation a qudt:SpaceAndTimeQuantityKind ;
+  rdfs:label "Precipitation" ;
+  vs:term_status "testing" ;
+  rdfs:comment "The falled amount of water in any form."@en ;
+  qudt:description "The falled amount of water in any form."^^xsd:string ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Volume> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:BuildingVolume a qudt:SpaceAndTimeQuantityKind ;
+  rdfs:label "Building volume"@en ;
+  qudt:description "A description for volume of building etc."^^xsd:string ;
+  rdfs:comment "A description for volume of building etc." ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Volume> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Cloudiness a smartapi:WeatherPhenomenonQuantityKind ;
+  rdfs:label "Cloudiness"@en ;
+  rdfs:label "Pilvisyys"@fi ;
+  qudt:description "The class of cloudiness weather phenomena"^^xsd:string ;
+  rdfs:comment "The class of cloudiness weather phenomena"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:SolarAccess a smartapi:WeatherPhenomenonQuantityKind ;
+  rdfs:label "Solar access"@en ;
+  rdfs:label "Aurinkoisuus"@fi ;
+  qudt:description "The class of solar access weather phenomena"^^xsd:string ;
+  rdfs:comment "The class of solar access weather phenomena"@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:CO2Emission a smartapi:EmissionQuantityKind ;
+  rdfs:label "CO2 emission" ;
+  vs:term_status "testing" ;
+  rdfs:comment "The weight of carbon dioxide emission."@en ;
+  qudt:description "The weight of carbon dioxide emission."^^xsd:string ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Mass> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:FeedInTariff a qudt:FinancialQuantityKind ;
+  rdfs:label "FeedIn tariff" ;
+  vs:term_status "testing" ;
+  rdfs:comment "The feed in tariff price for energy."@en ;
+  qudt:description "The price for injecting the generated renewable energy into the grid."^^xsd:string ;
+  qudt:generalization smartapi:EnergyPrice ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:CapacityFactor a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Capacity factor"@en ;
+  qudt:description "The ratio between generated energy and potential energy production."^^xsd:string ;
+  rdfs:comment "The ratio between generated energy and potential energy production."@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ActivePower a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Active power"@en ;
+  qudt:description "The real power."^^xsd:string ;
+  rdfs:comment "Active power of electric power. Also know as real power."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ReactivePower a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Reactive power"@en ;
+  qudt:description "The reactive power."^^xsd:string ;
+  rdfs:comment "The reactive power."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ComplexPower a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Complex power"@en ;
+  qudt:description "The complex power."^^xsd:string ;
+  rdfs:comment "The complex power."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ApparentPower a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Apparent power"@en ;
+  qudt:description "The apparent power is the modulus of complex power."^^xsd:string ;
+  rdfs:comment "The apparent power is the modulus of complex power."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PowerFactor a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Power factor"@en ;
+  qudt:description "The ratio between real power and reactive power."^^xsd:string ;
+  rdfs:comment "The ratio between real power and reactive power."@en ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#DimensionlessRatio> ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PhaseDifference a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Angle> ;
+  rdfs:label "Phase difference"@en ;
+  qudt:description "The phase difference."^^xsd:string ;
+  rdfs:comment "The phase difference."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Susceptance a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Susceptance"@en ;
+  qudt:description "The susceptance."^^xsd:string ;
+  rdfs:comment "The susceptance."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#ElectricConductivity> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Conductance a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Conductance"@en ;
+  qudt:description "The conductance."^^xsd:string ;
+  rdfs:comment "The conductance."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#ElectricConductivity> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:ElectricVoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Electric voltage"@en ;
+  rdfs:label "Jännite"@fi ;
+  qudt:description "Electric potential difference."^^xsd:string ;
+  rdfs:comment "Electric potential difference." ;
+  vs:term_status "testing" ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#EnergyPerElectricCharge> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:CrestFactor a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Crest factor"@en ;
+  qudt:description "Ratio: absolute value of the peak value divided by the root mean square value."^^xsd:string ;
+  rdfs:comment "Ratio: absolute value of the peak value divided by the root mean square value."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Admittance a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricConductivity ;
+  rdfs:label "Admittance"@en ;
+  qudt:description "Admittance"^^xsd:string ;
+  rdfs:comment "Admittance measures the ease of current flowing throug an electrical component."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricResistivity a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Electric resistivity"@en ;
+  rdfs:comment "Electric resistivity measures how a material opposes electrical current."@en ;
+  qudt:description "Electric resistivity measures how a material opposes electrical current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricConductivity a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Electric conductivity"@en ;
+  rdfs:comment "Conductivity measures how a material conducts electrical current."@en ;
+  qudt:description "Conductivity measures how a material conducts electrical current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Phase a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Angle> ;
+  rdfs:label "Phase"@en ;
+  qudt:description "The phase related to waves."^^xsd:string ;
+  rdfs:comment "The phase related to waves."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:PhaseAngle a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Angle> ;
+  rdfs:label "Phase angle"@en ;
+  qudt:description "The phase angle related to waves."^^xsd:string ;
+  rdfs:comment "The phase angle related to waves."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:PhaseShift a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/quantity#Angle> ;
+  rdfs:label "Phase shift"@en ;
+  qudt:description "The phase shift related to waves."^^xsd:string ;
+  rdfs:comment "The phase shift related to waves."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:Loss a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Loss"@en ;
+  qudt:description "Losses in percentage."^^xsd:string ;
+  rdfs:comment "Losses in percentage."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization <http://data.nasa.gov/qudt/owl/unit#Percent> ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Efficiency a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Efficiency"@en ;
+  qudt:description "A description for efficiency of storage, photovoltaic panel, windmill, electric vehicle, airconditioning, etc."^^xsd:string ;
+  rdfs:comment "A description for efficiency of storage, photovoltaic panel, windmill, electric vehicle, airconditioning, etc."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:CoefficientOfPerformance a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Coefficient of performance"@en ;
+  qudt:description "Coefficient of performance, COP."^^xsd:string ;
+  rdfs:comment "Coefficient of performance."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:HeatingCoefficientOfPerformance a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Heating coefficient of performance"@en ;
+  qudt:description "Coefficient of performance for heating."^^xsd:string ;
+  rdfs:comment "Coefficient of performance for heating."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization smartapi:CoefficientOfPerformance ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:CoolingCoefficientOfPerformance a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Cooling coefficient of performance"@en ;
+  qudt:description "Coefficient of performance for cooling."^^xsd:string ;
+  rdfs:comment "Coefficient of performance for cooling."@en ;
+  vs:term_status "testing" ;
+  qudt:generalization smartapi:CoefficientOfPerformance ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PeakElectricVoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyPerElectricCharge ;
+  rdfs:label "Peak electric voltage"@en ;
+  rdfs:comment "The peak of electric voltage."@en ;
+  qudt:description "The peak of electric voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:RootMeanSquareDirectCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Root-mean-square direct current"@en ;
+  rdfs:comment "The Root Mean Square (RMS) of direct electric current."@en ;
+  qudt:description "The Root Mean Square (RMS) of direct electric current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:RootMeanSquareAlternatingCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Root-mean-square alternating current"@en ;
+  rdfs:comment "The Root Mean Square (RMS) of alternating electric current."@en ;
+  qudt:description "The Root Mean Square (RMS) of alternating electric current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:RootMeanSquareElectricVoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyPerElectricCharge ;
+  rdfs:label "Root-mean-square electric voltage"@en ;
+  rdfs:comment "The Root Mean Square (RMS) of electric voltage."@en ;
+  qudt:description "The Root Mean Square (RMS) of electric voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PhaseVoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyPerElectricCharge ;
+  rdfs:label "Phase voltage"@en ;
+  rdfs:comment "The phase voltage is the voltage between Neutral and a phase."@en ;
+  qudt:description "The phase voltage is the voltage between Neutral and a phase."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:LineVoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyPerElectricCharge ;
+  rdfs:label "Line voltage"@en ;
+  rdfs:comment "The line voltage is the voltage between two phases."@en ;
+  qudt:description "The line voltage is the voltage between two phases."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PeakAmplitudeAlternatingCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Peak amplitude alternating current"@en ;
+  rdfs:comment "The peak amplitude of alternating current."@en ;
+  qudt:description "The peak amplitude of alternating current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PeakToPeakAmplitudeAlternatingCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Peak-to-peak amplitude alternating current"@en ;
+  rdfs:comment "The peak to peak amplitude of alternating current."@en ;
+  qudt:description "The peak to peak amplitude of alternating current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:RootMeanSquareElectricCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Root-mean-square electric current"@en ;
+  rdfs:comment "The Roor Mean Square (RMS) of electric current."@en ;
+  qudt:description "The Roor Mean Square (RMS) of electric current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:NominalElectricPower a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:Power ;
+  rdfs:label "Nominal electric power"@en ;
+  rdfs:comment "The nominal electric power."@en ;
+  qudt:description "The nominal electric power."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:EnergyFlux a qudt:MechanicsQuantityKind ;
+  qudt:generalization qudt-quantity:PowerPerArea ;
+  rdfs:label "Energy flux"@en ;
+  rdfs:comment "Energy transfer rate through an area."@en ;
+  qudt:description "Energy transfer rate through an area."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricAlternatingCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Electric alternating current"@en ;
+  rdfs:comment "Alternating electric current."@en ;
+  qudt:description "Alternating electric current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricDirectCurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Electric direct current"@en ;
+  rdfs:comment "Direct electric current."@en ;
+  qudt:description "Direct electric current."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:WavePeriod a qudt:SpaceAndTimeQuantityKind ;
+  qudt:generalization qudt-quantity:Time ;
+  rdfs:label "Wave period"@en ;
+  rdfs:comment "The time of a wave cycle. Also the inverse of frequency."@en ;
+  qudt:description "The time of a wave cycle. Also the inverse of frequency."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricPowerLoss a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricPower ;
+  rdfs:label "Electric power loss"@en ;
+  rdfs:comment "Electric Power loss."@en ;
+  qudt:description "Electric Power loss."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PowerLoss a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:Power ;
+  rdfs:label "Power loss"@en ;
+  rdfs:comment "Power loss."@en ;
+  qudt:description "Power loss."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:EnergyLoss a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Energy loss"@en ;
+  rdfs:comment "Energy loss."@en ;
+  qudt:description "Energy loss."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltageDrop a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricVoltage ;
+  rdfs:label "Voltage drop"@en ;
+  rdfs:comment "Votlage drop."@en ;
+  qudt:description "Votlage drop."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltageSag a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricVoltage ;
+  rdfs:label "Voltage sag"@en ;
+  rdfs:comment "Votlage sag aka voltage dip. A brief decrease in RMS voltage."@en ;
+  qudt:description "Votlage sag aka voltage dip. A brief decrease in RMS voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:VoltageSwell a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricVoltage ;
+  rdfs:label "Voltage swell"@en ;
+  rdfs:comment "Votlage swell. A brief increase in RMS voltage."@en ;
+  qudt:description "Votlage swell. A brief increase in RMS voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricEnergyDemand a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Electric energy demand"@en ;
+  rdfs:comment "The energy demand/consumption of electricity."@en ;
+  qudt:description "The energy demand/consumption of electricity."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ConsumedElectricEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Consumed electric energy"@en ;
+  rdfs:comment "The consumed electrical energy."@en ;
+  qudt:description "The consumed electrical energy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Electric energy"@en ;
+  rdfs:comment "Electrical energy"@en ;
+  qudt:description "Electrical energy"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ReactiveEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Reactive energy"@en ;
+  rdfs:comment "The reactive electric energy"@en ;
+  qudt:description "The reactive electric energy"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ActiveEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Active energy"@en ;
+  rdfs:comment "The active electric energy"@en ;
+  qudt:description "The active electric energy"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricPowerDemand a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricPower ;
+  rdfs:label "Electric power demand"@en ;
+  rdfs:comment "The power demand of electricity."@en ;
+  qudt:description "The power demand of electricity."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ReturnOfInvestment a qudt:FinancialQuantityKind ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:label "Return of investment"@en ;
+  rdfs:comment "The return of investment (ROI)."@en ;
+  qudt:description "The return of investment (ROI)."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Temperature a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization qudt-quantity:ThermodynamicTemperature ;
+  rdfs:label "Temperature"@en ;
+  rdfs:comment "Temperature"@en ;
+  qudt:description "Temperature"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:AirTemperature a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization qudt-quantity:ThermodynamicTemperature ;
+  rdfs:label "Air temperature"@en ;
+  rdfs:comment "Air Temperature"@en ;
+  qudt:description "Air Temperature"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:EntityOntology .
+
+smartapi:ThermodynamicEntropyChange a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization qudt-quantity:ThermodynamicEntropy ;
+  rdfs:label "Thermo dynamic entropy change"@en ;
+  rdfs:comment "The change in entropy."@en ;
+  qudt:description "The change in entropy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ThermodynamicTemperatureChange a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization qudt-quantity:ThermodynamicTemperature ;
+  rdfs:label "Thermo dynamic temperature change"@en ;
+  rdfs:comment "The change of thermodynamic temperature."@en ;
+  qudt:description "The change of thermodynamic temperature."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ThermodynamicTemperatureCoefficient a qudt:ThermodynamicsQuantityKind ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:label "Thermo dynamic temperature coefficient"@en ;
+  rdfs:comment "Thermodynamic temperature coefficient."@en ;
+  qudt:description "Thermodynamic temperature coefficient."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ElectricVoltageLimit a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricVoltage ;
+  rdfs:label "Electric voltage limit"@en ;
+  rdfs:comment "The designed upper limit of voltage."@en ;
+  qudt:description "The designed upper limit of voltage."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Overvoltage a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricVoltage ;
+  rdfs:label "Over voltage"@en ;
+  rdfs:comment "Higher value of voltage than designed upper limit."@en ;
+  qudt:description "Higher value of voltage than designed upper limit."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Overcurrent a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:ElectricCurrent ;
+  rdfs:label "Over current"@en ;
+  rdfs:comment "Higher value of current than intended."@en ;
+  qudt:description "Higher value of current than intended."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ReverseActiveElectricEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Reverse active electric energy"@en ;
+  qudt:description "Reverse (exported) active electrical energy by a consumption block."^^xsd:string ;
+  rdfs:comment "Reverse (exported) active electrical energy by a consumption block."@en ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ForwardActiveElectricEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  rdfs:label "Forward active electric energy"@en ;
+  qudt:description "Forward (imported) active electrical energy by a consumption block."^^xsd:string ;
+  rdfs:comment "Forward (imported) active electrical energy by a consumption block."@en ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ExportReactivePower a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ReactivePower ;
+  rdfs:label "Export reactive power"@en ;
+  rdfs:comment "The exported reactive power."@en ;
+  qudt:description "The exported reactive power."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ImportReactivePower a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ReactivePower ;
+  rdfs:label "Import reactive power"@en ;
+  rdfs:comment "The imported reactive power."@en ;
+  qudt:description "The imported reactive power."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:PowerOutageTime a qudt:SpaceAndTimeQuantityKind ;
+  qudt:generalization qudt-quantity:Time ;
+  rdfs:label "Power outage time"@en ;
+  rdfs:comment "The time that power outage lasted."@en ;
+  qudt:description "The time that power outage lasted."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:TransformerTurnsRatio a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:DimensionlessRatio ;
+  rdfs:label "Transformer turns ratio"@en ;
+  rdfs:comment "The ratio is the number of primary turns divided by the number of secondary turns in windings."@en ;
+  qudt:description "The ratio of the transformer's primary and secondary windings with respect to each other"^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:TimeDelay a qudt:SpaceAndTimeQuantityKind ;
+  qudt:generalization qudt-quantity:Time ;
+  rdfs:label "Time delay"@en ;
+  rdfs:comment "A delay in time."@en ;
+  qudt:description "A delay in time."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:InductiveElectricalEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricEnergy ;
+  rdfs:label "Inductive electrical energy"@en ;
+  rdfs:comment "Inductive electrical energy."@en ;
+  qudt:description "Inductive electrical energy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:CapacitiveElectricalEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricEnergy ;
+  rdfs:label "Capacitive electrical energy"@en ;
+  rdfs:comment "Capacitive electrical energy."@en ;
+  qudt:description "Capacitive electrical energy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:InductiveElectricalEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization smartapi:ElectricEnergy ;
+  rdfs:label "Inductive electrical energy"@en ;
+  rdfs:comment "Inductive electrical energy."@en ;
+  qudt:description "Inductive electrical energy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:ReactiveElectricEnergy a qudt:ElectricityAndMagnetismQuantityKind ;
+  qudt:generalization qudt-quantity:EnergyAndWork ;
+  rdfs:label "Reactive electric energy"@en ;
+  rdfs:comment "Reactive electric energy."@en ;
+  qudt:description "Reactive electric energy."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+
+smartapi:Count a qudt:QuantityKind ; 
+  qudt:generalization qudt-quantity:Dimensionless ;
+  rdfs:label "Count"@en ;
+  rdfs:comment "General count."@en ;
+  qudt:description "General count."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:Brightness a qudt:QuantityKind ; 
+  qudt:generalization qudt-quantity:Dimensionless ;
+  rdfs:label "Brightness"@en ;
+  rdfs:comment "Light brightness."@en ;
+  qudt:description "Light brightness."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology .
+  
+smartapi:State a qudt:QuantityKind ;
+  qudt:generalization qudt-quantity:Dimensionless ;
+  rdfs:label "State"@en ;
+  rdfs:label "Tila"@fi ;
+  rdfs:comment "State of something. Can be e.g. on or off."@en ;
+  qudt:description "State of something. Can be e.g. on or off."^^xsd:string ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:BooleanState a qudt:QuantityKind ;
+  qudt:generalization smartapi:State ;
+  rdfs:label "Boolean state"@en ;
+  rdfs:comment "Can be true of false, is used to model commands like on/off."@en ;
+  qudt:description "Can be true of false, is used to model commands like on/off."^^xsd:string ;
+  rdfs:subClassOf smartapi:State;
+  rdfs:seeAlso saref:OnOffState,saref:OpenCloseState;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:PowerOnState a qudt:QuantityKind ;
+  qudt:generalization smartapi:BooleanState ;
+  rdfs:label "Power on state"@en ;
+  rdfs:comment "State of being power on"@en ;
+  qudt:description "State of being power on"^^xsd:string ;
+  rdfs:subClassOf smartapi:BooleanState;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:HeatingState a qudt:QuantityKind ;
+  qudt:generalization smartapi:State ;
+  rdfs:label "Heating state"@en ;
+  rdfs:comment "State of heating"@en ;
+  qudt:description "State of heating"^^xsd:string ;
+  rdfs:subClassOf smartapi:BooleanState;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:CoolingState a qudt:QuantityKind ;
+  qudt:generalization smartapi:State ;
+  rdfs:label "Cooling state"@en ;
+  rdfs:comment "State of cooling"@en ;
+  qudt:description "State of cooling"^^xsd:string ;
+  rdfs:subClassOf smartapi:BooleanState;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:EnumerationState a qudt:QuantityKind ;
+  qudt:generalization smartapi:State ;
+  rdfs:label "Enumeration state"@en ;
+  rdfs:comment "Can be 'home', 'away', 'away long' or 'party'."@en ;
+  qudt:description "Can be 'home', 'away', 'away long' or 'party'."^^xsd:string ;
+  rdfs:subClassOf smartapi:State ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+
+smartapi:HomeAwayState a qudt:QuantityKind ;
+  qudt:generalization smartapi:State ;
+  rdfs:label "Home away state"@en ;
+  rdfs:comment "State of residence."@en ;
+  qudt:description "State of residence."^^xsd:string ;
+  rdfs:subClassOf smartapi:EnumerationState;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:QuantityUnitOntology.
+    
+# Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix gr: <http://purl.org/goodrelations/v1#> .
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#smartapi classes related to network security
+smartapi:SecurityOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-SecurityOntology ontology"@en ;
+  dc:description "The Smart API security Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:creator <http://www.vtt.fi/JarmoKalaoja> ;
+  dc:creator <http://www.maxime-lefrancois.info/me#> ;
+  dc:contributor <http://zimmer.aprilfoolsreview.com/antoine#me> ;
+  dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/SecurityOntology> ;
+  owl:versionInfo "v1.0" .
+
+# security
+
+smartapi:signature a owl:DatatypeProperty ;
+  rdfs:label "Signature"@en ;
+  rdfs:comment "Digital signature, a mathematical scheme for demonstrating the authenticity of a digital message or documents."@en ;
+  rdfs:range xsd:string ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+  
+smartapi:signer a owl:ObjectProperty ;
+  rdfs:label "Signer" ;
+  rdfs:comment "The creator of the digital signature." ;
+  rdfs:range smartapi:Object ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:hashCode a owl:DatatypeProperty ;
+  rdfs:label "Hash code"@en ;
+  rdfs:comment "Calculated hash value."@en ;
+  rdfs:range xsd:string ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:isEncrypted a owl:DatatypeProperty ;
+  rdfs:label "Is encrypted"@en ;
+  rdfs:comment "Indicates that the related content is encrypted."@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:encryptionKey a owl:DatatypeProperty ;
+  rdfs:label "Encryption key"@en ;
+  rdfs:comment "A key used for encrypting content."@en ;
+  rdfs:range xsd:string ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:sessionKey a owl:DatatypeProperty ;
+  rdfs:label "Session key"@en ;
+  rdfs:comment "Single-use symmetric key used for encrypting content."@en ;
+  rdfs:range xsd:string ;
+  rdfs:subPropertyOf smartapi:encryptionKey ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:publicKey a owl:DatatypeProperty ;
+  rdfs:label "Public key"@en ;
+  rdfs:comment "A key for encrypting content that can be later decrypted with the corresponding private key."@en ;
+  rdfs:range xsd:string ;
+  rdfs:subPropertyOf smartapi:encryptionKey ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:privateKey a owl:DatatypeProperty ;
+  rdfs:label "Private key"@en ;
+  rdfs:comment "A key for decrypting content that has been encrypted with the corresponding public key."@en ;
+  rdfs:range xsd:string ;
+  rdfs:subPropertyOf smartapi:encryptionKey ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:encryptionKeyType a owl:ObjectProperty ;
+  rdfs:label "Encryption key type"@en ;
+  rdfs:comment "Type of encryption key used."@en ;
+  rdfs:range smartapi:EncryptionKey ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:Reference a owl:Class ;
+  rdfs:label "Reference"@en ;
+  rdfs:comment "Resource describing a reference to the actual location of a resource."@en ;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+
+smartapi:EncryptedReference a owl:Class ;
+  rdfs:label "Encrypted reference"@en ;
+  rdfs:comment "Resource describing a reference to an encrypted resource."@en ;
+  rdfs:subClassOf smartapi:Reference;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+
+smartapi:MultipartReference a owl:Class ;
+  rdfs:label "Multipart reference"@en ;
+  rdfs:comment "Resource describing a reference to a resource stored in one of the parts of a multipart message."@en ;
+  rdfs:subClassOf smartapi:Reference;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+
+smartapi:notary a owl:ObjectProperty ;
+  rdfs:label "Notary" ;
+  rdfs:comment "Trusted party used for securing the communication." ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:ledger a owl:ObjectProperty ;
+  rdfs:label "Ledger" ;
+  rdfs:comment "The principal system that stores transactions." ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:publicKeyServer a owl:ObjectProperty ;
+  rdfs:label "Public key server" ;
+  rdfs:comment "Third party server used for storing public keys." ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:Authorization a owl:Class ;
+  rdfs:label "Authorization"@en ;
+  rdfs:comment "Resource describing an authorization object."@en ;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  rdfs:subClassOf smartapi:Object;
+  vs:term_status "testing".
+
+smartapi:authorization a owl:ObjectProperty ;
+  rdfs:label "Authorization"@en ;
+  rdfs:comment "Authorization required for the subject."@en ;
+  rdfs:range smartapi:Authorization ;
+  rdfs:isDefinedBy smartapi:SecurityOntology .
+
+smartapi:Cookie a owl:Class ;
+  rdfs:label "Cookie"@en ;
+  rdfs:comment "A security cookie."@en ;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+
+smartapi:OAuth2 a owl:Class ;
+  rdfs:label "OAuth2"@en ;
+  rdfs:comment "Authentication via OAuth2 standard."@en ;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+  
+smartapi:HttpStandard a owl:Class ;
+  rdfs:label "HTTP Standard"@en ;
+  rdfs:comment "Authentication via HTTP Standard authentication."@en ;
+  rdfs:isDefinedBy smartapi:SecurityOntology ;
+  vs:term_status "testing".
+  # Copyright 2016 ITEA 12004 SEAS Project.
+# Copyright 2016-2019 Asema Electronics Ltd.
+# 
+# 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: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .  #Resource data framework
+@prefix owl: <http://www.w3.org/2002/07/owl#> .               #Owl ontology language
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .       #RDF schema
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .            #XML standard datatypes
+@prefix dc: <http://purl.org/dc/terms/> .                     #Dublin Core Metadata Initiative terms
+@prefix vann: <http://purl.org/vocab/vann/> .                 #A vocabulary for annotating vocabulary descriptions
+@prefix voaf: <http://purl.org/vocommons/voaf#> .             #A vocabulary of a friend, for describing relations between linked vocabularies
+@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+@prefix gr: <http://purl.org/goodrelations/v1#> .
+@prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#> .         #QUDT
+
+@prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
+@base <http://smart-api.io/ontology/1.0/>.
+
+
+#smartapi classes related to trading and pricing
+smartapi:TrandingOntology a owl:Ontology , voaf:Ontology ;
+  dc:title "SmartAPI-TradingOntology ontology"@en ;
+  dc:description "The Smart API trading Ontology."@en ;
+  dc:issued "2016-01-26"^^xsd:date ;
+  dc:modified "2016-10-06"^^xsd:date ;
+  dc:contributor [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
+  dc:contributor [a foaf:Person ; foaf:name "Jani Hursti" ] ;
+  vann:preferredNamespacePrefix "smartapi" ;
+  vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
+  owl:versionIRI <http://smart-api.io/ontology/1.0/TradingOntology> ;
+  owl:versionInfo "v1.0" .
+
+
+# boolean flags
+
+smartapi:isCurrentlyFrozen a owl:ObjectProperty ;
+  rdfs:label "Is currently frozen"@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:comment "A property that defines if the resource is currently frozen."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+    
+smartapi:isCurrentlyInCollection a owl:ObjectProperty ;
+  rdfs:label "Is currently in collection"@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:comment "A property that defines if the resource is currently in collection."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:exceedingBalanceAllowed a owl:ObjectProperty ;
+  rdfs:label "Exceeding balance allowed"@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:comment "A property that defines if the balance of the resource is allowed to be exceeded."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:exceedingCreditAllowed a owl:ObjectProperty ;
+  rdfs:label "Exceeding credit allowed"@en ;
+  rdfs:range xsd:boolean ;
+  rdfs:comment "A property that defines if the credit of the resource is allowed to be exceeded."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# price related
+
+smartapi:Free a owl:Class ;
+  rdfs:label "Free"@en ;
+  rdfs:comment "Resource describing a free price."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing".
+
+smartapi:PriceTypeDiscount a owl:Class ;
+  rdfs:label "Discount"@en ;
+  rdfs:comment "Resource describing a price that sets a discount to some other price."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing".
+  
+smartapi:PriceTypeMarkup a owl:Class ;
+  rdfs:label "Markup"@en ;
+  rdfs:comment "Resource describing a price that sets a markup to some other price."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing".
+  
+smartapi:PriceTypeMargin a owl:Class ;
+  rdfs:label "Margin"@en ;
+  rdfs:comment "Resource describing a price that sets a margin to some other price."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing".
+  
+
+# balance
+
+smartapi:initialBalance a owl:DatatypeProperty ;
+  rdfs:label "Initial balance"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Initial balance of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+    
+smartapi:currentBalance a owl:DatatypeProperty ;
+  rdfs:label "Current balance"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Current balance of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+    
+smartapi:minimumBalance a owl:DatatypeProperty ;
+  rdfs:label "Minimum balance"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Minimum balance of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:maximumBalance a owl:DatatypeProperty ;
+  rdfs:label "Maximum balance"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Maximum balance of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# credit and payment limits
+
+smartapi:creditLimit a owl:DatatypeProperty ;
+  rdfs:label "Credit limit"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Credit limit of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+    
+smartapi:prePaymentLimit a owl:DatatypeProperty ;
+  rdfs:label "Prepayment limit"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Prepayment limit of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# discounts and markups
+
+smartapi:fixedDiscount a owl:DatatypeProperty ;
+  rdfs:label "Fixed discount"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Fixed discount of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:percentageDiscount a owl:DatatypeProperty ;
+  rdfs:label "Percentage discount"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Percentage discount of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:fixedMargin a owl:DatatypeProperty ;
+  rdfs:label "Fixed margin"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Fixed margin of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:percentageMargin a owl:DatatypeProperty ;
+  rdfs:label "Percentage margin"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Percentage margin of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+  
+smartapi:fixedMarkup a owl:DatatypeProperty ;
+  rdfs:label "Fixed markup"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Fixed markup of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:percentageMarkup a owl:DatatypeProperty ;
+  rdfs:label "Percentage markup"@en ;
+  rdfs:range xsd:double ;
+  rdfs:comment "Percentage markup of the resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# vat
+
+smartapi:vatPercentage a owl:DatatypeProperty ;
+  rdfs:label "VAT percentage"@en ;
+  rdfs:comment "Number between 0 and 100 indicating the VAT rate."@en ;
+  rdfs:range rdf:XMLLiteral ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# generic trading terms
+
+smartapi:terms a owl:DatatypeProperty ;
+  rdfs:label "Terms"@en ;
+  rdfs:comment "Generic terms of a trading relationship."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+  
+  
+# payment term
+
+smartapi:paymentTerm a owl:DatatypeProperty ;
+  rdfs:label "Payment term"@en ;
+  rdfs:range xsd:int ;
+  rdfs:comment "Time to pay in days."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+# currency
+
+smartapi:currency a owl:ObjectProperty ;
+  rdfs:label "Currency"@en ;
+  rdfs:comment "Currency used for the values of this recource."@en ;
+  rdfs:range qudt:CurrencyUnit ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+# references
+
+smartapi:reference a owl:DatatypeProperty ;
+  rdfs:label "Reference"@en ;
+  rdfs:range xsd:string ;
+  rdfs:comment "Reference identifier of this resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:poReference a owl:DatatypeProperty ;
+  rdfs:label "Po reference"@en ;
+  rdfs:range xsd:string ;
+  rdfs:comment "Purchace order reference identifier."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:summedBy a owl:ObjectProperty ;
+  rdfs:label "Summed by"@en ;
+  rdfs:comment "Reference to the resource that sums up this resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:referenceObject a owl:ObjectProperty ;
+  rdfs:label "Reference object"@en ;
+  rdfs:comment "Reference to another resource."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+# Contracts and transactions
+
+# transaction, contract and account
+
+smartapi:Transaction a owl:Class ;
+  rdfs:label "Transaction"@en ;
+  rdfs:comment "The exchange of something such as goods and services etc. "@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Object ;
+  rdfs:isDefinedBy smartapi:TradingOntology.
+  
+smartapi:transaction a owl:ObjectProperty;
+  rdfs:range smartapi:Transaction ;
+  rdfs:label "Transaction"@en ;
+  rdfs:comment "The Property that links this resource to a Transaction."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:notarizedObject a owl:ObjectProperty;
+  rdfs:label "Notarized object"@en ;
+  rdfs:comment "The Property that links a resource that represents a notarized object to a Transaction."@en ;
+  rdfs:range smartapi:Object ;
+  rdfs:domain smartapi:Transaction ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:AccountTransaction a owl:Class ;
+  rdfs:label "Account transaction"@en ;
+  rdfs:comment "A transaction that relates to an account."@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Object ;
+  rdfs:isDefinedBy smartapi:TradingOntology.   
+  
+smartapi:accountTransaction a owl:ObjectProperty;
+  rdfs:range smartapi:AccountTransaction ;
+  rdfs:label "Account transaction"@en ;
+  rdfs:comment "The property that links this resource to an account transaction."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:AccountAction a owl:Class ;
+  rdfs:label "Account action"@en ;
+  rdfs:comment "An action that relates to an account."@en ;
+  vs:term_status "testing" ;
+  rdfs:isDefinedBy smartapi:TradingOntology.
+  
+smartapi:accountAction a owl:ObjectProperty;
+  rdfs:range smartapi:AccountAction ;
+  rdfs:label "Account action"@en ;
+  rdfs:comment "The property that links this resource to an account action."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:Contract a owl:Class ;
+  rdfs:label "Contract"@en ;
+  rdfs:comment "An agreement for the exchange of something such as goods and services etc. between parties."@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Object ;
+  rdfs:isDefinedBy smartapi:TradingOntology.
+  
+smartapi:contract a owl:ObjectProperty;
+  rdfs:range smartapi:Contract ;
+  rdfs:label "Contract"@en ;
+  rdfs:comment "The property that links this resource to a Contract."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:Account a owl:Class ;
+  rdfs:label "Account"@en ;
+  rdfs:comment "A record of financial expenditure and receipts relating to a transactions between two systems."@en ;
+  vs:term_status "testing" ;
+  rdfs:subClassOf smartapi:Object ;
+  rdfs:isDefinedBy smartapi:TradingOntology.
+  
+smartapi:account a owl:ObjectProperty;
+  rdfs:range smartapi:Account ;
+  rdfs:label "Account"@en ;
+  rdfs:comment "The property that links this resource to an Account."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# license
+
+smartapi:License a owl:Class ;
+  rdfs:label "License"@en ;
+  rdfs:comment "The authorization to use licensed material."@en ;
+  rdfs:subClassOf smartapi:Contract ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+  
+smartapi:license a owl:ObjectProperty;
+  rdfs:range smartapi:License ;
+  rdfs:label "License"@en ;
+  rdfs:comment "The Property that links this resource to a License."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+smartapi:licenseKey a owl:DatatypeProperty ;
+  rdfs:label "License key"@en ;
+  rdfs:comment "A data string that verifies authorized software product access."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  vs:term_status "testing" .
+
+
+# offering and subscription price specification
+
+smartapi:offers a owl:ObjectProperty;
+  rdfs:label "Offers"@en ;
+  rdfs:label "Tarjottuna"@fi ;
+  rdfs:comment "Subject is included in the object Offering, i.e., the object Offering includes the subject as item to be sold or bought."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:range gr:Offering ;
+  vs:term_status "testing" .
+
+smartapi:SubscriptionPriceSpecification a owl:Class ;
+  rdfs:label "Subscription price specification"@en ;
+  rdfs:label "Tilaushinta"@fi ;
+  rdfs:comment "Specifies a time based price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:PriceListSpecification a owl:Class ;
+  rdfs:label "Price List specification"@en ;
+  rdfs:label "Hintalista"@fi ;
+  rdfs:comment "Specifies a list of price specifications that define the final price as their sum."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:TimeDependentPriceSpecification a owl:Class ;
+  rdfs:label "Time dependent price specification"@en ;
+  rdfs:label "Ajankohta riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a date and time dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:TimeDependentPriceListSpecification a owl:Class ;
+  rdfs:label "Time dependent price list specification"@en ;
+  rdfs:label "Ajankohta riippuvainen hintalista"@fi ;
+  rdfs:comment "Specifies a date and time dependent price list for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceListSpecification ;
+  vs:term_status "testing" .
+
+smartapi:PropertyDependentPriceSpecification a owl:Class ;
+  rdfs:label "Property dependent price specification"@en ;
+  rdfs:label "Ulkopuolisesta arvosta riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a property dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ObjectOperationDependentPriceSpecification a owl:Class ;
+  rdfs:label "Object operation dependent price specification"@en ;
+  rdfs:label "Objektiin kohdistuvasta tapahtumasta riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies an object operation dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:DurationDependentPriceSpecification a owl:Class ;
+  rdfs:label "Duration dependent price specification"@en ;
+  rdfs:label "Kestosta (aika) riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a duration dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:DistanceDependentPriceSpecification a owl:Class ;
+  rdfs:label "Distance dependent price specification"@en ;
+  rdfs:label "Etäisyydestä riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a distance dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:StepPriceSpecification a owl:Class ;
+  rdfs:label "Step price specification"@en ;
+  rdfs:label "Porrastettu hinta"@fi ;
+  rdfs:comment "Specifies a stepped price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:LinearPriceSpecification a owl:Class ;
+  rdfs:label "Linear price specification"@en ;
+  rdfs:label "Lineaarinen hinta"@fi ;
+  rdfs:comment "Specifies a linear price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ZoneDependentPriceSpecification a owl:Class ;
+  rdfs:label "Zone dependent price specification"@en ;
+  rdfs:label "Vyöhykepohjainen hinta"@fi ;
+  rdfs:comment "Specifies a zone dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ZonePopulationDependentPriceSpecification a owl:Class ;
+  rdfs:label "Zone population price specification"@en ;
+  rdfs:label "Vyöhykkeen käytön mukainen hinta"@fi ;
+  rdfs:comment "Specifies a price that depends on the use of a zone by a population."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+  
+smartapi:TravelDistanceDependentPriceSpecification a owl:Class ;
+  rdfs:label "Travel distance dependent price specification"@en ;
+  rdfs:label "Matkan pituudesta riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a travel distance dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ZoneTravelDependentPriceSpecification a owl:Class ;
+  rdfs:label "Zone travel dependent price specification"@en ;
+  rdfs:label "Matkan vyöhykkeistä riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a zone travel dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:TravelDistanceDurationDependentPriceSpecification a owl:Class ;
+  rdfs:label "Travel distance duration dependent price specification"@en ;
+  rdfs:label "Matkan kestosta ja pituudesta riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a duration and travel distance dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ZoneTravelDurationDependentPriceSpecification a owl:Class ;
+  rdfs:label "Zone travel duration dependent price specification"@en ;
+  rdfs:label "Matkan kestosta ja vyöhykkeistä riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a duration and zone travel dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:DurationAtDistanceDependentPriceSpecification a owl:Class ;
+  rdfs:label "Duration at distance dependent price specification"@en ;
+  rdfs:label "Kestosta tietyllä etäisyydellä riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a duration at distance dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:DurationAtZoneDependentPriceSpecification a owl:Class ;
+  rdfs:label "Duration at zone dependent price specification"@en ;
+  rdfs:label "Kestosta tietyllä vyöhykkeellä riippuvainen hinta"@fi ;
+  rdfs:comment "Specifies a duration at zone dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+smartapi:ScriptDependentPriceSpecification a owl:Class ;
+  rdfs:label "Script dependent price specification"@en ;
+  rdfs:label "Skriptipohjainen hinta"@fi ;
+  rdfs:comment "Specifies a script dependent price for something."@en ;
+  rdfs:isDefinedBy smartapi:TradingOntology ;
+  rdfs:subClassOf gr:PriceSpecification ;
+  vs:term_status "testing" .
+
+