Commit 0d2d1944 authored by Joerg Swetina's avatar Joerg Swetina

Version 3.1.0

parent f1334446
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY base_ontology "http://www.onem2m.org/ontology/Base_Ontology/base_ontology#" >
]>
<rdf:RDF xmlns="http://www.w3.org/2002/07/owl#"
xml:base="http://www.w3.org/2002/07/owl"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:base_ontology="http://www.onem2m.org/ontology/Base_Ontology/base_ontology#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<Ontology rdf:about="http://www.onem2m.org/ontology/Base_Ontology/base_ontology">
<rdfs:comment>This file contains the Base Ontology of oneM2M as specified in TS-0012
=========================================
Copyright Notification
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.
This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of any patent rights.
The oneM2M Partners assume no responsibility for errors or omissions in this document.
(c) 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). All rights reserved.
Notice of Disclaimer &amp; Limitation of Liability
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.
No recommendation as to products or vendors is made or should be implied.
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.
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.
oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
=========================================</rdfs:comment>
<versionIRI rdf:resource="http://www.onem2m.org/ontology/Base_Ontology/base_ontology-v3_1_0"/>
</Ontology>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Annotation properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#resourceDescriptorLink -->
<AnnotationProperty rdf:about="&base_ontology;resourceDescriptorLink">
<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>
<rdfs:range rdf:resource="&xsd;anyURI"/>
<rdfs:domain rdf:resource="&owl;Thing"/>
</AnnotationProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#consistsOf -->
<ObjectProperty rdf:about="&base_ontology;consistsOf">
<rdfs:comment>A Device can consist of (i.e. be composed) of several (sub-) Devices</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;Device"/>
<rdfs:range rdf:resource="&base_ontology;Device"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#describes -->
<ObjectProperty rdf:about="&base_ontology;describes">
<rdfs:comment>A Variable describes an Aspect (a quality or kind)</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;Aspect"/>
<rdfs:domain rdf:resource="&base_ontology;Variable"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#exposesCommand -->
<ObjectProperty rdf:about="&base_ontology;exposesCommand">
<rdfs:comment>A –machine interpretable- Operation or an Input/OutputDataPoint of a Service exposes a –human understandable- Command to a network</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;Command"/>
<rdfs:domain rdf:resource="&base_ontology;Operation"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#exposesFunction -->
<ObjectProperty rdf:about="&base_ontology;exposesFunction">
<rdfs:comment>A Service exposes a Functionality to the network and makes it discoverable, registerable and remotely controllable in the network</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;Function"/>
<rdfs:domain rdf:resource="&base_ontology;Service"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasCommand -->
<ObjectProperty rdf:about="&base_ontology;hasCommand">
<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>
<rdfs:range rdf:resource="&base_ontology;Command"/>
<rdfs:domain rdf:resource="&base_ontology;Function"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasFunction -->
<ObjectProperty rdf:about="&base_ontology;hasFunction">
<rdfs:comment>In order to accomplish its task, a Device performs one or more Functionalities</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;Device"/>
<rdfs:range rdf:resource="&base_ontology;Function"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasInput -->
<ObjectProperty rdf:about="&base_ontology;hasInput">
<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>
<rdfs:range rdf:resource="&base_ontology;OperationInput"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Command"/>
<rdf:Description rdf:about="&base_ontology;Operation"/>
</unionOf>
</Class>
</rdfs:domain>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasInputDataPoint -->
<ObjectProperty rdf:about="&base_ontology;hasInputDataPoint">
<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.
- An InputDataPoint is a persistent resource</rdfs:comment>
<rdfs:comment>Note:
If an InputDataPoint is mandatory for a Service or Operation then
the cardinality of hasInputDataPoint must be - min 1.</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;InputDataPoint"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Operation"/>
<rdf:Description rdf:about="&base_ontology;Service"/>
</unionOf>
</Class>
</rdfs:domain>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasMetaData -->
<ObjectProperty rdf:about="&base_ontology;hasMetaData">
<rdfs:comment>A Value of a Thing can have MetaData (like units, precision-ranges).</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;MetaData"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Aspect"/>
<rdf:Description rdf:about="&base_ontology;Variable"/>
</unionOf>
</Class>
</rdfs:domain>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOperation -->
<ObjectProperty rdf:about="&base_ontology;hasOperation">
<rdfs:comment>Note:
If an Operation is mandatory for a Service then
the cardinality of hasOperation must be - min 1.</rdfs:comment>
<rdfs:comment>A Service communicates by means of Operations over the network to transmit data to/from other devices</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;Operation"/>
<rdfs:domain rdf:resource="&base_ontology;Service"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOperationState -->
<ObjectProperty rdf:about="&base_ontology;hasOperationState">
<rdfs:comment>An Operation may have an OperationState that is exposed</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;Operation"/>
<rdfs:range rdf:resource="&base_ontology;OperationState"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOutput -->
<ObjectProperty rdf:about="&base_ontology;hasOutput">
<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>
<rdfs:range rdf:resource="&base_ontology;OperationOutput"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Command"/>
<rdf:Description rdf:about="&base_ontology;Operation"/>
</unionOf>
</Class>
</rdfs:domain>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasOutputDataPoint -->
<ObjectProperty rdf:about="&base_ontology;hasOutputDataPoint">
<rdfs:comment>Note:
If an OutputDataPoint is mandatory for a Service or Operation then
the cardinality of hasOutputDataPoint must be - min 1.</rdfs:comment>
<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.
- An OutputDataPoint is a persistent resource</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;OutputDataPoint"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Operation"/>
<rdf:Description rdf:about="&base_ontology;Service"/>
</unionOf>
</Class>
</rdfs:domain>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasService -->
<ObjectProperty rdf:about="&base_ontology;hasService">
<rdfs:comment>The Functionalities of a Device are exposed in the network as Services of the Device</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;Device"/>
<rdfs:range rdf:resource="&base_ontology;Service"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasSubService -->
<ObjectProperty rdf:about="&base_ontology;hasSubService">
<rdfs:comment>A Service may be composed of smaller, independent (sub)Services, e.g. re-usable servicemodules</rdfs:comment>
<rdfs:comment>Note:
If an Service constist of at least one sub-Service then
the cardinality of hasSubService must be - min 1.</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;Service"/>
<rdfs:range rdf:resource="&base_ontology;Service"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasSubStructure -->
<ObjectProperty rdf:about="&base_ontology;hasSubStructure">
<rdfs:comment>A structured Variable can be composed of (sub-)Variables</rdfs:comment>
<rdfs:range rdf:resource="&base_ontology;Variable"/>
<rdfs:domain rdf:resource="&base_ontology;Variable"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingProperty -->
<ObjectProperty rdf:about="&base_ontology;hasThingProperty">
<rdfs:isDefinedBy>A Thing may have properties that can be described by Values</rdfs:isDefinedBy>
<rdfs:domain rdf:resource="&base_ontology;Thing"/>
<rdfs:range rdf:resource="&base_ontology;ThingProperty"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingRelation -->
<ObjectProperty rdf:about="&base_ontology;hasThingRelation">
<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>
<rdfs:range rdf:resource="&base_ontology;Thing"/>
<rdfs:domain rdf:resource="&base_ontology;Thing"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#isPartOf -->
<ObjectProperty rdf:about="&base_ontology;isPartOf">
<rdfs:isDefinedBy>An InterworkedDevice constitutes a part of an AreaNetwork</rdfs:isDefinedBy>
<rdfs:range rdf:resource="&base_ontology;AreaNetwork"/>
<rdfs:domain rdf:resource="&base_ontology;InterworkedDevice"/>
</ObjectProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#refersTo -->
<ObjectProperty rdf:about="&base_ontology;refersTo">
<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.
e.g. a temperature sensor would refer to the Aspect &quot;Temperature&quot; that it measures</rdfs:isDefinedBy>
<rdfs:range rdf:resource="&base_ontology;Aspect"/>
<rdfs:domain rdf:resource="&base_ontology;Function"/>
</ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Data properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction">
<rdfs:comment>This Data Property specifies the restrictions on the data type of the SimpleTypeVariable.
The Data Property &quot;hasDataRestriction&quot; shall always be sub-classed</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_langRange -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_langRange">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_length -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_length">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxExclusive -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxExclusive">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxInclusive -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxInclusive">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_maxLength -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_maxLength">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minExclusive -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minExclusive">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minInclusive -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minInclusive">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_minLength -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_minLength">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataRestriction_pattern -->
<DatatypeProperty rdf:about="&base_ontology;hasDataRestriction_pattern">
<rdfs:subPropertyOf rdf:resource="&base_ontology;hasDataRestriction"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasDataType -->
<DatatypeProperty rdf:about="&base_ontology;hasDataType">
<rdfs:comment>This Data Property specifies the data type of the SimpleTypeVariable as text string</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
<rdfs:range>
<rdfs:Datatype>
<oneOf>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">owl:rational </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">owl:real </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">rdf:PlainLiteral</rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">rdf:XMLLiteral</rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:NCName </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:NMTOKEN </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:Name </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:anyURI</rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:base64Binary </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:boolean</rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:byte </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:dateTime </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:dateTimeStamp </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:decimal </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:hexBinary </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:int </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:integer </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:language </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:long </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:negativeInteger </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:nonNegativeInteger </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:nonPositiveInteger </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:normalizedString </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:positiveInteger </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:short </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:string </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:token </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:unsignedByte </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:unsignedInt </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:unsignedLong </rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;string">xsd:unsignedShort </rdf:first>
<rdf:rest rdf:resource="&rdf;nil"/>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</oneOf>
</rdfs:Datatype>
</rdfs:range>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasThingAnnotation -->
<DatatypeProperty rdf:about="&base_ontology;hasThingAnnotation">
<rdfs:comment>This data property contains a description of a Thing.
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
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>
<rdfs:domain rdf:resource="&base_ontology;Thing"/>
<rdfs:range rdf:resource="&rdfs;Literal"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#hasValue -->
<DatatypeProperty rdf:about="&base_ontology;hasValue">
<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).
- Data properties &quot;hasValue&quot; and &quot;oneM2MTargetURI&quot; are mutually exclusive. Only one of the two shall be instantiated.</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
<rdfs:range rdf:resource="&rdfs;Literal"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyCommunicationProtocol -->
<DatatypeProperty rdf:about="&base_ontology;netTechnologyCommunicationProtocol">
<rdfs:comment>Identification of a communication protocol (e.g. ZigBee_1_0)</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyPhysicalStandard -->
<DatatypeProperty rdf:about="&base_ontology;netTechnologyPhysicalStandard">
<rdfs:comment>Identification of the physical properties of a Area Network technology (e.g. IEEE_802_15_4_2003_2_4GHz).</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#netTechnologyProfile -->
<DatatypeProperty rdf:about="&base_ontology;netTechnologyProfile">
<rdfs:comment>Identification of a profile (e.g. ZigBee_HA) of a Area Network technology.</rdfs:comment>
<rdfs:domain rdf:resource="&base_ontology;AreaNetwork"/>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MAttribute -->
<DatatypeProperty rdf:about="&base_ontology;oneM2MAttribute">
<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
- 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>
<rdfs:domain rdf:resource="&base_ontology;SimpleTypeVariable"/>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MMethod -->
<DatatypeProperty rdf:about="&base_ontology;oneM2MMethod">
<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.
- 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
- 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
- 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>
<rdfs:range rdf:resource="&rdf;PlainLiteral"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Operation"/>
<rdf:Description rdf:about="&base_ontology;Variable"/>
</unionOf>
</Class>
</rdfs:domain>
</DatatypeProperty>
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#oneM2MTargetURI -->
<DatatypeProperty rdf:about="&base_ontology;oneM2MTargetURI">
<rdfs:comment>oneM2MTargetURI (range data type: rdfs: Literal)
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.
That address could be e.g.
- 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>
<rdfs:range rdf:resource="&rdfs;Literal"/>
<rdfs:domain>
<Class>
<unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&base_ontology;Operation"/>
<rdf:Description rdf:about="&base_ontology;Variable"/>
</unionOf>
</Class>
</rdfs:domain>
</DatatypeProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.onem2m.org/ontology/Base_Ontology/base_ontology#AreaNetwork -->
<Class rdf:about="&base_ontology;AreaNetwork">
<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>
</Class>