W3C

Delivery Context Ontology

W3C Working Draft 16 June 2009

This version:
http://www.w3.org/TR/2009/WD-dcontology-20090616/
Latest version:
http://www.w3.org/TR/dcontology/
Previous version:
http://www.w3.org/TR/2008/WD-dcontology-20080415/
Editors:
José Manuel Cantera Fonseca, Telefónica I+D
Rhys Lewis, then at Volantis Systems Ltd.

This document is also available as a non-normative single HTML file.


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 exploited to create context-aware applications, thus providing a compelling user experience.

The ontology is formally specified in the Web Ontology Language [OWL]. This document describes the ontology and gives details of each term that it contains.

The normative definition of the ontology terms is generated automatically from the OWL file.

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/.

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 is a Last Call Working Draft of a possible future W3C Recommendation, following the Second Public working draft published on April 15th 2008 (see the changes since the previous publication). As such the UWA WG considers the present draft sufficiently stable and mature. Nonetheless, it is expected to be complementary to the work being done on other aspects of the Delivery Context, namely Personalization. The Working Group maintains a Frequently Asked Questions document about the DCO, which may aid the reader.

Comments on this Last Call Working Draft are accepted until 7 July 2009, please send comments to the public public-uwa@w3.org mailing list (archived at http://lists.w3.org/Archives/Public/public-uwa/).

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.

Table of Contents

1 Introduction
    1.1 Overview
    1.2 Motivation
    1.3 Understanding the Delivery Context Ontology
    1.4 Scope
2 Reading the Recommendation
    2.1 Normative and Informative Parts
    2.2 Normative Language for Conformance Requirements
    2.3 CURIE Prefix Bindings
    2.4 Reading Term Descriptions
        2.4.1 Class Description Specific Fields
        2.4.2 Property Description Specific Fields
        2.4.3 Instance Description Specific Fields
    2.5 Class Disjointness
    2.6 Normative Instance Disjointness
3 The Ontology
    3.1 Definition
    3.2 URI
    3.3 Namespaces
    3.4 Term Groups
        3.4.1 Common
        3.4.3 Hardware
        3.4.4 Java
        3.4.5 Location
        3.4.2 Main
        3.4.6 Network
        3.4.7 Push
        3.4.8 Software
        3.4.9 Web Browsing
    3.5 Measurement Units Representation
    3.6 Instances
4 Conformance

Appendices

A Class Hierarchy Summary
B Property Hierarchy Summary
C Summary of Changes since the Second Public Working Draft
    C.1 Deleted Classes
    C.2 Added Classes
    C.3 Deleted Properties
    C.4 Added Properties
D Ontology Resources (Non Normative)
E Acknowledgements (Non Normative)

Normative References
Informative References
Term Index

1 Introduction

This section is informative.

1.1 Overview

The DeliveryContext 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 Ontology captures the Context of Use in which a user is interacting with a particular computing platform in a given physical environment in order to achieve an interactive task.

The Ontology is formally specified in the Web Ontology Language [OWL]. It defines a normative vocabulary of terms (classes, properties and instances) that models the different Properties, Aspects and Components (Aspect instances) of a Delivery Context.

1.2 Motivation

The Delivery Context is an important source of information that can be exploited to create context-aware applications, thus providing a compelling user experience. Particularly, it can be used to adapt web content & applications to make them useable on a wide range of different devices with different capabilities.

The Ontology represents a normative, common understanding about the Delivery Context. As such it can be used as a normative reference to create specific Vocabularies, while at the same time enabling the interoperability between them.

The Delivery Context Ontology itself constitutes a vocabulary of terms and can be used in conjunction with generic APIs for retrieving Context Properties, such as [DCCI].

1.3 Understanding the Delivery Context Ontology

It is recommended to be familiar with RDF, OWL and ontologies in general before reading this specification. The [RDF-Primer] and the [OWL-Guide] are two documents which might be helpful for this purpose.

The model represented by the ontology is essentially hierarchical. At the top of the hierarchy is the DeliveryContext class, which gives access to the current UserAgent, NetworkBearer, Device, RuntimeEnvironment and pysical Environment, which are the essential elements of any Delivery Context. Each of these elements are represented by classes which have different properties that model their specific characteristics and Components.

There are a number of generic properties which domain and / or range has been left deliberately open in order to maximize reuse and genericity. For example, the Object Property common:supports, is devoted to convey what it is supported (formats, fonts, features, etc.) by any Delivery Context Entity. As such it can be used with both entities that are currently modelled within the Ontology or new entities that might appear in the future (Ontology extensions).

The UWA Working Group intends to publish tutorial materials related to this specification, containing at least:

  • Diagrams that will facilitate the comprehension of the Ontology Terms and its relationships.
  • Example instances that will illustrate how the Ontology works in practice.
  • Guidelines for creating Vocabularies based on the Ontology.
  • Guidelines for extending the Ontology with new terms.
  • Examples that will illustrate how to obtain derived Properties. For instance, how to determine whether a mobile phone is in roaming or not.
  • Examples of use of the Ontology in conjunction with Context APIs, particularly the [DCCI].
  • Examples of use of the Ontology in combination with other widely-used Ontologies, such as [FOAF].

1.4 Scope

The Delivery Context Ontology is aimed at providing a formal and universally accepted model of the Delivery Context. As such it is not intended to model properties which can be application or domain dependent. For instance, there are a number of properties that can be derived from the properties explicitly modelled by the Ontology.

On the other hand it is noteworthy to remark that certain facets of the Context of Use are not covered by this specification. Specific examples are the User Context or a full description of the physical environment (temperature, noise, light ...). It is expected that such descriptions will be included in future versions of this specification.

2 Reading the Recommendation

This section is normative.

2.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.

2.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].

