OWL Web Ontology Language

W3C Recommendation 10 February 2004

PRE-PUBLICATION DRAFT. This document is being prepared for possible publication by the W3C, but it may change, be delayed, or never be published. The "Version" URIs and "Status of this Document" section may reflect its planned location and status, not present reality.

This version:
Latest version:
Previous version:
Deborah L. McGuinness (Knowledge Systems Laboratory, Stanford University) d l m at k s l dot stanford dot edu
Frank van Harmelen (Vrije Universiteit, Amsterdam) Frank.van.Harmelen@cs.vu.nl

Please refer to the errata for this document, which may include some normative corrections.

See also translations.


The OWL Web Ontology Language is designed for use by applications that need to process the content of information instead of just presenting information to humans. OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics. OWL has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL Full.

This document is written for readers who want a first impression of the capabilities of OWL. It provides an introduction to OWL by informally describing the features of each of the sublanguages of OWL. Some knowledge of RDF Schema is useful for understanding this document, but not essential. After this document, interested readers may turn to the OWL Guide for more detailed descriptions and extensive examples on the features of OWL. The normative formal definition of OWL can be found in the OWL Semantics and Abstract Syntax.

Status of this document

This document has been reviewed by W3C Members and other interested parties, and it has been endorsed by the Director as a W3C Recommendation. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

This is one of six parts of the W3C Recommendation for OWL, the Web Ontology Language. It has been developed by the Web Ontology Working Group as part of the W3C Semantic Web Activity (Activity Statement, Group Charter) for publication on 10 February 2004.

The design of OWL expressed in earlier versions of these documents has been widely reviewed and satisfies the Working Group's technical requirements. The Working Group has addressed all comments received, making changes as necessary. Changes to this document since the Proposed Recommendation version are detailed in the change log.

Comments are welcome at public-webont-comments@w3.org (archive) and general discussion of related technology is welcome at www-rdf-logic@w3.org (archive).

A list of implementations is available.

The W3C maintains a list of any patent disclosures related to this work.

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

Table of contents

  1. Introduction
    1. Document Roadmap
    2. Why OWL?
    3. The three sublanguages of OWL
    4. The structure of this document
  2. Language Synopsis
    1. OWL Lite Synopsis
    2. OWL DL and OWL Full Synopsis
  3. Language Description of OWL Lite
    1. OWL Lite RDF Schema Features
    2. OWL Lite Equality and Inequality
    3. OWL Lite Property Characteristics
    4. OWL Lite Property Restrictions
    5. OWL Lite Restricted Cardinality
    6. OWL Lite Class Intersection
    7. OWL Datatypes
    8. OWL Lite Header Information
    9. OWL Lite Annotation Properties
    10. OWL Lite Versioning
  4. Incremental Language Description of OWL DL and OWL Full
  5. Summary

  6. References
  7. Acknowledgements
  8. Change Log

1. Introduction

This document describes the OWL Web Ontology Language. OWL is intended to be used when the information contained in documents needs to be processed by applications, as opposed to situations where the content only needs to be presented to humans. OWL can be used to explicitly represent the meaning of terms in vocabularies and the relationships between those terms. This representation of terms and their interrelationships is called an ontology. OWL has more facilities for expressing meaning and semantics than XML, RDF, and RDF-S, and thus OWL goes beyond these languages in its ability to represent machine interpretable content on the Web. OWL is a revision of the DAML+OIL web ontology language incorporating lessons learned from the design and application of DAML+OIL.

1.1 Document Roadmap

The OWL Language is described by a set of documents, each fulfilling a different purpose, and catering to a different audience. The following provides a brief roadmap for navigating through this set of documents:

The suggested reading order of the first four documents is as given since they have been listed in increasing degree of technical content. The last two documents complete the documentation set.

1.2 Why OWL?

