Abstract
The Delivery
Context Ontology provides a formal model of the characteristics of the
environment in which devices interact with the Web. The delivery context
includes the characteristics of the device, the software used to access the
Web and the network providing the connection among others.
The delivery context is an important source of information that can be
used to adapt
materials from the Web 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 of this document are generated automatically
from the ontology itself.
Status of this Document
This section describes the status of this document at the time of its
publication. Other documents may supersede this document. A list of current
W3C publications and the latest revision of this technical report can be
found in the W3C technical reports index
at http://www.w3.org/TR/.
This is the first public Working Draft of a possible future W3C
Recommendation.
The purpose of the Delivery Context Ontology is to provide a formal model
for the delivery context which other specifications can reference
normatively. It is anticipated that work at W3C and in other standards
organisations will reference the ontology when needing formal definitions
associated with the delivery context.
Comments on this document may be sent to the public public-uwa@w3.org mailing list (archived
at http://lists.w3.org/Archives/Public/public-uwa/).
Publication as a Working Draft does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or
obsoleted by other documents at any time. It is inappropriate to cite this
document as other than work in progress.
This document is published as part of the W3C Ubiquitous Web
Applications Activity by the Ubiquitous Web Applications Working
Group. It is a deliverable as defined in the Charter of that group.
This document was produced by a group operating under the 5 February 2004
W3C Patent Policy. W3C maintains a public list of any
patent disclosures made in connection with the deliverables of the group;
that page also includes instructions for disclosing a patent. An individual
who has actual knowledge of a patent which the individual believes contains
Essential
Claim(s) must disclose the information in accordance with section
6 of the W3C Patent Policy.
1 Introduction
The Delivery
Context Ontology provides a formal model of the characteristics of the
environment in which devices interact with the Web. The delivery context
includes the characteristics of the device, the software used to access the
Web and the network providing the connection among others.
The delivery context is an important source of information that can be
used to adapt
materials from the Web 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 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.
| Editorial note:
Rhys |
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. |
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 38 The Paths to the
Characteristics. Despite the hierarchical nature of the delivery
context, every individual property has an unique name.
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.
- Occurs
This field defines the cardinality of the property. The number of
occurences of the property within the class is shown as an expression.
For example, the expression ≥ 0 and ≤ 1 indicates that
a property is optional. It's cardinality is 0 or 1. Similarly, the
expression =1 indicates that a property always occurs
exactly once.
- Value(s)
This field holds 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 shown in the Value(s) field is prefixed by
the phrase Class Value:. 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, the value shown in the Value(s) field is
prefixed by the phrase One 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.
- Alternate Names
This field defines the alternative names for the property.
Alternative names might be useful in different programming environments
for consistency with conventions.
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.
2 Image Type
This class represents a particular type of image, such as jpeg, gif or
png.
Properties of the Image Type Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| imageTypeColloquialName |
xsd:string |
The colloquial name for this type of
image. |
=1 |
|
| imageTypeColloquialName |
| image-type-colloquial-name |
|
| imageContentType |
xsd:string |
This is the MIME type associated with this
type of image. |
=1 |
|
| imageContentType |
| image-content-type |
|
2.1 Examples of the Image Type Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| Progressive JPEG |
imageTypeColloquialName |
xsd:string |
|
| imageContentType |
xsd:string |
|
| PNG |
imageTypeColloquialName |
xsd:string |
|
| imageContentType |
xsd:string |
|
| JPEG |
imageTypeColloquialName |
xsd:string |
|
| imageContentType |
xsd:string |
|
| GIF |
imageTypeColloquialName |
xsd:string |
|
| imageContentType |
xsd:string |
|
3 Device
This class represents a device in the delivery context
3.1 Examples of the Device Class
4 Delivery Context
This class represents the set of characteristics that describes the
context in which materials are exchanged between the Web and a device.
4.1 Examples of the Delivery Context
Class
5 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 |
Occurs |
Value(s) |
Alternate
Names |
| 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. |
=1 |
|
| aspectRatioWidthComponent |
| aspect-ratio-width-component |
|
| 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. |
=1 |
|
| aspectRatioHeightComponent |
| aspect-ratio-height-component |
|
5.1 Examples of the Aspect Ratio Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| AspectRatio_2_3 |
aspectRatioWidthComponent |
xsd:positiveInteger |
|
| aspectRatioHeightComponent |
xsd:positiveInteger |
|
| AspectRatio_1_1 |
aspectRatioWidthComponent |
xsd:positiveInteger |
|
| aspectRatioHeightComponent |
xsd:positiveInteger |
|
| AspectRatio_3_2 |
aspectRatioWidthComponent |
xsd:positiveInteger |
|
| aspectRatioHeightComponent |
xsd:positiveInteger |
|
6 Page Markup Support
Properties of the Page Markup Support Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| preferredPageMarkupLanguage |
PageMarkup |
This property represents the preferred page
markup language |
=1 |
|
| preferredPageMarkupLanguage |
| preferred-page-markup-language |
|
| supportedPageMarkupLanguages |
PageMarkup |
This property represents a set of page
markup languages that are supported. |
≥ 0 |
|
| supportedMarkupLanguages |
| supported-markup-languages |
|
6.1 Examples of the Page Markup Support
Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| PageMarkupSupport_SE1-P910 |
preferredPageMarkupLanguage |
PageMarkup |
| XHTML Mobile Profile 1.0
:SE-P910 |
|
| supportedPageMarkupLanguages |
PageMarkup |
| WML 1.3 :P910i |
| XHTML Mobile Profile 1.0
:SE-P910 |
|
| PageMarkupSupport_Op631-P910 |
preferredPageMarkupLanguage |
PageMarkup |
| XHTML Mobile Profile 1.0
:Op631-P910 |
|
| supportedPageMarkupLanguages |
PageMarkup |
| XHTML Mobile Profile 1.0
:Op631-P910 |
|
7 CPU
This class describes a central processing unit associated with a
device.
7.1 Examples of the CPU Class
8 Web Browser Support
This class represents browser support.
Properties of the Web Browser Support Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| availableWebBrowsers |
WebBrowser |
This property defines a web browser that is
available on the device |
≥ 0 |
|
| availableWebBrowsers |
| Available-web-browsers |
|
| activeWebBrowser |
WebBrowser |
This property defines the active Web
browser on the device |
=1 |
|
| activeWebBrowser |
| active-web-browser |
|
8.1 Examples of the Web Browser Support
Class
9 Image Support
This class represents image support.
Properties of the Image Support Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| preferredImageType |
ImageType |
The image type that is preferred for this
image support |
=1 |
|
| preferredImageType |
| preferred-image-type |
|
| supportedImageTypes |
ImageType |
The set of image types that are
supported. |
≥ 0 |
|
| supportedImageTypes |
| supported-image-types |
|
9.1 Examples of the Image Support Class
10 Web Browser
This class represents the Web Browser on a device.
Properties of the Web Browser Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| browserImageSupport |
ImageSupport |
This property defines the image support
provided by this browser |
=1 |
|
| browserImageSupport |
| browser-image-support |
|
| browserSupportsJavaApplets |
xsd:boolean |
This property specifies whether or not the
browser supports Java Applets. |
=1 |
|
| browserSupportsJavaApplets |
| browser-supports-java-applets |
|
| styleLanguages |
StyleLanguage |
This property defines the set of style
languages supported by this browser. |
≥ 0 |
|
| styleLanguages |
| style-languages |
|
| pageMarkupSupport |
PageMarkupSupport |
This property defines the page markup
supported by this browser. |
=1 |
|
| pageMarkupSupport |
| page-markup-support |
|
| webBrowserName |
xsd:string |
This property holds the name of the web
browser |
=1 |
|
| webBrowserName |
| web-browser-name |
|
| webBrowserVersion |
xsd:string |
This property holds the version of the web
browser |
=1 |
|
| webBrowserVersion |
| web-browser-vendor |
|
| browserUsableDisplayPixelsY |
PixelCount |
The typical number of pixels in the Y
direction of the display which can be used within the browser. This
may be less than the total number available due to the presence of
additional items on the display. |
=1 |
|
| browserUsableDisplayPixelsY |
| browser-usable-display-pixels-y |
|
| browserUsableDisplayPixelsX |
PixelCount |
The typical number of pixels in the X
direction of the display which can be used within the browser. This
may be less than the total number available due to the presence of
additional items on the display. |
=1 |
|
| browserUsableDisplayPixelsX |
| browser-usable-display-pixels-x |
|
| scriptLanguages |
ScriptLanguage |
This property defines the set of script
languages supported by this browser. |
≥ 0 |
|
| scriptLanguages |
| script-languagues |
|
| webBrowserVendor |
xsd:string |
This property holds the name of the vendor
of the browser |
=1 |
|
| webBrowserVendor |
| web-browser-vendor |
|
| browserSupportsCookies |
xsd:boolean |
This property defines whether or not the
browser supports cookies |
=1 |
|
| browserSupportsCookies |
| browser-supports-cookies |
|
10.1 Examples of the Web Browser Class
11 Script Language
This class represents a Script language
Properties of the Script Language Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| scriptLanguageVersion |
xsd:string |
The version of the script language |
=1 |
|
| scriptLanguageVersion |
| script-language-version |
|
| scriptLanguageName |
xsd:string |
The name of the script language |
=1 |
|
| scriptLanguageName |
| script-language-name |
|
11.1 Examples of the Script Language
Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| ECMAScript 1.2 |
scriptLanguageVersion |
xsd:string |
|
| scriptLanguageName |
xsd:string |
|
| WMLScript 1.2 |
scriptLanguageVersion |
xsd:string |
|
| scriptLanguageName |
xsd:string |
|
| WMLScript 1.3 |
scriptLanguageVersion |
xsd:string |
|
| scriptLanguageName |
xsd:string |
|
| JavaScript 1.1 |
scriptLanguageVersion |
xsd:string |
|
| scriptLanguageName |
xsd:string |
|
12 Style Language
This class represents a Style language
Properties of the Style Language Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| styleLanguageVersion |
xsd:string |
The version of the style language |
=1 |
|
| styleLanguageVersion |
| style-language-version |
|
| styleLanguageName |
xsd:string |
The name of the style language |
=1 |
|
| styleLanguageName |
| style-language-name |
|
12.1 Examples of the Style Language
Class
13 Operating System Support
This class represents operating system support.
13.1 Examples of the Operating
System Support Class
14 Text Input Type
This class represents the means available on a device for text input.
Properties of the Text Input Type Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| textInputTypeName |
xsd:string |
This is the property that holds the name of
the text input type associated with a device. |
=1 |
|
| textInputTypeName |
| text-input-type-name |
|
14.1 Examples of the Text Input Type
Class
15 Bluetooth Support
This class represents Bluetooth support.
Properties of the Bluetooth Support Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| bluetoothVersion |
xsd:string |
This property represents the version of
Bluetooth supported. |
=1 |
|
| bluetoothVersion |
| bluetooth-version |
|
| availableBluetoothProfiles |
BluetoothProfile |
This property defines the Bluetooth
profiles supported by the device. |
≥ 0 |
|
| availableBlueToothProfiles |
| available-bluetooth-profiles |
| UAProf:
BluetoothProfile |
|
| activeBluetoothProfile |
BluetoothProfile |
This property represents a Bluetooth
profile currently active on the device. |
=1 |
|
| activeBluetoothProfile |
| active-bluetooth-profile |
|
15.1 Examples of the Bluetooth Support
Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| Bluetooth_Sony_Ericsson_P910i |
bluetoothVersion |
xsd:string |
|
| availableBluetoothProfiles |
BluetoothProfile |
| BluetoothProfile_headSet |
| BluetoothProfile_objectPush |
| BluetoothProfile_genericObjExch |
| BluetoothProfile_serialPort |
| BluetoothProfile_genericAccess |
| BluetoothProfile_fileTransfer |
| BluetoothProfile_dialup |
|
| activeBluetoothProfile |
BluetoothProfile |
|
16 Network Support
This class represents the network in a delivery context
Properties of the Network Support Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| supportedNetworkBearers |
NetworkBearer |
This property holds the set of network
bearers supported by the device. |
≥ 0 |
|
| supportedNetworkBearers |
| supported-network-bearers |
| UAProf:
SupportedBearers |
|
| activeNetworkBearer |
NetworkBearer |
This property represents the currently
active network bearer on a device |
≥ 0 |
|
| activeNetworkBearer |
| active-network-bearer |
| UAProf:
CurrentBearerService |
|
16.1 Examples of the Network Support
Class
17 Operating System
An operating system
Properties of the Operating System Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| operatingSystemVendor |
xsd:string |
The name of the vendor who supplies this
operating system |
=1 |
|
| operatingSystemVendor |
| operating-system-vendor |
|
| operatingSystemName |
xsd:string |
The name of the operating system |
=1 |
|
| operatingSystemName |
| Operating-system-name |
|
| operatingSystemVersion |
xsd:string |
The version of the operating system |
=1 |
|
| operatingSystemVersion |
| operating-system-version |
|
17.1 Examples of the Operating System
Class
This class represents the means available on a device for pointing
input.
Properties of the Pointing Input Type Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| pointingTypeName |
xsd:string |
This property represents the name of a
pointing device type associated with a device. |
=1 |
|
| pointingTypeName |
| pointing-type-name |
|
| pointingResolution |
PointingResolution |
This property represents the precision with
which pointing can be carried out on a device. |
=1 |
|
| pointingResolution |
| pointing-resolution |
| UAProf:
PointingResolution |
|
19 Pixel Count
This class represents a count of pixels associated with a display or
camera. It might, for example, be used to represent the width of a display
device or camera in pixels. Because this value may be variable, this class
captures a number of individual properties associated with such a count.
Properties of the Pixel Count Class
| Name |
Type |
Description |
Occurs |
Value(s) |
Alternate
Names |
| defaultPixelCount |
xsd:nonNegativeInteger |
The default value of the number of
pixels |
=1 |
|
| defaultPixelCount |
| default-pixel-count |
|
| minimumPixelCount |
xsd:nonNegativeInteger |
The minimum value of the number pixels. |
=1 |
|
| minimumPixelCount |
| minimum-pixel-count |
|
| maximumPixelCount |
xsd:nonNegativeInteger |
The maximum value of the number of
pixels |
=1 |
|
| maximumPixelCount |
| maximum-pixel-count |
|
| pixelCount |
xsd:nonNegativeInteger |
The current value of the number of
pixels |
=1 |
|
| currentPixelCount |
| current-pixel-count |
|
19.1 Examples of the Pixel Count Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| PixelCount_P910i_X |
defaultPixelCount |
xsd:nonNegativeInteger |
|
| minimumPixelCount |
xsd:nonNegativeInteger |
|
| maximumPixelCount |
xsd:nonNegativeInteger |
|
| pixelCount |
xsd:nonNegativeInteger |
|
| PixelCount_P910i_Total_Y |
defaultPixelCount |
xsd:nonNegativeInteger |
|
| minimumPixelCount |
xsd:nonNegativeInteger |
|
| maximumPixelCount |
xsd:nonNegativeInteger |
|
| PixelCount_p910i_Usable_Y |
defaultPixelCount |
xsd:nonNegativeInteger |
|
| minimumPixelCount |
xsd:nonNegativeInteger |
|
| maximumPixelCount |
xsd:nonNegativeInteger |
|
20 Bluetooth Profile
This class describes a specific Bluetooth profile used to support a
particular user scenario.
20.1 Examples of the Bluetooth Profile
Class
| Example
Instance |
Property Name |
Type |
Value(s) |
| BluetoothProfile_dialup |
bluetoothProfileName |
xsd:string |
|
| BluetoothProfile_fileTransfer |
bluetoothProfileName |
xsd:string |
|
| BluetoothProfile_genericObjExch |
bluetoothProfileName |
xsd:string |
|
| BluetoothProfile_objectPush |
bluetoothProfileName |
|