2.3 CURIE Prefix Bindings

This specification makes use of [CURIEs] as an abbreviated syntax for expressing URIs. The following CURIE prefix bindings are defined:

CURIE Prefix Value
common http://www.w3.org/2007/uwa/context/common.owl#
dcn http://www.w3.org/2007/uwa/context/deliveryContext.owl#
hard http://www.w3.org/2007/uwa/context/hardware.owl#
java http://www.w3.org/2007/uwa/context/java.owl#
loc http://www.w3.org/2007/uwa/context/location.owl#
net http://www.w3.org/2007/uwa/context/network.owl#
push http://www.w3.org/2007/uwa/context/push.owl#
soft http://www.w3.org/2007/uwa/context/software.owl#
web http://www.w3.org/2007/uwa/context/web.owl#
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs http://www.w3.org/2000/01/rdf-schema#
xsd http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#
owl http://www.w3.org/2002/07/owl#

2.4 Reading Term Descriptions

Each term (class, property, normative instance) is documented in an specific section within this document. In addition there are cross references that link related terms between them.

A term description is composed by the following fields:

  • The term's Local Name, conveyed in the title of the corresponding section. Class local names start with a capital letter. Property local names start with a lower case letter. Normative instance local names start with a prefix that it is equal to the local name of their class.
  • A full URI (represented as a [CURIE]) that univoquely identifies the term.
  • A human-readable term description composed by label (rdfs:label) and full text (rdfs:comment).
  • A set of fields that give additional details about the term in question. All term descriptions may contain:
normative-references

It contains a list of normative references that describe precisely the intended meaning of the ontology term.

informative-references

It is a list of informative references that clarifies the meaning of the ontology term.

2.4.1 Class Description Specific Fields

The fields used in a class description are described as follows:

sub-class-of

This field contains a list of all those ontology classes for which the described class is a subclass (rdfs:subClassOf axiom).

super-class-of

This field contains a list of all those ontology classes defined as a subclass (rdfs:subClassOf axiom) of the described class.

in-domain-of

This field contains a list of all those ontology properties whose domain includes the class.

in-range-of

This field contains a list of all those ontology properties whose range includes the class.

restrictions

This field contains the property restrictions for the class. Property restrictions are documented in accordance with the OWL Abstract Syntax.

normative-instances

