Abstract
The Delivery Context Ontology provides a formal model of the characteristics of the environment in which devices interact with the Web or other services. The delivery context includes the characteristics of the device, the software used to access the service and the network providing the connection among others.
The delivery context is an important source of information that can be used to adapt materials to make them useable on a wide range of different devices with different capabilities.
The ontology is formally specified in the Web Ontology Language [OWL]. This document describes the ontology and gives details of each property that it contains.
The core, normative sections and examples of this document are generated automatically from the ontology itself.
1 Introduction
The Delivery Context Ontology provides a formal model of the characteristics of the environment in which devices interact with the Web or other services. The delivery context includes the characteristics of the device, the software used to access the service and the network providing the connection among others.
The delivery context is an important source of information that can be used to adapt materials to make them useable on a wide range of different devices with different capabilities.
1.1 Definition of the Ontology
The ontology is formally specified in OWL[OWL]. The core, normative sections and examples of this document are generated automatically from the ontology itself.
The ontology conforms to the OWL-DL expressivity. This allows it to be used within appropriately written reasoning systems.
1.1.1 Disjoint Classes
The ontology contains a large number of disjoint classes. OWL-DL requires explicit definition of each disjoint relationship between classes. The number of such definitions becomes unmanageably large in ontololgies with a large number of classes.
Fortunately, there is an alternative mechanism for ensuring that classes are considered disjoint, without requiring the use of explicit statements. The mechanism relies on each class including a property that has a unique value. In this ontology, the property used is called deliveryContextEntityName. Each class derived from DeliveryContextEntity includes this property. Each class has a unique value for this property. The mechanism is referenced in the OWL Guide[OWL] in the discussion on disjoint classes. An illustration of the technique appears in [OWL-Test] in the section on Positive Entailment Test.
1.2 Reading the Specification
1.2.1.1 Normative and Informative Parts
The normative and informative parts of this specification are identified
by use of labels within various sections. Generally, everything in the
specification is considered to be normative, apart from the
examples.
1.2.1.2 Normative Language for Conformance Requirements
Individual conformance requirements or testable statements are identified
by the use of specific key words.
In particular, the key words must, must not,
required, shall, shall not,
should, should not,
recommended, may, and optional in
this specification are to be interpreted as described in [IETF RFC 2119].
1.3 Documentation Conventions
This section describes the structure and layout of the sections that document the ontology.
The delivery context is essentially hierarchical. The hierarchy is defined in B The Paths to the Characteristics.
Properties are associated with classes within the ontology.
Each top level class is documented in its own chapter. Subclasses are documented within the chapter for their superclass.
Cross references within this document link properties, classes and examples of their use.
1.3.1 Reading the Property Tables
Each class in the ontology is associated with a set of properties. These properties are defined in tables in the appropriate section of the specification. Each row in a table defines a single property in terms of a number of fields. The fields used in these tables are described as follows:
- Name
This field contains the formal name of the property within the class.
- Type
This field contains the type of the property. Datatype properties have types that are not themselves classes. Examples include xsd:int, xsd:boolean, xsd:string and xsd:float. Object properties have types that are classes. Usually these classes are themselves defined in the ontology.
- Description
This field contains a description of the property.
- Restriction(s)
This field contains restrictions about the property, including:
Cardinality of the property. The number of occurences of the property within the class is shown
as an expression. If there is no expression it means that the property can have any number of instances, including 0.
For example, the expression ≥ 0 and ≤ 1 indicates that a property is optional and if defined
can only occur one time i.e. can only have one value.
It's cardinality is 0 or 1. Similarly, the expression =1 indicates that a property always
occurs exactly once.
Values that apply across every instance of a class.
Some property values are fixed for every instance of a class. Where this is the case, the value is prefixed by the phrase Class Value(s):. For example, every instance of the class Meters, which represents a physical length in meters, has a unitName property with the value "meter".
Some properties can hold values from a specific, predefined set. Where this is the case is prefixed by the phrase Values of:. For example, the Orientation class, which represents the orientation of features such as displays or cameras, has an orientationValue property which can take only the values 0, 90, 180 or 270.
If the property is functional i.e. its cardinality can only be zero or one
(≥ 0 and ≤ 1). In other words if a functional property has more than one value an OWL reasoner will
treat those values as the same instance. Where this is the case,
the value is prefixed by the phrase Functional
- Subproperty(ies)
This field defines the subproperties of a property.
1.3.2 Reading the Example Tables
Examples are given for specific classes in the specification. The associated tables contain one or more example classes, complete with values for each of their properties. The fields used in these tables are described as follows:
- Example Instance
This field contains the identification of the instance that provides the example.
- Property Name
This field contains the formal name of the property whose value is shown as part of the example.
- Type
This field contains the type of the property in the example. Datatype properties have types that are not themselves classes. Examples include xsd:int, xsd:boolean, xsd:string and xsd:float. Object properties have types that are classes. Usually these classes are themselves defined in the ontology.
- Value(s)
This field contains the value(s) of the property. Where a property has a cardinality of >1, multiple values may be shown in the example.
1.4 Editorial Notes
| Editorial note: Rhys Lewis | 16/8/2007 |
| The initial set of properties for the ontology were modelled on those in UAProf version 2. Subsequent discussion has enriched the set of properties currently defined. A number of groups are in the process of creating sets of properties for inclusion in the ontology. As a result it is likely that the properties will change. It's likely that the structure of the ontontology will change in the light of new properties being added. Readers should not assume that this version represents any concensus about the content or the structure of the ontology. It does, however, represent a starting point for discussion. It also illustrates a number of basic features that such an ontology needs to provide. It seems likely that the overall structure and approach is likely to prove appropriate. |
| Editorial note: Jose Manuel Cantera | 03/01/2008 |
| The mechanism used for representing units is still under discussion within the Working Group. It is very likely that it will be revised. |
| Editorial note: Jose Manuel Cantera | 03/01/2008 |
| At the time of publication of this draft the Working Group is evaluating the possibility of splitting the ontology
in different modules in order to improve the maintainability of the specification. |
| Editorial note: Jose Manuel Cantera | 03/01/2008 |
| The Working Group is studying the possibility of publishing an additional WG Note with diagrams and other
that will help in understanding how the ontology works. |
| Editorial note: Jose Manuel Cantera | 03/01/2008 |
| The specification will need to reference some normative documents to clarify what is exactly the
intended meaning of some of the classes and properties. |
| Editorial note: Jose Manuel Cantera | 03/01/2008 |
| The example instances provided so far are considered non normative. However, the Working
Group is currently discussing if some of these instances should be made normative. |
2 Delivery Context
This class represents the set of characteristics that describes the context in which materials are exchanged between the Web and a device.
Properties of the Delivery Context Class| Name | Type | Description | Restriction(s) |
|---|
| audioFormatSupport | | The audio support of a delivery context entity | |
| device | | This property represents the device associated with the delivery context. | |
| environment | | The environment associated to this delivery context | |
| imageFormatSupport | | The image support of a delivery context entity | |
| locationProviderSupport | | This is the location provider support of the Delivery Context | |
| pageMarkupSupport | | This property defines the page markup supported by this browser. | |
| usableDisplayPixelsX | | The typical number of pixels in the X direction of the display which can be used within a delivery context. This may be less than the total number available due to the presence of additional items on the display. | |
| usableDisplayPixelsY | | The typical number of pixels in the Y direction of the display which can be used within a delivery context. This may be less than the total number available due to the presence of additional items on the display. | |
| user | | The user component of a delivery context | |
| videoFormatSupport | | The video support of a delivery context entity | |
Delivery Context Examples
3 Delivery Context Environment Entity
This class represents a delivery context environment entity
3.1 Delivery Context Location Entity
This class reprensents the set of all delivery context entities that has to do with location
3.1.2 Geographical Coordinates
This class represents geographical coordinates that allow to locate precisely a point on the Earth surface
Properties of the Geographical Coordinates Class| Name | Type | Description | Restriction(s) |
|---|
| datum |
xsd:string | The datum that express the reference of the coordinates | |
| geoReferenceSystem | | This property represents the reference system in which are expressed the geographical coordinates | |
3.1.2.1 UTM Coordinates
This class represents UTM coordinates
Properties of the UTM Coordinates Class| Name | Type | Description | Restriction(s) |
|---|
| datum |
xsd:string | The datum that express the reference of the coordinates | |
| easting |
xsd:float | The easting (x) component of the UTM coordinates measured in metres | |
| geoReferenceSystem | | This property represents the reference system in which are expressed the geographical coordinates | |
| latitudeZone |
xsd:string | The UTM system segments each longitude zone into 20 latitude zones. Each latitude zone is 8 degrees high, and is lettered starting from "C" at 80° S, increasing up the English alphabet until "X", omitting the letters "I" and "O" (because of their similarity to the digits one and zero). | |
| longitudeZone |
xsd:int | The UTM system divides the surface of the Earth between 80° S latitude and 84° N latitude into 60 zones, each 6° of longitude in width and centered over a meridian of longitude. Zones are numbered from 1 to 60. Zone 1 is bounded by longitude 180° to 174° W and is centered on the 177th West meridian. Zone numbering increases in an easterly direction. | |
| northing |
xsd:float | The northing component of the UTM coordinates measured in metres | |
UTM Coordinates Examples
3.1.2.2 WGS84 Coordinates
This class represents WGS84 coordinates
Properties of the WGS84 Coordinates Class| Name | Type | Description | Restriction(s) |
|---|
| altitude |
xsd:float | The altitude as defined by the WGS84 coordinate system | |
| datum |
xsd:string | The datum that express the reference of the coordinates | | Functional | | Class value(s): |
|
| geoReferenceSystem | | This property represents the reference system in which are expressed the geographical coordinates | |
| latitude |
xsd:float | Latitude as defined by the WGS84 coordinate reference system | |
| longitude |
xsd:float | The longitude as defined by the WGS84 coordinate system | |
WGS84 Coordinates Examples
3.1.3 Location
This class represents all the location information about something
Properties of the Location Class| Name | Type | Description | Restriction(s) |
|---|
| currentPosition | | The current position that will need to be determined by the location provider | |
| lastKnownPosition | | The last known position as reported by the location provider | |
| locationTimestamp |
xsd:dateTime | A timestamp that indicates when it was performed the last location request to the location provider. The value of this property can be used to determine if applications need to ask about the last known position or the current position | |
Location Examples
3.1.4 Location Method
It represents an specific mechanism used to calculate the location of a thing
3.1.4.2 Assisted Method
Location method is assisted by the other party (Terminal assisted for Network based, Network assisted for terminal based)
Assisted Method Examples
3.1.4.3 Cell Id Method
Location method Cell-ID for cellular (in GSM, this is the same as CGI, Cell Global Identity).
Cell Id Method Examples
3.1.4.4 Network Based Method
Location method is of type network based. This means that the final location result is calculated in the network.
Network Based Method Examples
3.1.4.7 Terminal Based Method
Location method is of type terminal based. This means that the final location result is calculated in the terminal.
Terminal Based Method Examples
3.1.4.10 Unassisted Method
Location method is unassisted it does not need other party in order to obtain the location
Unassisted Method Examples
3.1.5 Location Provider
Represents an entity capable of providing location information
Properties of the Location Provider Class| Name | Type | Description | Restriction(s) |
|---|
| activeGeoCoordinateRS | | Indicates what is the active geographical coordinate system | |
| estimatedPosition | | The estimated position provided by a location provider | |
| horizontalAccuracy |
xsd:int | Stimate of the horizontal accuracy of the location in metres | |
| locationCostsMoney |
xsd:boolean | This property indicates whether the location provider has a cost for the user | |
| locationFeatures | | The location features supported by the location provider | |
| locationMethod | | The location method used by a LocationProvider for determining the current location associated to the delivery context | |
| supportedGeoCoordinateRS | | Indicates what are goegraphical coordinate systems supported by the location provider | |
| typicalResponseTime |
xsd:int | This property represents the typical response time in seconds of a location provider from the instant in which the location is requested to the moment in which the location is returned | |
| verticalAccuracy |
xsd:int | Stimate of the vertical accuracy of the location in metres | |
Location Provider Examples
3.1.7 Location Provider Support
This class represents location provider support
Properties of the Location Provider Support Class| Name | Type | Description | Restriction(s) |
|---|
| availableLocationProviders | | This property represents the LocationProviders that are currently available in the Delivery Context | |
| supportedLocationProviders | | This property is a list of the supported LocationProviders in a Delivery Context | |
Location Provider Support Examples
3.1.8 Place
This class represents all the information about the current location associated with the current Delivery Context
Place Examples
3.1.9 Point
This class represents a point on the Earth surface
Properties of the Point Class| Name | Type | Description | Restriction(s) | Subproperty(ies) |
|---|
| coordinates | | The coordinates of a point | | |
| utmCoordinates | | Coordinates of a point expressed in the UTM reference system | | |
| wgs84Coordinates | | Coordinates of a point expressed in the WGS84 reference system | | |
Point Examples
3.2 Network Entity
This class reprensents the set of all delivery context entities that have to do with the network aspect
3.2.1 Bearer Type
This class represents bearer types
Properties of the Bearer Type Class| Name | Type | Description | Restriction(s) |
|---|
| alternativeNames |
xsd:string | The alternative names of a Delivery Context Entity | |
| name |
xsd:string | The name of a delivery context entity | |
Bearer Type Examples
3.2.2 Mobile Network
A mobile network that supports several network bearers
Properties of the Mobile Network Class| Name | Type | Description | Restriction(s) |
|---|
| name |
xsd:string | The name of a delivery context entity | |
| networkIdentifier |
xsd:string | The identifier of a mobile network | |
Mobile Network Examples
3.2.3 Network Bearer
This class represents a network bearer in a delivery context.
Properties of the Network Bearer Class| Name | Type | Description | Restriction(s) |
|---|
| addressType |
xsd:string | This property identifies the type of address associated with a bearer. | |
| bearerNetwork | | The actual network of a NetworkBearer | |
| bearerType | | This property holds the type of the network bearer. | |
| networkMode | | The network operation characteristics of a network bearer | |
Network Bearer Examples
3.2.3.1 Available Network Bearer
A network bearer which is available i.e. has an associated network
Properties of the Available Network Bearer Class| Name | Type | Description | Restriction(s) |
|---|
| addressType |
xsd:string | This property identifies the type of address associated with a bearer. | |
| bearerNetwork | | The actual network of a NetworkBearer | |
| bearerType | | This property holds the type of the network bearer. | |
| networkMode | | The network operation characteristics of a network bearer | |
Available Network Bearer Examples
3.2.4 Network Environment
This class represents the network environment present in a delivery context
Properties of the Network Environment Class| Name | Type | Description | Restriction(s) |
|---|
| availableNetworkBearers | | The available network bearers in this environment | |
| cellIdentifier |
xsd:string | The id of the cell to which the device is interacting with in the mobile network | |
| operatingNetworkBearer | | The network bearer that it is operative in this delivery context | |
Network Environment Examples
3.2.5 Newtwork Mode
A mode of operation of a network which includes a network type and operation frequency bands
Properties of the Newtwork Mode Class| Name | Type | Description | Restriction(s) |
|---|
| networkType | | The type of network | |
| operationBands |
xsd:long | The frequencies of operation of a device in a network. Frequencies are expressed in Mhz | |
Newtwork Mode Examples
3.2.6 Network Support
This class represents the network in a delivery context
Properties of the Network Support Class| Name | Type | Description | Restriction(s) |
|---|
| activeNetworkBearer | | This property represents the currently active network bearer on a device | |
| homeNetwork | | The home network of a device | |
| supportedNetworkBearers | | This property holds the set of network bearers supported by the device. | |
| supportedNetworkModes | | The supported network modes of a device | |
Network Support Examples
3.2.7 Network Type
This class represents different network types
Properties of the Network Type Class| Name | Type | Description | Restriction(s) |
|---|
| alternativeNames |
xsd:string | The alternative names of a Delivery Context Entity | |
| name |
xsd:string | The name of a delivery context entity | |
Network Type Examples
4 Delivery Context Hardware Entity
This class represents a delivery context hardware entity
4.1 Aspect Ratio
This class represents an aspect ratio. The Aspect Ratio is ratio of the width, of some physical entity, to its height.
Properties of the Aspect Ratio Class| Name | Type | Description | Restriction(s) |
|---|
| aspectRatioHeightComponent |
xsd:positiveInteger | This is a value representing the height component of an aspect ratio. For example, for a 4:3 aspect ratio, this value would be 3. | |
| aspectRatioWidthComponent |
xsd:positiveInteger | This is a value representing the width component of an aspect ratio. For example, for a 4:3 aspect ratio, this value would be 4. | |
Aspect Ratio Examples
4.2 Battery
This class represents a battery in a device
Properties of the Battery Class| Name | Type | Description | Restriction(s) |
|---|
| batteryBeingCharged |
xsd:boolean | This property indicates whether the battery is currently being charged or not | |
| batteryCapacity | | The capacity of a battery, as an amount of electric charge that it can store. | |
| batteryLevel |
xsd:int | This property holds the percentage of the battery capacity that remains available. | |
Battery Examples
4.3 Bluetooth Profile
This class describes a specific Bluetooth profile used to support a particular user scenario.
Bluetooth Profile Examples
4.4 Bluetooth Support
This class represents Bluetooth support.
Properties of the Bluetooth Support Class| Name | Type | Description | Restriction(s) |
|---|
| activeBluetoothProfile | | This property represents a Bluetooth profile currently active on the device. | |
| bluetoothVersions |
xsd:string | This property represents the version of Bluetooth supported. | |
| supportedBluetoothProfiles | | This property defines the Bluetooth profiles supported by the device. | |
Bluetooth Support Examples
4.5 Camera
This class represents a camera in a device.
Properties of the Camera Class| Name | Type | Description | Restriction(s) |
|---|
| aspectRatio | | The aspect ratio associated with an entire display in its default orientation. | |
| cameraEnabled |
xsd:boolean | This property indicates whether or not the camera is currently enabled. | |
| cameraResolution |
xsd:int | This property represents the resolution of the camera in pixels | |
| imageFormatSupport | | The image support of a delivery context entity | |
| pixelAspectRatio | | The aspect ratio associated with a single pixel in the display. | |
| videoFormatSupport | | The video support of a delivery context entity | |
Camera Examples
4.6 Character Set
This class defines a specific character set officially identified by IANA.
Character Set Examples
4.7 CPU
This class describes a central processing unit associated with a device.
Properties of the CPU Class| Name | Type | Description | Restriction(s) |
|---|
| maximumCpuFrequency |
xsd:int | Processor maximum speed | |
| model |
xsd:string | The model identification assigned to the something by its vendor. | |
| vendor |
xsd:string | The name of the vendor who manufactures something | |
CPU Examples
4.8 Device Hardware
This class represents the hardware in a device
Properties of the Device Hardware Class| Name | Type | Description | Restriction(s) | Subproperty(ies) |
|---|
| batteries | | This property represents the batteries in a device | | |
| bluetoothSupport | | This property represents the support for Bluetooth available on the device. | | |
| builtInMemory | | This property represents the memory built into the device and which is not removable during normal operation. | | |
| cameras | | This property represents a camera associated with a device | | |
| display | | This property represents a display associated with a device. | | |
| extensionMemory | | This property identifies additional memory that is provided to a device, typically in the form of removable memory cards | | |
| inputCharacterSets | | This property defines the character sets supported by the device for input. | | |
| inputDevices | | The input mechanisms supported by a device | | |
| networkSupport | | This property represents the network support available on the device. | | |
| numberOfSoftKeys |
xsd:int | This property represents the number of input keys on the device whose function can be controlled programatically. | | |
| outputCharacterSets | | This property defines the character sets supported by the device for output. | | |
| primaryCamera | | The primary camera of the device | | |
| primaryCPU | | This class represents the main CPU for a device. | | |
| supportsAudioOutput |
xsd:boolean | This property defines whether or not the device supports the ability to output audio beyond the basic capability for supporting voice calls. | | |
| supportsVoiceRecognition |
xsd:boolean | This property specifies whether or not the device supports voice recognition. | | |
| textInputType | | This property specifies the text input type supported by the device. | | |
Device Hardware Examples
4.9 Display
This class represents a visual display on a device.
Properties of the Display Class| Name | Type | Description | Restriction(s) |
|---|
| aspectRatio | | The aspect ratio associated with an entire display in its default orientation. | |
| bitsPerPixel |
xsd:int | The number of bits of data held for each pixel of the display. | |
| height | | The total height of the display as a linear measure. | |
| orientationSupport | | This property represents the orientation support for the display | |
| pixelAspectRatio | | The aspect ratio associated with a single pixel in the display. | |
| proportionalDefaultFont |
xsd:boolean | This property specifies whether or not the display's default font is proportionally spaced. | |
| supportsColor |
xsd:boolean | This property defines whether or not a display supports color output. | |
| supportsImages |
xsd:boolean | This property specifies whether or not a display supports image output. | |
| totalDisplayPixelsX | | The total number of pixels in the X direction of the display. The X direction is the horizontal direction in the display's default orientation. | |
| totalDisplayPixelsY | | The total number of pixels in the Y direction of the display. The Y direction is the vertical direction in the display's default orientation. | |
| typicalDisplayCharactersX |
xsd:int | The typical number of characters that can be displayed in a single row on the device display. This is an estimate using the default font for the device. It is related to the UAProf ScreenSizeChar attribute. | |
| typicalDisplayCharactersY |
xsd:positiveInteger | The typical number of rows of characters that can be displayed on the device display. This is an estimate using the default font for the device. It is related to the UAProf ScreenSizeChar attribute. | |
| width | | The total width of something as a linear measure. | |
Display Examples
This class represents the set of the different input devices that can be available in a device
This class represents the means available on a device for pointing input.
Properties of the Pointing Input Type Class| Name | Type | Description | Restriction(s) |
|---|
| name |
xsd:string | The name of a delivery context entity | |
| pointingResolution | | This property represents the precision with which pointing can be carried out on a device. | |
Pointing Input Type Examples
4.11 Memory Unit
This class represents some memory used in a device. It might, for example, be built-in memory that is part of the device, or it might be removable memory on some form of storage card.
Properties of the Memory Unit Class| Name | Type | Description | Restriction(s) |
|---|
| availableMemorySize |
xsd:nonNegativeInteger | This property represents the amount of memory available for use, in bytes. | |
| removableMemory |
xsd:boolean | This property indicates whether or not the memory unit can be removed from the device by the user in normal operation. | |
| totalMemorySize |
xsd:nonNegativeInteger | This property represents the total size of the memory in bytes. | |
Memory Unit Examples
4.12 Orientation
This class represents the orientation of a 2 dimensional entity, such as a display, camera or page.
Properties of the Orientation Class| Name | |
|---|