The Semantic Web is a vision for the future of the Web in which information is given explicit meaning, making it easier for machines to automatically process and integrate information available on the Web. The Semantic Web will build on XML's ability to define customized tagging schemes and RDF's flexible approach to representing data. The first level above RDF required for the Semantic Web is an ontology language what can formally describe the meaning of terminology used in Web documents. If machines are expected to perform useful reasoning tasks on these documents, the language must go beyond the basic semantics of RDF Schema. The OWL Use Cases and Requirements Document provides more details on ontologies, motivates the need for a Web Ontology Language in terms of six use cases, and formulates design goals, requirements and objectives for OWL.

OWL has been designed to meet this need for a Web Ontology Language. OWL is part of the growing stack of W3C recommendations related to the Semantic Web.

1.3 The three sublanguages of OWL

OWL provides three increasingly expressive sublanguages designed for use by specific communities of implementers and users.

Each of these sublanguages is an extension of its simpler predecessor, both in what can be legally expressed and in what can be validly concluded. The following set of relations hold. Their inverses do not.

Ontology developers adopting OWL should consider which sublanguage best suits their needs. The choice between OWL Lite and OWL DL depends on the extent to which users require the more-expressive constructs provided by OWL DL. The choice between OWL DL and OWL Full mainly depends on the extent to which users require the meta-modeling facilities of RDF Schema (e.g. defining classes of classes, or attaching properties to classes). When using OWL Full as compared to OWL DL, reasoning support is less predictable since complete OWL Full implementations do not currently exist.

OWL Full can be viewed as an extension of RDF, while OWL Lite and OWL DL can be viewed as extensions of a restricted view of RDF. Every OWL (Lite, DL, Full) document is an RDF document, and every RDF document is an OWL Full document, but only some RDF documents will be a legal OWL Lite or OWL DL document. Because of this, some care has to be taken when a user wants to migrate an RDF document to OWL. When the expressiveness of OWL DL or OWL Lite is deemed appropriate, some precautions have to be taken to ensure that the original RDF document complies with the additional constraints imposed by OWL DL and OWL Lite. Among others, every URI that is used as a class name must be explicitly asserted to be of type owl:Class (and similarly for properties), every individual must be asserted to belong to at least one class (even if only owl:Thing), the URI's used for classes, properties and individuals must be mutually disjoint. The details of these and other constraints on OWL DL and OWL Lite are explained in appendix E of the OWL Reference.

1.4 The structure of this document

This document first describes the features in OWL Lite, followed by a description of the features that are added in OWL DL and OWL Full (OWL DL and OWL Full contain the same features, but OWL Full is more liberal about how these features can be combined).

2. Language Synopsis

This section provides a quick index to all the language features for OWL Lite, OWL DL, and OWL Full.

In this document, italicized terms are terms in OWL. Prefixes of rdf: or rdfs: are used when terms are already present in RDF or RDF Schema. Otherwise terms are introduced by OWL. Thus, the term rdfs:subPropertyOf indicates that subPropertyOf is already in the rdfs vocabulary (technically : the rdfs namespace). Also, the term Class is more precisely stated as owl:Class and is a term introduced by OWL.

2.1 OWL Lite Synopsis

The list of OWL Lite language constructs is given below.

RDF Schema Features: (In)Equality: Property Characteristics:
Property Restrictions: Restricted Cardinality: Header Information:
Class Intersection: Versioning: Annotation Properties:

2.2 OWL DL and Full Synopsis

The list of OWL DL and OWL Full language constructs that are in addition to or expand those of OWL Lite is given below.

Class Axioms: Boolean Combinations of Class Expressions:
Arbitrary Cardinality: Filler Information:

3. Language Description of OWL Lite

This section provides an informal description of the OWL Lite language features. We do not discuss the specific syntax of these features (see the OWL Reference for definitions). Each language feature is hyperlinked to the appropriate place in the OWL Guide for more examples and guidance on usage.

OWL Lite uses only some of the OWL language features and has more limitations on the use of the features than OWL DL or OWL Full. For example, in OWL Lite classes can only be defined in terms of named superclasses (superclasses cannot be arbitrary expressions), and only certain kinds of class restrictions can be used. Equivalence between classes and subclass relationships between classes are also only allowed between named classes, and not between arbitrary class expressions. Similarly, restrictions in OWL Lite use only named classes. OWL Lite also has a limited notion of cardinality - the only cardinalities allowed to be explicitly stated are 0 or 1.