This field is a list of CURIEs with the normative instances (if any) for the class.

2.4.2 Property Description Specific Fields

OWL Type

This field indicates the property type and characteristics.

domain

This field indicates the property domain. If it does not appear it means that the property domain can be any class (owl:thing).

range

This field denotes the property range. The range of a Datatype property is expressed in terms of an XML Schema datatype [XMLSCHEMA-2] or as a datarange, which enumerates the list of allowed property values. The range of an Object property is a list of classes. When the range does not appear it means that it can be anything.

sub-property-of

This field contains a list of all those ontology properties for which the described property is a subproperty (rdfs:subPropertyOf axiom).

super-property-of

This field contains a list of all those ontology properties defined as a subproperty of (rdfs:subPropertyOf axiom) the described property.

2.4.3 Instance Description Specific Fields

instance-of

This field is a list that represents the class membership of the instance.

property-values

This field is composed by a list that represents the property values (represented as RDF Typed Literals) that must have the described instance.

2.5 Class Disjointness

The disjointness between classes is detailed in specific sections. For compactness reasons the syntax used is the DisjointClasses axiom which allows to define sets of classes which are pairwise disjoint.

2.6 Normative Instance Disjointness

All the normative instances defined by this specification are pairwise disjoint.

3. The Ontology

3.1 Definition

This section is normative.

The ontology is formally specified in OWL [OWL]. The documentation of the different ontology terms has been automatically generated from the OWL file.

The ontology conforms to the OWL-DL expressivity. This allows it to be used within appropriately written reasoning systems.

3.2 URI

This section is normative.

The ontology URI is http://www.w3.org/2007/uwa/context/deliveryContext.owl .

3.3 Namespaces

This section is normative.

The table below describes the different namespace URIs defined by the Ontology. Namespaces allow to create groups of terms.

Namespace URI Purpose
http://www.w3.org/2007/uwa/context/common.owl# The Namespace for General Purpose terms
http://www.w3.org/2007/uwa/context/deliveryContext.owl# The Namespace for the Main Delivery Context terms
http://www.w3.org/2007/uwa/context/hardware.owl# Used for Hardware related terms
http://www.w3.org/2007/uwa/context/java.owl# Used for Java related terms
http://www.w3.org/2007/uwa/context/location.owl# Used for Location terms
http://www.w3.org/2007/uwa/context/network.owl# Used for Network terms
http://www.w3.org/2007/uwa/context/push.owl# Used for Push Technology terms
http://www.w3.org/2007/uwa/context/software.owl# Used for terms related to the software facets of the Delivery Context
http://www.w3.org/2007/uwa/context/web.owl# The Namespace for terms devoted to Web Technologies

3.4 Term Groups

This section is normative.

For modularity reasons, the Ontology has been splitted into the following groups of terms:

3.5 Measurement Units Representation

This section is informative.

A number of properties in the Ontology represent physical magnitudes. The same magnitude, for instance "length", can be measured using different units ("meters", "inches", "feet", "milimeters", etc), yielding to different numeric values depending on the unit used. However, from a conceptual point of view, all of these values are (or should be) actually equivalent.

RDF nor OWL supports to tag a literal value with its measurement unit. In other words, RDF literal nodes can represent discrete numeric values, such as "10" or "9.81", but a literal node does not capture the unit used to express the value. On the other hand, the problem of ontological modelling of measurement units is still open to debate and goes beyond the scope of this specification. For example, the [MUO Ontology] is a recent proposal for modelling measurement units using OWL.

In this version of the Ontology, each Property that represents a magnitude has to be expressed normatively in a single unit. This solution is simple and at the same time maximizes interoperability. However, it is also recognized that this approach might not be suitable in all scenarios, due to both practical (some scales are more conveniently captured using certain units) and cultural reasons. Therefore, it is expected that, once a Measurement Units Ontology is widely adopted (and standardized), future versions of this specification will allow to represent magnitudes using different units.

3.6 Instances

This section is informative.

