Commit 5be440dfeb63a4b00ed7ae178e6a1823f46034a2

Authored by Joerg Swetina
1 parent d1b268f0

Moved file base_ontology-v_2_2_0.owl from base directory into sub-directory oneM…

…2M_Release-2_versions
  1 +<?xml version="1.0"?>
  2 +
  3 +
  4 +<!DOCTYPE rdf:RDF [
  5 + <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
  6 + <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
  7 + <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
  8 + <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
  9 + <!ENTITY base_ontology "http://www.onem2m.org/ontology/Base_Ontology/base_ontology#" >
  10 +]>
  11 +
  12 +
  13 +<rdf:RDF xmlns="http://www.w3.org/2002/07/owl#"
  14 + xml:base="http://www.w3.org/2002/07/owl"
  15 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  16 + xmlns:owl="http://www.w3.org/2002/07/owl#"
  17 + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  18 + xmlns:base_ontology="http://www.onem2m.org/ontology/Base_Ontology/base_ontology#"
  19 + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  20 + <Ontology rdf:about="http://www.onem2m.org/ontology/Base_Ontology/base_ontology">
  21 + <rdfs:comment>This file contains the Base Ontology of oneM2M as specified in TS-0012
  22 +
  23 +=========================================
  24 +Copyright Notification
  25 +
  26 +The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices contained in the original materials on any copies of the materials and that you comply strictly with these terms.
  27 +This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of any patent rights.
  28 +The oneM2M Partners assume no responsibility for errors or omissions in this document.
  29 +
  30 +(c) 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). All rights reserved.
  31 +
  32 +Notice of Disclaimer &amp; Limitation of Liability
  33 +
  34 +The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations.
  35 +No recommendation as to products or vendors is made or should be implied.
  36 +
  37 +NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE,GOVERNMENTAL RULE OR EGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS.
  38 +NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR ON SEQUENTIAL DAMAGES.
  39 +oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
  40 +=========================================</rdfs:comment>
  41 + <versionIRI rdf:resource="http://www.onem2m.org/ontology/Base_Ontology/base_ontology-v2_2_0"/>
  42 + </Ontology>
  43 +
  44 +
  45 +
  46 + <!--
  47 + ///////////////////////////////////////////////////////////////////////////////////////
  48 + //
  49 + // Annotation properties
  50 + //
  51 + ///////////////////////////////////////////////////////////////////////////////////////
  52 + -->
  53 +
  54 +
  55 +
  56 +
  57 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#resourceDescriptorLink -->
  58 +
  59 + <AnnotationProperty rdf:about="&base_ontology;resourceDescriptorLink">
  60 + <rdfs:comment>The resourceDescriptorLink annotation property is used to refer to a semanticDescriptor resource that contains more information about its subject. Its subject may be any individual and the range shall be the data literal or URI reference that represents the address of the semanticDescriptor</rdfs:comment>
  61 + <rdfs:range rdf:resource="&xsd;anyURI"/>
  62 + <rdfs:domain rdf:resource="&owl;Thing"/>
  63 + </AnnotationProperty>
  64 +
  65 +
  66 +
  67 + <!--
  68 + ///////////////////////////////////////////////////////////////////////////////////////
  69 + //
  70 + // Object Properties
  71 + //
  72 + ///////////////////////////////////////////////////////////////////////////////////////
  73 + -->
  74 +
  75 +
  76 +
  77 +
  78 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#consistsOf -->
  79 +
  80 + <ObjectProperty rdf:about="&base_ontology;consistsOf">
  81 + <rdfs:comment>A Device can consist of (i.e. be composed) of several (sub-) Devices</rdfs:comment>
  82 + <rdfs:domain rdf:resource="&base_ontology;Device"/>
  83 + <rdfs:range rdf:resource="&base_ontology;Device"/>
  84 + </ObjectProperty>
  85 +
  86 +
  87 +
  88 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#describes -->
  89 +
  90 + <ObjectProperty rdf:about="&base_ontology;describes">
  91 + <rdfs:comment>A Variable describes an Aspect (a quality or kind)</rdfs:comment>
  92 + <rdfs:range rdf:resource="&base_ontology;Aspect"/>
  93 + <rdfs:domain rdf:resource="&base_ontology;Variable"/>
  94 + </ObjectProperty>
  95 +
  96 +
  97 +
  98 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#exposesCommand -->
  99 +
  100 + <ObjectProperty rdf:about="&base_ontology;exposesCommand">
  101 + <rdfs:comment>A –machine interpretable- Operation or an Input/OutputDataPoint of a Service exposes a –human understandable- Command to a network</rdfs:comment>
  102 + <rdfs:range rdf:resource="&base_ontology;Command"/>
  103 + <rdfs:domain rdf:resource="&base_ontology;Operation"/>
  104 + </ObjectProperty>
  105 +
  106 +
  107 +
  108 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#exposesFunction -->
  109 +
  110 + <ObjectProperty rdf:about="&base_ontology;exposesFunction">
  111 + <rdfs:comment>A Service exposes a Functionality to the network and makes it discoverable, registerable and remotely controllable in the network</rdfs:comment>
  112 + <rdfs:range rdf:resource="&base_ontology;Function"/>
  113 + <rdfs:domain rdf:resource="&base_ontology;Service"/>
  114 + </ObjectProperty>
  115 +
  116 +
  117 +
  118 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasCommand -->
  119 +
  120 + <ObjectProperty rdf:about="&base_ontology;hasCommand">
  121 + <rdfs:comment>A Functionality of a Device can be influenced / observed by a human user through the Commands that this Functionality has and that are offered to the user</rdfs:comment>
  122 + <rdfs:range rdf:resource="&base_ontology;Command"/>
  123 + <rdfs:domain rdf:resource="&base_ontology;Function"/>
  124 + </ObjectProperty>
  125 +
  126 +
  127 +
  128 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasFunction -->
  129 +
  130 + <ObjectProperty rdf:about="&base_ontology;hasFunction">
  131 + <rdfs:comment>In order to accomplish its task, a Device performs one or more Functionalities</rdfs:comment>
  132 + <rdfs:domain rdf:resource="&base_ontology;Device"/>
  133 + <rdfs:range rdf:resource="&base_ontology;Function"/>
  134 + </ObjectProperty>
  135 +
  136 +
  137 +
  138 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasInput -->
  139 +
  140 + <ObjectProperty rdf:about="&base_ontology;hasInput">
  141 + <rdfs:comment>An Operation of a Service of the Device or a Command of a Functionality of the Device can have transient OperationInput data.</rdfs:comment>
  142 + <rdfs:range rdf:resource="&base_ontology;OperationInput"/>
  143 + <rdfs:domain>
  144 + <Class>
  145 + <unionOf rdf:parseType="Collection">
  146 + <rdf:Description rdf:about="&base_ontology;Command"/>
  147 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  148 + </unionOf>
  149 + </Class>
  150 + </rdfs:domain>
  151 + </ObjectProperty>
  152 +
  153 +
  154 +
  155 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasInputDataPoint -->
  156 +
  157 + <ObjectProperty rdf:about="&base_ontology;hasInputDataPoint">
  158 + <rdfs:comment>A Service or an Operation of a Service of the Device can have InputDataPoints. Communicating entities write data into InputDataPoints and the Device retrieves the data at times according to an internal schedule.
  159 + - An InputDataPoint is a persistent resource</rdfs:comment>
  160 + <rdfs:comment>Note:
  161 +If an InputDataPoint is mandatory for a Service or Operation then
  162 +the cardinality of hasInputDataPoint must be - min 1.</rdfs:comment>
  163 + <rdfs:range rdf:resource="&base_ontology;InputDataPoint"/>
  164 + <rdfs:domain>
  165 + <Class>
  166 + <unionOf rdf:parseType="Collection">
  167 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  168 + <rdf:Description rdf:about="&base_ontology;Service"/>
  169 + </unionOf>
  170 + </Class>
  171 + </rdfs:domain>
  172 + </ObjectProperty>
  173 +
  174 +
  175 +
  176 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasMetaData -->
  177 +
  178 + <ObjectProperty rdf:about="&base_ontology;hasMetaData">
  179 + <rdfs:comment>A Value of a Thing can have MetaData (like units, precision-ranges).</rdfs:comment>
  180 + <rdfs:range rdf:resource="&base_ontology;MetaData"/>
  181 + <rdfs:domain>
  182 + <Class>
  183 + <unionOf rdf:parseType="Collection">
  184 + <rdf:Description rdf:about="&base_ontology;Aspect"/>
  185 + <rdf:Description rdf:about="&base_ontology;Variable"/>
  186 + </unionOf>
  187 + </Class>
  188 + </rdfs:domain>
  189 + </ObjectProperty>
  190 +
  191 +
  192 +
  193 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOperation -->
  194 +
  195 + <ObjectProperty rdf:about="&base_ontology;hasOperation">
  196 + <rdfs:comment>Note:
  197 +If an Operation is mandatory for a Service then
  198 +the cardinality of hasOperation must be - min 1.</rdfs:comment>
  199 + <rdfs:comment>A Service communicates by means of Operations over the network to transmit data to/from other devices</rdfs:comment>
  200 + <rdfs:range rdf:resource="&base_ontology;Operation"/>
  201 + <rdfs:domain rdf:resource="&base_ontology;Service"/>
  202 + </ObjectProperty>
  203 +
  204 +
  205 +
  206 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOperationState -->
  207 +
  208 + <ObjectProperty rdf:about="&base_ontology;hasOperationState">
  209 + <rdfs:comment>An Operation may have an OperationState that is exposed</rdfs:comment>
  210 + <rdfs:domain rdf:resource="&base_ontology;Operation"/>
  211 + <rdfs:range rdf:resource="&base_ontology;OperationState"/>
  212 + </ObjectProperty>
  213 +
  214 +
  215 +
  216 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOutput -->
  217 +
  218 + <ObjectProperty rdf:about="&base_ontology;hasOutput">
  219 + <rdfs:comment>An Operation of a Service of the Device or a Command of a Functionality of the Device can have transient OperationOutput data.</rdfs:comment>
  220 + <rdfs:range rdf:resource="&base_ontology;OperationOutput"/>
  221 + <rdfs:domain>
  222 + <Class>
  223 + <unionOf rdf:parseType="Collection">
  224 + <rdf:Description rdf:about="&base_ontology;Command"/>
  225 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  226 + </unionOf>
  227 + </Class>
  228 + </rdfs:domain>
  229 + </ObjectProperty>
  230 +
  231 +
  232 +
  233 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOutputDataPoint -->
  234 +
  235 + <ObjectProperty rdf:about="&base_ontology;hasOutputDataPoint">
  236 + <rdfs:comment>Note:
  237 +If an OutputDataPoint is mandatory for a Service or Operation then
  238 +the cardinality of hasOutputDataPoint must be - min 1.</rdfs:comment>
  239 + <rdfs:comment>A Service or an Operation of a Service of the Device can have OutputDataPoints. The Device writes data into OutputDataPoints at times according to an internal schedule and the communicating entitis retrieves the data.
  240 + - An OutputDataPoint is a persistent resource</rdfs:comment>
  241 + <rdfs:range rdf:resource="&base_ontology;OutputDataPoint"/>
  242 + <rdfs:domain>
  243 + <Class>
  244 + <unionOf rdf:parseType="Collection">
  245 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  246 + <rdf:Description rdf:about="&base_ontology;Service"/>
  247 + </unionOf>
  248 + </Class>
  249 + </rdfs:domain>
  250 + </ObjectProperty>
  251 +
  252 +
  253 +
  254 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasService -->
  255 +
  256 + <ObjectProperty rdf:about="&base_ontology;hasService">
  257 + <rdfs:comment>The Functionalities of a Device are exposed in the network as Services of the Device</rdfs:comment>
  258 + <rdfs:domain rdf:resource="&base_ontology;Device"/>
  259 + <rdfs:range rdf:resource="&base_ontology;Service"/>
  260 + </ObjectProperty>
  261 +
  262 +
  263 +
  264 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasSubService -->
  265 +
  266 + <ObjectProperty rdf:about="&base_ontology;hasSubService">
  267 + <rdfs:comment>A Service may be composed of smaller, independent (sub)Services, e.g. re-usable servicemodules</rdfs:comment>
  268 + <rdfs:comment>Note:
  269 +If an Service constist of at least one sub-Service then
  270 +the cardinality of hasSubService must be - min 1.</rdfs:comment>
  271 + <rdfs:domain rdf:resource="&base_ontology;Service"/>
  272 + <rdfs:range rdf:resource="&base_ontology;Service"/>
  273 + </ObjectProperty>
  274 +
  275 +
  276 +
  277 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasSubStructure -->
  278 +
  279 + <ObjectProperty rdf:about="&base_ontology;hasSubStructure">
  280 + <rdfs:comment>A structured Variable can be composed of (sub-)Variables</rdfs:comment>
  281 + <rdfs:range rdf:resource="&base_ontology;Variable"/>
  282 + <rdfs:domain rdf:resource="&base_ontology;Variable"/>
  283 + </ObjectProperty>
  284 +
  285 +
  286 +
  287 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingProperty -->
  288 +
  289 + <ObjectProperty rdf:about="&base_ontology;hasThingProperty">
  290 + <rdfs:isDefinedBy>A Thing may have properties that can be described by Values</rdfs:isDefinedBy>
  291 + <rdfs:domain rdf:resource="&base_ontology;Thing"/>
  292 + <rdfs:range rdf:resource="&base_ontology;ThingProperty"/>
  293 + </ObjectProperty>
  294 +
  295 +
  296 +
  297 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingRelation -->
  298 +
  299 + <ObjectProperty rdf:about="&base_ontology;hasThingRelation">
  300 + <rdfs:isDefinedBy>A Thing may have relations to itself or to other Things (e-g. a Thing &quot;Room&quot; could have a relation &quot;has_Door&quot; with a Thing &quot;Door&quot;)</rdfs:isDefinedBy>
  301 + <rdfs:range rdf:resource="&base_ontology;Thing"/>
  302 + <rdfs:domain rdf:resource="&base_ontology;Thing"/>
  303 + </ObjectProperty>
  304 +
  305 +
  306 +
  307 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#isPartOf -->
  308 +
  309 + <ObjectProperty rdf:about="&base_ontology;isPartOf">
  310 + <rdfs:isDefinedBy>An InterworkedDevice constitutes a part of an AreaNetwork</rdfs:isDefinedBy>
  311 + <rdfs:range rdf:resource="&base_ontology;AreaNetwork"/>
  312 + <rdfs:domain rdf:resource="&base_ontology;InterworkedDevice"/>
  313 + </ObjectProperty>
  314 +
  315 +
  316 +
  317 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#refersTo -->
  318 +
  319 + <ObjectProperty rdf:about="&base_ontology;refersTo">
  320 + <rdfs:isDefinedBy>A Functionality of a Device can refer to a certain Aspect (a quality or kind) that is measured or controlled by that Functionality.
  321 +e.g. a temperature sensor would refer to the Aspect &quot;Temperature&quot; that it measures</rdfs:isDefinedBy>
  322 + <rdfs:range rdf:resource="&base_ontology;Aspect"/>
  323 + <rdfs:domain rdf:resource="&base_ontology;Function"/>
  324 + </ObjectProperty>
  325 +
  326 +
  327 +
  328 + <!--
  329 + ///////////////////////////////////////////////////////////////////////////////////////
  330 + //
  331 + // Data properties
  332 + //
  333 + ///////////////////////////////////////////////////////////////////////////////////////
  334 + -->
  335 +
  336 +
  337 +
  338 +
  339 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction -->
  340 +
  341 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction">
  342 + <rdfs:comment>This Data Property specifies the restrictions on the data type of the SimpleTypeVariable.
  343 +The Data Property &quot;hasDataRestriction&quot; shall always be sub-classed</rdfs:comment>
  344 + <rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
  345 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  346 + </DatatypeProperty>
  347 +
  348 +
  349 +
  350 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_langRange -->
  351 +
  352 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_langRange">
  353 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  354 + </DatatypeProperty>
  355 +
  356 +
  357 +
  358 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_length -->
  359 +
  360 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_length">
  361 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  362 + </DatatypeProperty>
  363 +
  364 +
  365 +
  366 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxExclusive -->
  367 +
  368 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxExclusive">
  369 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  370 + </DatatypeProperty>
  371 +
  372 +
  373 +
  374 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxInclusive -->
  375 +
  376 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxInclusive">
  377 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  378 + </DatatypeProperty>
  379 +
  380 +
  381 +
  382 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxLength -->
  383 +
  384 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxLength">
  385 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  386 + </DatatypeProperty>
  387 +
  388 +
  389 +
  390 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minExclusive -->
  391 +
  392 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minExclusive">
  393 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  394 + </DatatypeProperty>
  395 +
  396 +
  397 +
  398 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minInclusive -->
  399 +
  400 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minInclusive">
  401 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  402 + </DatatypeProperty>
  403 +
  404 +
  405 +
  406 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minLength -->
  407 +
  408 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minLength">
  409 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  410 + </DatatypeProperty>
  411 +
  412 +
  413 +
  414 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_pattern -->
  415 +
  416 + <DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_pattern">
  417 + <rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
  418 + </DatatypeProperty>
  419 +
  420 +
  421 +
  422 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataType -->
  423 +
  424 + <DatatypeProperty rdf:about="&base_ontology;hasDataType">
  425 + <rdfs:comment>This Data Property specifies the data type of the SimpleTypeVariable as text string</rdfs:comment>
  426 + <rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
  427 + <rdfs:range>
  428 + <rdfs:Datatype>
  429 + <oneOf>
  430 + <rdf:Description>
  431 + <rdf:type rdf:resource="&rdf;List"/>
  432 + <rdf:first rdf:datatype="&xsd;string">owl:rational </rdf:first>
  433 + <rdf:rest>
  434 + <rdf:Description>
  435 + <rdf:type rdf:resource="&rdf;List"/>
  436 + <rdf:first rdf:datatype="&xsd;string">owl:real </rdf:first>
  437 + <rdf:rest>
  438 + <rdf:Description>
  439 + <rdf:type rdf:resource="&rdf;List"/>
  440 + <rdf:first rdf:datatype="&xsd;string">rdf:PlainLiteral</rdf:first>
  441 + <rdf:rest>
  442 + <rdf:Description>
  443 + <rdf:type rdf:resource="&rdf;List"/>
  444 + <rdf:first rdf:datatype="&xsd;string">rdf:XMLLiteral</rdf:first>
  445 + <rdf:rest>
  446 + <rdf:Description>
  447 + <rdf:type rdf:resource="&rdf;List"/>
  448 + <rdf:first rdf:datatype="&xsd;string">xsd:NCName </rdf:first>
  449 + <rdf:rest>
  450 + <rdf:Description>
  451 + <rdf:type rdf:resource="&rdf;List"/>
  452 + <rdf:first rdf:datatype="&xsd;string">xsd:NMTOKEN </rdf:first>
  453 + <rdf:rest>
  454 + <rdf:Description>
  455 + <rdf:type rdf:resource="&rdf;List"/>
  456 + <rdf:first rdf:datatype="&xsd;string">xsd:Name </rdf:first>
  457 + <rdf:rest>
  458 + <rdf:Description>
  459 + <rdf:type rdf:resource="&rdf;List"/>
  460 + <rdf:first rdf:datatype="&xsd;string">xsd:anyURI</rdf:first>
  461 + <rdf:rest>
  462 + <rdf:Description>
  463 + <rdf:type rdf:resource="&rdf;List"/>
  464 + <rdf:first rdf:datatype="&xsd;string">xsd:base64Binary </rdf:first>
  465 + <rdf:rest>
  466 + <rdf:Description>
  467 + <rdf:type rdf:resource="&rdf;List"/>
  468 + <rdf:first rdf:datatype="&xsd;string">xsd:boolean</rdf:first>
  469 + <rdf:rest>
  470 + <rdf:Description>
  471 + <rdf:type rdf:resource="&rdf;List"/>
  472 + <rdf:first rdf:datatype="&xsd;string">xsd:byte </rdf:first>
  473 + <rdf:rest>
  474 + <rdf:Description>
  475 + <rdf:type rdf:resource="&rdf;List"/>
  476 + <rdf:first rdf:datatype="&xsd;string">xsd:dateTime </rdf:first>
  477 + <rdf:rest>
  478 + <rdf:Description>
  479 + <rdf:type rdf:resource="&rdf;List"/>
  480 + <rdf:first rdf:datatype="&xsd;string">xsd:dateTimeStamp </rdf:first>
  481 + <rdf:rest>
  482 + <rdf:Description>
  483 + <rdf:type rdf:resource="&rdf;List"/>
  484 + <rdf:first rdf:datatype="&xsd;string">xsd:decimal </rdf:first>
  485 + <rdf:rest>
  486 + <rdf:Description>
  487 + <rdf:type rdf:resource="&rdf;List"/>
  488 + <rdf:first rdf:datatype="&xsd;string">xsd:hexBinary </rdf:first>
  489 + <rdf:rest>
  490 + <rdf:Description>
  491 + <rdf:type rdf:resource="&rdf;List"/>
  492 + <rdf:first rdf:datatype="&xsd;string">xsd:int </rdf:first>
  493 + <rdf:rest>
  494 + <rdf:Description>
  495 + <rdf:type rdf:resource="&rdf;List"/>
  496 + <rdf:first rdf:datatype="&xsd;string">xsd:integer </rdf:first>
  497 + <rdf:rest>
  498 + <rdf:Description>
  499 + <rdf:type rdf:resource="&rdf;List"/>
  500 + <rdf:first rdf:datatype="&xsd;string">xsd:language </rdf:first>
  501 + <rdf:rest>
  502 + <rdf:Description>
  503 + <rdf:type rdf:resource="&rdf;List"/>
  504 + <rdf:first rdf:datatype="&xsd;string">xsd:long </rdf:first>
  505 + <rdf:rest>
  506 + <rdf:Description>
  507 + <rdf:type rdf:resource="&rdf;List"/>
  508 + <rdf:first rdf:datatype="&xsd;string">xsd:negativeInteger </rdf:first>
  509 + <rdf:rest>
  510 + <rdf:Description>
  511 + <rdf:type rdf:resource="&rdf;List"/>
  512 + <rdf:first rdf:datatype="&xsd;string">xsd:nonNegativeInteger </rdf:first>
  513 + <rdf:rest>
  514 + <rdf:Description>
  515 + <rdf:type rdf:resource="&rdf;List"/>
  516 + <rdf:first rdf:datatype="&xsd;string">xsd:nonPositiveInteger </rdf:first>
  517 + <rdf:rest>
  518 + <rdf:Description>
  519 + <rdf:type rdf:resource="&rdf;List"/>
  520 + <rdf:first rdf:datatype="&xsd;string">xsd:normalizedString </rdf:first>
  521 + <rdf:rest>
  522 + <rdf:Description>
  523 + <rdf:type rdf:resource="&rdf;List"/>
  524 + <rdf:first rdf:datatype="&xsd;string">xsd:positiveInteger </rdf:first>
  525 + <rdf:rest>
  526 + <rdf:Description>
  527 + <rdf:type rdf:resource="&rdf;List"/>
  528 + <rdf:first rdf:datatype="&xsd;string">xsd:short </rdf:first>
  529 + <rdf:rest>
  530 + <rdf:Description>
  531 + <rdf:type rdf:resource="&rdf;List"/>
  532 + <rdf:first rdf:datatype="&xsd;string">xsd:string </rdf:first>
  533 + <rdf:rest>
  534 + <rdf:Description>
  535 + <rdf:type rdf:resource="&rdf;List"/>
  536 + <rdf:first rdf:datatype="&xsd;string">xsd:token </rdf:first>
  537 + <rdf:rest>
  538 + <rdf:Description>
  539 + <rdf:type rdf:resource="&rdf;List"/>
  540 + <rdf:first rdf:datatype="&xsd;string">xsd:unsignedByte </rdf:first>
  541 + <rdf:rest>
  542 + <rdf:Description>
  543 + <rdf:type rdf:resource="&rdf;List"/>
  544 + <rdf:first rdf:datatype="&xsd;string">xsd:unsignedInt </rdf:first>
  545 + <rdf:rest>
  546 + <rdf:Description>
  547 + <rdf:type rdf:resource="&rdf;List"/>
  548 + <rdf:first rdf:datatype="&xsd;string">xsd:unsignedLong </rdf:first>
  549 + <rdf:rest>
  550 + <rdf:Description>
  551 + <rdf:type rdf:resource="&rdf;List"/>
  552 + <rdf:first rdf:datatype="&xsd;string">xsd:unsignedShort </rdf:first>
  553 + <rdf:rest rdf:resource="&rdf;nil"/>
  554 + </rdf:Description>
  555 + </rdf:rest>
  556 + </rdf:Description>
  557 + </rdf:rest>
  558 + </rdf:Description>
  559 + </rdf:rest>
  560 + </rdf:Description>
  561 + </rdf:rest>
  562 + </rdf:Description>
  563 + </rdf:rest>
  564 + </rdf:Description>
  565 + </rdf:rest>
  566 + </rdf:Description>
  567 + </rdf:rest>
  568 + </rdf:Description>
  569 + </rdf:rest>
  570 + </rdf:Description>
  571 + </rdf:rest>
  572 + </rdf:Description>
  573 + </rdf:rest>
  574 + </rdf:Description>
  575 + </rdf:rest>
  576 + </rdf:Description>
  577 + </rdf:rest>
  578 + </rdf:Description>
  579 + </rdf:rest>
  580 + </rdf:Description>
  581 + </rdf:rest>
  582 + </rdf:Description>
  583 + </rdf:rest>
  584 + </rdf:Description>
  585 + </rdf:rest>
  586 + </rdf:Description>
  587 + </rdf:rest>
  588 + </rdf:Description>
  589 + </rdf:rest>
  590 + </rdf:Description>
  591 + </rdf:rest>
  592 + </rdf:Description>
  593 + </rdf:rest>
  594 + </rdf:Description>
  595 + </rdf:rest>
  596 + </rdf:Description>
  597 + </rdf:rest>
  598 + </rdf:Description>
  599 + </rdf:rest>
  600 + </rdf:Description>
  601 + </rdf:rest>
  602 + </rdf:Description>
  603 + </rdf:rest>
  604 + </rdf:Description>
  605 + </rdf:rest>
  606 + </rdf:Description>
  607 + </rdf:rest>
  608 + </rdf:Description>
  609 + </rdf:rest>
  610 + </rdf:Description>
  611 + </rdf:rest>
  612 + </rdf:Description>
  613 + </rdf:rest>
  614 + </rdf:Description>
  615 + </oneOf>
  616 + </rdfs:Datatype>
  617 + </rdfs:range>
  618 + </DatatypeProperty>
  619 +
  620 +
  621 +
  622 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingAnnotation -->
  623 +
  624 + <DatatypeProperty rdf:about="&base_ontology;hasThingAnnotation">
  625 + <rdfs:comment>This data property contains a description of a Thing.
  626 +Note: Data Property: hasThingAnnotation should be used in cases where the annotation data do not change very often and/or where they are usually not the subject of semantic operations (e.g. semantic discovery). Otherwise Object Propety: hasThingPropery should be used
  627 +E.g. a certain type of Device could have the model (as a numeric description) or the name of the manufacturer (as a textual annotation)</rdfs:comment>
  628 + <rdfs:domain rdf:resource="&base_ontology;Thing"/>
  629 + <rdfs:range rdf:resource="&rdfs;Literal"/>
  630 + </DatatypeProperty>
  631 +
  632 +
  633 +
  634 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasValue -->
  635 +
  636 + <DatatypeProperty rdf:about="&base_ontology;hasValue">
  637 + <rdfs:comment>This data property contains the value of the Variable if that value is part of the semantic description and is not contained in a different resource (identified by the oneM2MTargetURI data property). Storing the value of a Variable in a semantic description (i.e. as part of the RDF description in the semanticDescriptor resource) is useful for values that are relatively static (e.g. the name of the manufacturer).
  638 + - Data properties &quot;hasValue&quot; and &quot;oneM2MTargetURI&quot; are mutually exclusive. Only one of the two shall be instantiated.</rdfs:comment>
  639 + <rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
  640 + <rdfs:range rdf:resource="&rdfs;Literal"/>
  641 + </DatatypeProperty>
  642 +
  643 +
  644 +
  645 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyCommunicationProtocol -->
  646 +
  647 + <DatatypeProperty rdf:about="&base_ontology;netTechnologyCommunicationProtocol">
  648 + <rdfs:comment>Identification of a communication protocol (e.g. ZigBee_1_0)</rdfs:comment>
  649 + <rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
  650 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  651 + </DatatypeProperty>
  652 +
  653 +
  654 +
  655 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyPhysicalStandard -->
  656 +
  657 + <DatatypeProperty rdf:about="&base_ontology;netTechnologyPhysicalStandard">
  658 + <rdfs:comment>Identification of the physical properties of a Area Network technology (e.g. IEEE_802_15_4_2003_2_4GHz).</rdfs:comment>
  659 + <rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
  660 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  661 + </DatatypeProperty>
  662 +
  663 +
  664 +
  665 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyProfile -->
  666 +
  667 + <DatatypeProperty rdf:about="&base_ontology;netTechnologyProfile">
  668 + <rdfs:comment>Identification of a profile (e.g. ZigBee_HA) of a Area Network technology.</rdfs:comment>
  669 + <rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
  670 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  671 + </DatatypeProperty>
  672 +
  673 +
  674 +
  675 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MAttribute -->
  676 +
  677 + <DatatypeProperty rdf:about="&base_ontology;oneM2MAttribute">
  678 + <rdfs:comment>This Data Property contains the name of the attribute of the oneM2M resource of type &lt;flexContainer&gt; or the the child resource of the oneM2M resource of type &lt;container&gt; that is referenced with the oneM2MTargetURI and that stores the value of the SimpleTypeVariable
  679 + - if the resource-type of the oneM2M resource that is referenced with the oneM2MTargetURI is &lt;container&gt; then this Data Property shall contain the text string &quot;#latest&quot;</rdfs:comment>
  680 + <rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
  681 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  682 + </DatatypeProperty>
  683 +
  684 +
  685 +
  686 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MMethod -->
  687 +
  688 + <DatatypeProperty rdf:about="&base_ontology;oneM2MMethod">
  689 + <rdfs:comment>This data property contains a oneM2M CRUD Method through which the oneM2M instantiation of the value of the Variable can be manipulated by the communicating entity.
  690 + - It contains the string &quot;RETRIEVE&quot; for retrieving the variable when the oneM2M resource is of type &lt;container&gt; or &lt;flexContainer&gt;. This applies to sub-classes: OperationOutput, OutputDatapoint, ThingProperty and OperationState
  691 + - It contains the string &quot;CREATE&quot; for updating the variable when the oneM2M resource is of type &lt;container&gt;. This applies to sub-classes: OperationInput, InputDatapoint, ThingProperty
  692 + - It contains the string &quot;UPDATE&quot; for updationg the variable when the oneM2M resource is of type &lt;flexContainer&gt;. This applies to sub-classes: OperationInput, InputDatapoint, ThingProperty</rdfs:comment>
  693 + <rdfs:range rdf:resource="&rdf;PlainLiteral"/>
  694 + <rdfs:domain>
  695 + <Class>
  696 + <unionOf rdf:parseType="Collection">
  697 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  698 + <rdf:Description rdf:about="&base_ontology;Variable"/>
  699 + </unionOf>
  700 + </Class>
  701 + </rdfs:domain>
  702 + </DatatypeProperty>
  703 +
  704 +
  705 +
  706 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MTargetURI -->
  707 +
  708 + <DatatypeProperty rdf:about="&base_ontology;oneM2MTargetURI">
  709 + <rdfs:comment>oneM2MTargetURI (range data type: rdfs: Literal)
  710 +This data property contains the URI of a oneM2M resource (&lt;container&gt; or &lt;flexContainer&gt;) through which the oneM2M instantiation of the value of the Variable can be manipulated by the communicating entity. It can contain an absolute address or an address relative to the &lt;semanticDescriptor&gt; resource that holds the RDF description of the Variable.
  711 +That address could be e.g.
  712 + - The value of the parentID for the &lt;container&gt; or &lt;flexContainer&gt; of a Input- or OutputDataPoint which has child-resource of type &lt;semanticDescriptor&gt; that holds the RDF description of the DataPoint</rdfs:comment>
  713 + <rdfs:range rdf:resource="&rdfs;Literal"/>
  714 + <rdfs:domain>
  715 + <Class>
  716 + <unionOf rdf:parseType="Collection">
  717 + <rdf:Description rdf:about="&base_ontology;Operation"/>
  718 + <rdf:Description rdf:about="&base_ontology;Variable"/>
  719 + </unionOf>
  720 + </Class>
  721 + </rdfs:domain>
  722 + </DatatypeProperty>
  723 +
  724 +
  725 +
  726 + <!--
  727 + ///////////////////////////////////////////////////////////////////////////////////////
  728 + //
  729 + // Classes
  730 + //
  731 + ///////////////////////////////////////////////////////////////////////////////////////
  732 + -->
  733 +
  734 +
  735 +
  736 +
  737 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#AreaNetwork -->
  738 +
  739 + <Class rdf:about="&base_ontology;AreaNetwork">
  740 + <rdfs:comment>An AreaNetwork (Class: AreaNetwork) is a Network that provides data transport services between an Interworked Device and the oneM2M System. Different area Networks can use heterogeneous network technologies that may or may not support IP access</rdfs:comment>
  741 + </Class>
  742 +
  743 +
  744 +
  745 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Aspect -->
  746 +
  747 + <Class rdf:about="&base_ontology;Aspect">
  748 + <rdfs:comment>An Aspect (Class: Aspect) describes the real-world aspect that a functionality relates to. Aspect is also used to describe the quality or kind OperationInput- or OperationOutput variables.
  749 +The Aspect could be a (physical or non-physical) entity or it could be a quality</rdfs:comment>
  750 + </Class>
  751 +
  752 +
  753 +
  754 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Command -->
  755 +
  756 + <Class rdf:about="&base_ontology;Command">
  757 + <rdfs:subClassOf>
  758 + <Restriction>
  759 + <onProperty rdf:resource="&base_ontology;hasOutput"/>
  760 + <allValuesFrom rdf:resource="&base_ontology;OperationOutput"/>
  761 + </Restriction>
  762 + </rdfs:subClassOf>
  763 + <rdfs:subClassOf>
  764 + <Restriction>
  765 + <onProperty rdf:resource="&base_ontology;hasInput"/>
  766 + <allValuesFrom rdf:resource="&base_ontology;OperationInput"/>
  767 + </Restriction>
  768 + </rdfs:subClassOf>
  769 + <rdfs:subClassOf>
  770 + <Restriction>
  771 + <onProperty rdf:resource="&base_ontology;hasOutputDataPoint"/>
  772 + <allValuesFrom rdf:resource="&base_ontology;OutputDataPoint"/>
  773 + </Restriction>
  774 + </rdfs:subClassOf>
  775 + <rdfs:subClassOf>
  776 + <Restriction>
  777 + <onProperty rdf:resource="&base_ontology;hasInputDataPoint"/>
  778 + <allValuesFrom rdf:resource="&base_ontology;InputDataPoint"/>
  779 + </Restriction>
  780 + </rdfs:subClassOf>
  781 + <rdfs:comment>A Command (Class: Command) represents an action that can be performed to support the Functionality. A Command is the human understandable name of that action that is invoked in a device or is reported by the device. An Operation exposes a Command to the network. OperationInput and OperationOutput of the related Operation can parameterize the command.
  782 +e.g. the Functionality &quot;dimming-functionality&quot; of a light switch that remotely controls a light could have a Command &quot;setLightIntensity&quot;, with a parameter that has values 0 - 100 %.
  783 + - Also InputDataPoints and OutputDataPoints expose Commands to the network. When a Device communicates in a RESTful way then changing (UPDATEing) an InputDataPoint triggers an action in the Device once the Device has read out the data from the InputDataPoint.
  784 + - Similarly, when a Device sets the data of an OutputDataPoint then it provides state information about the Device.
  785 +Note: In RESTful systems the names of Input- and OutputDataPoints are usually chosen in such a way that they express the Command, i.e. the human-understandable meaning (e.g. a binary InputDataPoint of a lightswitch could have a name &quot;Set_Light_Status&quot;). In such a case the Command coincides with the DataPoint.</rdfs:comment>
  786 + </Class>
  787 +
  788 +
  789 +
  790 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#ControllingFunction -->
  791 +
  792 + <Class rdf:about="&base_ontology;ControllingFunction">
  793 + <rdfs:subClassOf rdf:resource="&base_ontology;Function"/>
  794 + <rdfs:comment>A ControllingFunctionality (Class: ControllingFunctionality) represents a functionality that has impacts on the real world, but does not gather data. In general a ControllingFunctionality has Commands (and/or Operations of its related Services) that receives Input data
  795 +E.g. a thermostat would have &quot;temperature-adjustment&quot; as a ControllingFunctionality</rdfs:comment>
  796 + </Class>
  797 +
  798 +
  799 +
  800 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Device -->
  801 +
  802 + <Class rdf:about="&base_ontology;Device">
  803 + <rdfs:subClassOf rdf:resource="&base_ontology;Thing"/>
  804 + <rdfs:subClassOf>
  805 + <Restriction>
  806 + <onProperty rdf:resource="&base_ontology;hasService"/>
  807 + <allValuesFrom rdf:resource="&base_ontology;Service"/>
  808 + </Restriction>
  809 + </rdfs:subClassOf>
  810 + <rdfs:subClassOf>
  811 + <Restriction>
  812 + <onProperty rdf:resource="&base_ontology;hasFunction"/>
  813 + <onClass rdf:resource="&base_ontology;Function"/>
  814 + <minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</minQualifiedCardinality>
  815 + </Restriction>
  816 + </rdfs:subClassOf>
  817 + <rdfs:subClassOf>
  818 + <Restriction>
  819 + <onProperty rdf:resource="&base_ontology;consistsOf"/>
  820 + <allValuesFrom rdf:resource="&base_ontology;Device"/>
  821 + </Restriction>
  822 + </rdfs:subClassOf>
  823 + <rdfs:comment>A Device (Class: Device) is a object designed to accomplish a particular task. A Device contains some logic and is producer and/or consumer of data that are exchanged via its Services with other oneM2M entities (Devices, Things) in the network. A Device may be a physical or non-physical entity.
  824 +In the context of oneM2M a Device is always assumed to be capable of communicating electronically via a network.
  825 + - In order to accomplish its task, the device performs one or more functionalities
  826 + - These functionalities are exposed in the network as Services of the Device.
  827 + - A Device can be composed of several (sub-) Devices
  828 + - Each Device (including sub-Devices) needs to be individually addressable in the network.</rdfs:comment>
  829 + </Class>
  830 +
  831 +
  832 +
  833 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Function -->
  834 +
  835 + <Class rdf:about="&base_ontology;Function">
  836 + <priorVersion>A Functionality (Class: Functionality) represents the functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one functionality.
  837 +The functionality exhibits the – human understandable – meaning what the device &quot;does&quot;.
  838 +A Functionality refers to (e.g. observes or influences) some real-world aspect(s), that can be modelled as a Class: Aspect.
  839 +E.g. considering a &quot;light switch&quot; then a related Functionality could be &quot;Controlling_ON_OFF&quot; or &quot;Controlling Brightness&quot;. These functionalities would refer to an Aspect &quot;light-control&quot;.
  840 +
  841 +A Functionality of a Device can be influenced / observed by a human user through the Commands that this Functionality has and that are offered to the user</priorVersion>
  842 + </Class>
  843 +
  844 +
  845 +
  846 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#InputDataPoint -->
  847 +
  848 + <Class rdf:about="&base_ontology;InputDataPoint">
  849 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  850 + <rdfs:comment>InputDataPoint (Class: InputDataPoint) is a Variable of a Service that is accessed by a RESTful Device in its environment and that the Device reads out autonomously (e.g. at periodic times).
  851 +To enable a third party to instruct the device to retrieve (out of schedule) the current value of a InputputDataPoint devices often also offer a GET_InputDataPoint Operation to trigger the device to retrieve the data from the InputDataPoint</rdfs:comment>
  852 + </Class>
  853 +
  854 +
  855 +
  856 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#InterworkedDevice -->
  857 +
  858 + <Class rdf:about="&base_ontology;InterworkedDevice">
  859 + <rdfs:subClassOf rdf:resource="&base_ontology;Device"/>
  860 + <rdfs:comment>An InterworkedDevice (Class: InterworkedDevice) is a Device – e.g. in an Area Network – that does not support oneM2M interfaces and can only be accessed from the oneM2M System by communicating with a &quot;proxied&quot; (virtual) device that has been created by an Interworking Proxy Entity</rdfs:comment>
  861 + </Class>
  862 +
  863 +
  864 +
  865 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#MeasuringFunction -->
  866 +
  867 + <Class rdf:about="&base_ontology;MeasuringFunction">
  868 + <rdfs:subClassOf rdf:resource="&base_ontology;Function"/>
  869 + <rdfs:comment>A MeasuringFunctionality (Class: MeasuringFunctionality) represents a functionality that has no impacts on the real world, but only gathers data. In general a MeasuringFunctionality has Commands (and/or Operations of its related Services) that generate Output data
  870 +E.g. a temperature sensor would have &quot;temperature-sensing&quot; as a MeasuringFunctionality</rdfs:comment>
  871 + </Class>
  872 +
  873 +
  874 +
  875 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#MetaData -->
  876 +
  877 + <Class rdf:about="&base_ontology;MetaData">
  878 + <rdfs:comment>MetaData (Class: MetaData) contain data (like units, precision-ranges …) about a Variable or about an Aspect.
  879 +E.g. the indoor temperature could have meta data: &quot;Degrees Celsius&quot;</rdfs:comment>
  880 + </Class>
  881 +
  882 +
  883 +
  884 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Operation -->
  885 +
  886 + <Class rdf:about="&base_ontology;Operation">
  887 + <rdfs:subClassOf>
  888 + <Restriction>
  889 + <onProperty rdf:resource="&base_ontology;exposesCommand"/>
  890 + <allValuesFrom rdf:resource="&base_ontology;Command"/>
  891 + </Restriction>
  892 + </rdfs:subClassOf>
  893 + <rdfs:subClassOf>
  894 + <Restriction>
  895 + <onProperty rdf:resource="&base_ontology;hasInput"/>
  896 + <allValuesFrom rdf:resource="&base_ontology;OperationInput"/>
  897 + </Restriction>
  898 + </rdfs:subClassOf>
  899 + <rdfs:subClassOf>
  900 + <Restriction>
  901 + <onProperty rdf:resource="&base_ontology;hasOutput"/>
  902 + <allValuesFrom rdf:resource="&base_ontology;OperationOutput"/>
  903 + </Restriction>
  904 + </rdfs:subClassOf>
  905 + <rdfs:subClassOf>
  906 + <Restriction>
  907 + <onProperty rdf:resource="&base_ontology;hasOperationState"/>
  908 + <allValuesFrom rdf:resource="&base_ontology;OperationState"/>
  909 + </Restriction>
  910 + </rdfs:subClassOf>
  911 + <rdfs:comment>An Operation (Class: Operation) is the means of a Service to communicate in a procedure-type manner over the network (i.e. transmit data to/from other devices). It is the –machine interpretable- exposure of a –human understandable- Command to a network.
  912 +An Operation is transient. I.e. an Operation can be invoked, possibly produces output and is finished.
  913 + - A non-oneM2M Device or a oneM2M entity (e.g. an AE) can invoke an Operation of the Device (oneM2M Device or InterworkedDevice) and that invocation can trigger some action in the Device. If an Operation has input data it may receive input data from
  914 + - InputDataPoints (persistent resources) and/or
  915 + - OperationInput (transient resources, that are deleted when the Operation finished)
  916 +and potentially produce output data into
  917 + - OutputDataPoints (persistent resources) and/or
  918 + - OperationOutput (transient resources, that are deleted when the Operation finished)
  919 +An Operation correlates the output data of the Operation to the input data that were used at Operation invokation.</rdfs:comment>
  920 + </Class>
  921 +
  922 +
  923 +
  924 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#OperationInput -->
  925 +
  926 + <Class rdf:about="&base_ontology;OperationInput">
  927 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  928 + <rdfs:comment>OperationInput (Class: OperationInput) describes an input of an Operation of a Service. OperationInput also describes the input of an Command.</rdfs:comment>
  929 + </Class>
  930 +
  931 +
  932 +
  933 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#OperationOutput -->
  934 +
  935 + <Class rdf:about="&base_ontology;OperationOutput">
  936 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  937 + <rdfs:comment>OperationOutput (Class: OperationOutput) describes an output of an Operation. OperationOutput also describes the output of a Command.
  938 + - An Operation/Command may have multiple OperationInputs and/or OperationOutputs</rdfs:comment>
  939 + </Class>
  940 +
  941 +
  942 +
  943 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#OperationState -->
  944 +
  945 + <Class rdf:about="&base_ontology;OperationState">
  946 + <rdfs:subClassOf rdf:resource="&base_ontology;SimpleTypeVariable"/>
  947 + <rdfs:subClassOf>
  948 + <Restriction>
  949 + <onProperty rdf:resource="&base_ontology;hasDataRestriction_pattern"/>
  950 + <qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</qualifiedCardinality>
  951 + <onDataRange rdf:resource="&xsd;string"/>
  952 + </Restriction>
  953 + </rdfs:subClassOf>
  954 + <rdfs:subClassOf>
  955 + <Restriction>
  956 + <onProperty rdf:resource="&base_ontology;hasDataType"/>
  957 + <qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</qualifiedCardinality>
  958 + <onDataRange rdf:resource="&xsd;string"/>
  959 + </Restriction>
  960 + </rdfs:subClassOf>
  961 + <rdfs:subClassOf>
  962 + <Class>
  963 + <unionOf rdf:parseType="Collection">
  964 + <Restriction>
  965 + <onProperty rdf:resource="&base_ontology;hasDataRestriction_pattern"/>
  966 + <hasValue rdf:datatype="&xsd;string">data_received_by_application</hasValue>
  967 + </Restriction>
  968 + <Restriction>
  969 + <onProperty rdf:resource="&base_ontology;hasDataRestriction_pattern"/>
  970 + <hasValue rdf:datatype="&xsd;string">data_transmitted_to_interworked_device</hasValue>
  971 + </Restriction>
  972 + <Restriction>
  973 + <onProperty rdf:resource="&base_ontology;hasDataRestriction_pattern"/>
  974 + <hasValue rdf:datatype="&xsd;string">operation_ended</hasValue>
  975 + </Restriction>
  976 + <Restriction>
  977 + <onProperty rdf:resource="&base_ontology;hasDataRestriction_pattern"/>
  978 + <hasValue rdf:datatype="&xsd;string">operation_failed</hasValue>
  979 + </Restriction>
  980 + </unionOf>
  981 + </Class>
  982 + </rdfs:subClassOf>
  983 + <rdfs:comment>describes the current state during the lifetime of an Operation. The OperationState class represents all possible values for that state (enumerated individuals). The OperationState is set during the progress of the operation by the entity invoking the operation, the entity that is the target of the operation, e.g. a device (or for interworked devices by the IPE) and the CSE. It takes values like
  984 +&quot;data_received_by_application&quot;, &quot;operation_ended&quot;, &quot;operation_failed&quot;, &quot;data_transmitted_to_interworked_device&quot;.</rdfs:comment>
  985 + </Class>
  986 +
  987 +
  988 +
  989 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#OutputDataPoint -->
  990 +
  991 + <Class rdf:about="&base_ontology;OutputDataPoint">
  992 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  993 + <rdfs:comment>OutputDataPoint (Class: OutputDataPoint) is a Variable of a Service that is set by a RESTful Device in its environment and that the Device updates autonomously (e.g. at periodic times). To enable a third party to instruct the device to update (out of schedule) the current value of a OutputputDataPoint devices often also offer a SET_OutputDataPoint Operation to trigger the device to update the data of the OutputDataPoint</rdfs:comment>
  994 + </Class>
  995 +
  996 +
  997 +
  998 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Service -->
  999 +
  1000 + <Class rdf:about="&base_ontology;Service">
  1001 + <rdfs:subClassOf>
  1002 + <Restriction>
  1003 + <onProperty rdf:resource="&base_ontology;hasInputDataPoint"/>
  1004 + <allValuesFrom rdf:resource="&base_ontology;InputDataPoint"/>
  1005 + </Restriction>
  1006 + </rdfs:subClassOf>
  1007 + <rdfs:subClassOf>
  1008 + <Restriction>
  1009 + <onProperty rdf:resource="&base_ontology;hasSubService"/>
  1010 + <allValuesFrom rdf:resource="&base_ontology;Service"/>
  1011 + </Restriction>
  1012 + </rdfs:subClassOf>
  1013 + <rdfs:subClassOf>
  1014 + <Restriction>
  1015 + <onProperty rdf:resource="&base_ontology;exposesFunction"/>
  1016 + <someValuesFrom rdf:resource="&base_ontology;Function"/>
  1017 + </Restriction>
  1018 + </rdfs:subClassOf>
  1019 + <rdfs:subClassOf>
  1020 + <Restriction>
  1021 + <onProperty rdf:resource="&base_ontology;hasOutputDataPoint"/>
  1022 + <allValuesFrom rdf:resource="&base_ontology;OutputDataPoint"/>
  1023 + </Restriction>
  1024 + </rdfs:subClassOf>
  1025 + <rdfs:subClassOf>
  1026 + <Restriction>
  1027 + <onProperty rdf:resource="&base_ontology;hasOperation"/>
  1028 + <allValuesFrom rdf:resource="&base_ontology;Operation"/>
  1029 + </Restriction>
  1030 + </rdfs:subClassOf>
  1031 + <rdfs:comment>A Service (Class: Service) is a electronic representation of a Functionality in a network. The Service exposes the Functionality to the network and makes it discoverable, registerable and remotely controllable in the network.
  1032 +A Service is offered by a device that wants (a certain set of) its Functionalities to be discoverable, registerable, remotely controllable by other devices in the network.
  1033 +A Service can expose one or more Functionalities and a Functionality can be exposed by one or more Services.
  1034 +The Input- and Output DataPoints and Operations of a Service may have the same names as for a different Service, however the Service to which they belong differentiates how they are addressed in the Device (e.g. via a port specific to the Service).
  1035 +NOTE: While a Functionality describes the – human understandable – meaning of a Service of the device the Service is used to describe how such functionality is represented in a communication network and can be accessed by electronic means. The Service and its Operations is therefore dependent on the technology of the network, hard- and software of the device.</rdfs:comment>
  1036 + </Class>
  1037 +
  1038 +
  1039 +
  1040 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#SimpleTypeVariable -->
  1041 +
  1042 + <Class rdf:about="&base_ontology;SimpleTypeVariable">
  1043 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  1044 + <rdfs:subClassOf>
  1045 + <Restriction>
  1046 + <onProperty rdf:resource="&base_ontology;hasDataRestriction"/>
  1047 + <allValuesFrom rdf:resource="&rdf;PlainLiteral"/>
  1048 + </Restriction>
  1049 + </rdfs:subClassOf>
  1050 + <rdfs:subClassOf>
  1051 + <Restriction>
  1052 + <onProperty rdf:resource="&base_ontology;hasSubStructure"/>
  1053 + <onClass rdf:resource="&base_ontology;Variable"/>
  1054 + <qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">0</qualifiedCardinality>
  1055 + </Restriction>
  1056 + </rdfs:subClassOf>
  1057 + <rdfs:subClassOf>
  1058 + <Restriction>
  1059 + <onProperty rdf:resource="&base_ontology;hasDataType"/>
  1060 + <qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</qualifiedCardinality>
  1061 + <onDataRange rdf:resource="&rdf;PlainLiteral"/>
  1062 + </Restriction>
  1063 + </rdfs:subClassOf>
  1064 + <rdfs:comment>SimpleTypeVariable (Class: SimpleTypeVariable) is a sub-class of class:Variable that only consists of Variables of simple xml types like xsd:integer, xsd:string…, potentially including restrictions
  1065 +
  1066 +The simple datatypes and –restrictions contained in &quot;OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition)&quot; are supported. (see http://www.w3.org/TR/owl2-syntax/)</rdfs:comment>
  1067 + </Class>
  1068 +
  1069 +
  1070 +
  1071 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Thing -->
  1072 +
  1073 + <Class rdf:about="&base_ontology;Thing">
  1074 + <rdfs:subClassOf>
  1075 + <Restriction>
  1076 + <onProperty rdf:resource="&base_ontology;hasThingRelation"/>
  1077 + <allValuesFrom rdf:resource="&base_ontology;Thing"/>
  1078 + </Restriction>
  1079 + </rdfs:subClassOf>
  1080 + <rdfs:subClassOf>
  1081 + <Restriction>
  1082 + <onProperty rdf:resource="&base_ontology;hasThingProperty"/>
  1083 + <allValuesFrom rdf:resource="&base_ontology;ThingProperty"/>
  1084 + </Restriction>
  1085 + </rdfs:subClassOf>
  1086 + <rdfs:comment>A Thing in oneM2M (Class: Thing) is an entity that can be identified in the oneM2M System.
  1087 +A Thing that is not a Device is not able to conmmunicate electronically with its environment. However, the sub-class of Thing that is able to interact electronically is called a &quot;Device&quot;.
  1088 +A Thing may have ThingProperties (Object Property: hasThingProperty). A Thing can have relations to other things (Object Property: hasThingRelation).
  1089 +Since a Thing that is not a Device is not able to conmmunicate electronically it cannot influence the value of its ThingProperties or being influenced by it. Similarly a Thing cannot document its - real-world - relationships (via hasThingRelation) to other Things.
  1090 +
  1091 +E.g. A room that is modelled in oneM2M would be a Thing that could have a room-temperature as a ThingProperty and could have a relationship &quot;isAdjacentTo&quot; to another room</rdfs:comment>
  1092 + </Class>
  1093 +
  1094 +
  1095 +
  1096 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#ThingProperty -->
  1097 +
  1098 + <Class rdf:about="&base_ontology;ThingProperty">
  1099 + <rdfs:subClassOf rdf:resource="&base_ontology;Variable"/>
  1100 + <rdfs:comment>A Value (Class: Value) denotes a property of a Thing. A Value can e.g. be observed or influenced by devices, or it constitutes static data about a Thing.
  1101 +E.g. the indoor temperature of the room could be a Value of a Thing &quot;room&quot;.
  1102 +A Value of a thing can concern a certain Aspect, e.g. the indoor temperature concerns the Aspect &quot;Temperature&quot; that could be measured by a temperature sensor.
  1103 +A Value of a Thing can have meta data</rdfs:comment>
  1104 + </Class>
  1105 +
  1106 +
  1107 +
  1108 + <!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#Variable -->
  1109 +
  1110 + <Class rdf:about="&base_ontology;Variable">
  1111 + <rdfs:subClassOf>
  1112 + <Restriction>
  1113 + <onProperty rdf:resource="&base_ontology;hasSubStructure"/>
  1114 + <allValuesFrom rdf:resource="&base_ontology;Variable"/>
  1115 + </Restriction>
  1116 + </rdfs:subClassOf>
  1117 + <rdfs:comment>A Variable (Class: Variable) constitutes a super class to the following classes: ThingProperty, OperationInput, OperationOutput, OperationState, InputDataPoint, OutputDataPoint, SimpleTypeVariable. Its members are entities that store some data (e.g. integers, text, or structured data) that can change over time.
  1118 +These data of the Variable usually describe some real-world Aspects (e.g. a temperature) and can have MetaData (e.g. units, precision..)</rdfs:comment>
  1119 + </Class>
  1120 +</rdf:RDF>
  1121 +
  1122 +
  1123 +
  1124 +<!-- Generated by the OWL API (version 3.5.1) http://owlapi.sourceforge.net -->
  1125 +
... ...