3.1 OWL Lite RDF Schema Features

The following OWL Lite features related to RDF Schema are included.

3.2 OWL Lite Equality and Inequality

The following OWL Lite features are related to equality or inequality.

3.3 OWL Lite Property Characteristics

There are special identifiers in OWL Lite that are used to provide information concerning properties and their values. The distinction between ObjectProperty and DatatypeProperty is mentioned above in the property description.

3.4 OWL Lite Property Restrictions

OWL Lite allows restrictions to be placed on how properties can be used by instances of a class. These type (and the cardinality restrictions in the next subsection) are used within the context of an owl:Restriction. The owl:onProperty element indicates the restricted property. The following two restrictions limit which values can be used while the next section's restrictions limit how many values can be used.

3.5 OWL Lite Restricted Cardinality

OWL Lite includes a limited form of cardinality restrictions. OWL (and OWL Lite) cardinality restrictions are referred to as local restrictions, since they are stated on properties with respect to a particular class. That is, the restrictions constrain the cardinality of that property on instances of that class. OWL Lite cardinality restrictions are limited because they only allow statements concerning cardinalities of value 0 or 1 (they do not allow arbitrary values for cardinality, as is the case in OWL DL and OWL Full).

Alternate namings for these restricted forms of cardinality were discussed. Current recommendations are to include any such names in a front end system. More on this topic is available on the publicly available webont mail archives with the most relevant message at http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0063.html.

3.6 OWL Lite Class Intersection

OWL Lite contains an intersection constructor but limits its usage.

3.7 OWL Datatypes

OWL uses the RDF mechanisms for data values. See the OWL Guide section on datatypes for a more detailed description of the built-in OWL datatypes taken largely from the XML Schema datatypes.

3.8 OWL Lite Header Information

OWL Lite supports notions of ontology inclusion and relationships and attaching information to ontologies. See the OWL Reference for details and the OWL Guide for examples.

3.9 OWL Lite Annotation Properties

OWL Lite allows annotations on classes, properties, individuals and ontology headers. The use of these annotations is subject to certain restrictions. See the section on Annotations in the OWL Reference for details.

3.10 OWL Lite Versioning

RDF already has a small vocabulary for describing versioning information. OWL significantly extends this vocabulary. See the OWL Reference for further details.

4. Incremental Language Description of OWL DL and OWL Full

Both OWL DL and OWL Full use the same vocabulary although OWL DL is subject to some restrictions. Roughly, OWL DL requires type separation (a class can not also be an individual or property, a property can not also be an individual or class). This implies that restrictions cannot be applied to the language elements of OWL itself (something that is allowed in OWL Full). Furthermore, OWL DL requires that properties are either ObjectProperties or DatatypeProperties: DatatypeProperties are relations between instances of classes and RDF literals and XML Schema datatypes, while ObjectProperties are relations between instances of two classes. The OWL Semantics and Abstract Syntax document explains the distinctions and limitations. We describe the OWL DL and OWL Full vocabulary that extends the constructions of OWL Lite below.

5. Summary

This document provides an overview of the Web Ontology Language by providing a brief introduction to why one might need a Web ontology language and how OWL fits in with related W3C languages. It also provides a brief description of the three OWL sublanguages: OWL Lite, OWL DL, and OWL Full along with a feature synopsis for each of the languages. This document is an update to the Feature Synopsis Document. It provides simple descriptions of the constructs along with simple examples. It references the OWL reference document, the OWL Guide, and the OWL Semantics and Abstract Syntax document for more details. Previous versions ( December 15, 2003, September 5, 2003, August 18, 2003, July 30, 2003, May 1, 2003, March 20, 2003, January 2, 2003, July 29, 2002, July 8, 2002, June 23, 2002, May 26, 2002, and May 15, 2002) of this document provide the historical view of the evolution of OWL Lite and the issues discussed in its evolution.