Only a minimum set of instances has been declared as normative in this specification. This has been done for simplicity and maintainability reasons. On the other hand it is important to remark that Vocabularies based on the Ontology may define their own normative instances for representing specific values within their respective domains. For example, the [DDR Core Vocabulary] enumerates different instances for image formats or markup languages.

Nonetheless, the main OWL file (distributed as a companion resource), contains a number of utility instances that can come in handy for Ontology users or implementors. Instances for character sets, MIME Types, network technologies and formats, among others, are included.

In addition, example instances (under the http://www.example.org namespace) are also distributed with the only purpose of illustrating how the Ontology works in practice.

4 Conformance

This section is normative.

A conforming implementation of this Recommendation must implement all the normative sections of this document.

A Class Hierarchy Summary

This section is informative.

To improve the readability of the specification a Class Hierarchy Summary has been automatically generated from the ontology itself.

B Property Hierarchy Summary

This section is informative.

A graphical representation of the Datatype Property Hierarchy and the Object Property Hierarchy has been automatically generated from the Ontology itself.

C Summary of Changes since the Second Public Working Draft

This section is informative.

A summary of changes has been created in order to enumerate:

D Ontology Resources (Non Normative)

E Acknowledgements (Non Normative)

The editors wish to acknowledge the contributions of members of the UWA WG.

The editors wish to acknowledge the specific written contributions of:

Normative References

CSS21
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, T. , B. Bos, H. , I. Hickson, Editors, W3C Candidate Recommendation (work in progress), 19 July 2007, (See http://www.w3.org/TR/2007/CR-CSS21-20070719/.)
CURIEs
CURIE Syntax 1.0, Mark Birbeck, Shane McCarron, 2009. W3C Candidate Recommendation, 16 January 2009 (See http://www.w3.org/TR/2009/CR-curie-20090116/.)
DDR-Simple-API
Device Description Repository Simple API, R. Hanrahan, J. , I. , J. Rabin, Editors, W3C Recommendation, 5 December 2008, (See http://www.w3.org/TR/2008/REC-DDR-Simple-API-20081205/.)
IANA CHARACTER SETS
IANA: CHARACTER SETS 2007 (See http://www.iana.org/assignments/character-sets.)
IANA MIME Media Types
IANA: MIME Media Types (See http://www.iana.org/assignments/media-types/.)
IANA Transfer Encodings
IANA: Transfer Encodings 2006 (See http://www.iana.org/assignments/transfer-encodings/.)
IANA URI Schemes
IANA: Uniform Resource Identifer (URI) Schemes 2006 (See http://www.iana.org/assignments/uri-schemes.html.)
IETF RFC 2045
RFC 2045: Multipurpose Internet Mail Extensions, (MIME) Part One: Format of Internet Message Bodies Internet Engineering Task Force, 1996. (See http://www.ietf.org/rfc/rfc2045.txt.)
IETF RFC 2046
RFC 2046: Multipurpose Internet Mail Extensions, (MIME) Part One: Media Types Internet Engineering Task Force, 1996. (See http://www.ietf.org/rfc/rfc2046.txt.)
IETF RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels Internet Engineering Task Force, 1997. (See http://www.ietf.org/rfc/rfc2119.txt.)
IETF RFC 2616
RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1 Internet Engineering Task Force, 1999. (See http://www.ietf.org/rfc/rfc2616.txt.)
IETF RFC 3986
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax Internet Engineering Task Force, 2005. (See http://tools.ietf.org/rfc/rfc3986.txt.)
IETF RFC 4646
RFC 4646: Tags for Identifying Languages Internet Engineering Task Force, 2006. (See http://www.ietf.org/rfc/rfc4646.txt.)
ISO 3166-1
Country names (official short names in English) in alphabetical order as given in ISO 3166-1 (See http://www.iso.org/iso/iso3166_en_code_lists.txt.)
ISO 639
ISO 639 Code Tables (See http://www.sil.org/iso639-3/codes.asp.)
ISO 6709:1983
6709:1983 Standard representation of latitude, longitude and altitude for geographic point locations (See http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=13152.)
ITU-T MC or GAC
ITU-T List of Mobile Country or Geographical Area Codes, 1 January 2004, (See http://www.itu.int/itudoc/itu-t/ob-lists/icc/e212_685.pdf.)
OMA-Push-App-ID
OMNA PUSH Application ID (See http://www.openmobilealliance.org/Tech/omna/omna-push-app-id.aspx.)
OWL
OWL Web Ontology Language Reference, G. Schreiber, M. Dean, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-owl-ref-20040210/.)
OWL-Guide
OWL Web Ontology Language Guide, D. L. McGuinness, M. K. Smith, C. Welty, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-owl-guide-20040210/.)
OWL-Semantics
OWL Web Ontology Language Semantics and Abstract Syntax, P. Hayes, I. Horrocks, P. F. Patel-Schneider, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-owl-semantics-20040210/.)
RDF-Concepts
Resource Description Framework (RDF): Concepts and Abstract Syntax, G. Klyne, J. J. Carroll, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/.)
RDF-Schema
RDF Vocabulary Description Language 1.0: RDF Schema , D. Brickley, R. V. Guha, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-rdf-schema-20040210/.)
XMLSCHEMA-2
XML Schema Part 2: Datatypes Second Edition, P. V. Biron, A. Malhotra, Editors, W3C Recommendation, 28 October 2004, (See http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/.)

Informative References

Core Vocabulary
Device Description Core Vocabulary, Andrea Trasatti, Jo Rabin, Rotan Hanrahan (eds.), W3C Working Group Note, 14 April 2008, (See http://www.w3.org/TR/2008/NOTE-ddr-core-vocabulary-20080414/.)
CT-LANDSCAPE
Content Transformation Landscape 1.0, J. Rabin, A. , Editors, W3C Working Draft (work in progress), 25 October 2007, (See http://www.w3.org/TR/2007/WD-ct-landscape-20071025/.)
DCCI
Delivery Context: Client Interfaces (DCCI) 1.0, R. A. Hosn, S. Sathish, K. Waters, M. Froumentin, K. , D. , M. Womer, R. Lewis, Editors, W3C Candidate Recommendation (work in progress), 21 December 2007 (See http://www.w3.org/TR/2007/CR-DPF-20071221/.)
DI-GLOSS
Glossary of Terms for Device Independence, R. Lewis, Editor, W3C Working Draft (work in progress), 18 January 2005, (See http://www.w3.org/TR/2005/WD-di-gloss-20050118/.)
FOAF
The Friend of a Friend (FOAF) Project (See http://www.foaf-project.org/.)
Java ME
Java ME: the Most Ubiquitous Application Platform for Mobile Devices (See http://java.sun.com/javame/index.jsp.)
MMI-REQS
Multimodal Interaction Requirements, S. , V. Saraswat, Editors, W3C Working Group Note, 8 January 2003, (See http://www.w3.org/TR/2003/NOTE-mmi-reqs-20030108/.)
MUO
Measurement Units Ontology, D. Berrueta, L. Polo, Editors, (See Measurement Units Ontology.)
OMA-Dictionary
Dictionary for OMA Specifications, 14 June 2007, (See http://www.openmobilealliance.biz/document/OMA-ORG-Dictionary-V2_6-20070614-A.pdf.)
OWL-Test
OWL Web Ontology Language Test Cases, J. J. Carroll, J. De Roo, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-owl-test-20040210/.)
Pers-Roadmap
W3C Personalization Roadmap: Ubiquitous Web Integration of AccessForAll 1.0, R. Schwerdtfeger, A. Heath, Editors, W3C Working Group Note, 9 April 2009, (See http://www.w3.org/TR/2009/NOTE-UWA-personalization-roadmap-20090409/.)
RDF-Primer
RDF Primer, F. Manola, E. Miller, Editors, W3C Recommendation, 10 February 2004, (See http://www.w3.org/TR/2004/REC-rdf-primer-20040210/.)
Timezone
Working with Time Zones, Addison Phillips et. al, 2005. W3C Working Group Note (See http://www.w3.org/TR/2005/NOTE-timezone-20051013/.)