[OWL Guide]
OWL Web Ontology Language Guide, Michael K. Smith, Chris Welty, and Deborah L. McGuinness, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/WebOnt/TR/STAGE-owl-guide/ . Latest version available at http://www.w3.org/TR/owl-guide/ .
[OWL Reference]
OWL Web Ontology Language Reference, Mike Dean and Guus Schreiber, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/WebOnt/TR/STAGE-owl-ref/ . Latest version available at http://www.w3.org/TR/owl-ref/ .
[OWL Abstract Syntax and Semantics]
OWL Web Ontology Language Semantics and Abstract Syntax, Peter F. Patel-Schneider, Pat Hayes, and Ian Horrocks, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/WebOnt/TR/STAGE-owl-semantics/ . Latest version available at http://www.w3.org/TR/owl-semantics/ .
[OWL Test]
OWL Web Ontology Language Test Cases, Jeremy J. Carroll and Jos De Roo, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/WebOnt/TR/STAGE-owl-test/ . Latest version available at http://www.w3.org/TR/owl-test/ .
[OWL Requirements]
OWL Web Ontology Language Use Cases and Requirements, Jeff Heflin, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/WebOnt/TR/STAGE-webont-req/ . Latest version available at http://www.w3.org/TR/webont-req/ .
[OWL Issues]
Web Ontology Issue Status. Michael K. Smith, ed. 1 November 2003.
[DAML+OIL Reference]
DAML+OIL Reference Description . Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001.
Extensible Markup Language (XML).
[XML Schema]
XML Schema .
XML Schema Part 2: Datatypes - W3C Recommendation, World Wide Web Consortium, 2 May 2001.
[RDF/XML Syntax]
RDF/XML Syntax Specification (Revised), Dave Beckett, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/RDFCore/TR/staging/rdf-syntax-grammar/ . Latest version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
[RDF Concepts]
Resource Description Framework (RDF): Concepts and Abstract Syntax, Graham Klyne and Jeremy J. Carroll, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/RDFCore/TR/staging/rdf-concepts/ . Latest version available at http://www.w3.org/TR/rdf-concepts/ .
[RDF Schema]
RDF Vocabulary Description Language 1.0: RDF Schema, Dan Brickley and R. V. Guha, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/RDFCore/TR/staging/rdf-schema/ . Latest version available at http://www.w3.org/TR/rdf-schema/ .
[RDF Semantics]
RDF Semantics, Patrick Hayes, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/2001/sw/RDFCore/TR/staging/rdf-mt/ . Latest version available at http://www.w3.org/TR/rdf-mt/ .
[Description Logics]
The Description Logic Handbook. Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider, editors. Cambridge University Press, 2003; and Description Logics Home Page.


This document is the result of extensive discussions within the Web Ontology Working Group as a whole. The participants in this Working Group included: Yasser alSafadi, Jean-François Baget, James Barnette, Sean Bechhofer, Jonathan Borden, Frederik Brysse, Stephen Buswell, Jeremy Carroll, Dan Connolly, Peter Crowther, Jonathan Dale, Jos De Roo, David De Roure, Mike Dean, Larry Eshelman, Jérôme Euzenat, Tim Finin, Nicholas Gibbins, Sandro Hawke, Patrick Hayes, Jeff Heflin, Ziv Hellman, James Hendler, Bernard Horan, Masahiro Hori, Ian Horrocks, Jane Hunter, Francesco Iannuzzelli, Rüdiger Klein, Natasha Kravtsova, Ora Lassila, Massimo Marchiori, Deborah McGuinness, Enrico Motta, Leo Obrst, Mehrdad Omidvari, Martin Pike, Marwan Sabbouh, Guus Schreiber, Noboru Shimizu, Michael Sintek, Michael K. Smith, John Stanton, Lynn Andrea Stein, Herman ter Horst, David Trastour, Frank van Harmelen, Bernard Vatant, Raphael Volz, Evan Wallace, Christopher Welty, Charles White, and John Yanosy.

Change Log Since Last Call Release

Change Log Since Candidate Recommendation

Change Log Since Proposed Recommendation