Please refer to the errata for this document, which may include some normative corrections.
A color-coded version of this document showing changes made since the previous version is also available.
This document is also available in these non-normative formats: PDF version.
See also translations.
The OWL 2 Web Ontology Language, informally OWL 2, is an ontology language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents. OWL 2 ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves are primarily exchanged as RDF documents.
This document serves as an introduction to OWL 2 and the various other OWL 2 documents. It describes the syntaxes for OWL 2, the different kinds of semantics, the available profiles (sub-languages), and the relationship between OWL 1 and OWL 2.
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/.
Please send any comments to firstname.lastname@example.org (public archive). Although work on this document by the OWL Working Group is complete, comments may be addressed in the errata or in future revisions. Open discussion among developers is welcome at email@example.com (public archive).
This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. 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 document was produced by a group operating under the 5 February 2004 W3C Patent Policy. This document is informative only. 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.
Table of Contents
This document provides a non-normative high-level overview of the OWL 2 Web Ontology Language and serves as a roadmap for the documents that define and describe OWL 2.
Ontologies are formalized vocabularies of terms, often covering a specific domain and shared by a community of users. They specify the definitions of terms by describing their relationships with other terms in the ontology. OWL 2 is an extension and revision of the OWL Web Ontology Language developed by the W3C Web Ontology Working Group and published in 2004 (referred to hereafter as “OWL 1”). OWL 2 is being developed (and this document was written) by a follow-on group, the W3C OWL Working Group. Like OWL 1, OWL 2 is designed to facilitate ontology development and sharing via the Web, with the ultimate goal of making Web content more accessible to machines.
Figure 1 gives an overview of the OWL 2 language, showing its main building blocks and how they relate to each other. The ellipse in the center represents the abstract notion of an ontology, which can be thought of either as an abstract structure or as an RDF graph (see 2.1 Ontologies). At the top are various concrete syntaxes (see 2.2 Syntaxes) that can be used to serialize and exchange ontologies. At the bottom are the two semantic specifications that define the meaning of OWL 2 ontologies (see 2.3 Semantics).
Most users of OWL 2 will need only one syntax and one semantics; for them, this diagram would be much simpler, with only their one syntax at the top, their one semantics at the bottom, and rarely a need to see what's inside the ellipse in the center.
The Structure of OWL 2
The conceptual structure of OWL 2 ontologies is defined in the OWL 2 Structural Specification document [OWL 2 Structural Specification]. This document uses UML [UML] to define the structural elements available in OWL 2, explaining their roles and functionalities in abstract terms and without reference to any particular syntax. It also defines the functional-style syntax, which closely follows the structural specification and allows OWL 2 ontologies to be written in a compact form.
Any OWL 2 ontology can also be viewed as an RDF graph. The relationship between these two views is specified by the Mapping to RDF Graphs document [OWL 2 RDF Mapping], which defines a mapping from the structural form to the RDF graph form, and vice versa. The OWL 2 Quick Reference Guide [OWL 2 Quick Guide] provides a simple overview of these two views of OWL 2, laid out side by side.
In practice, a concrete syntax is needed in order to store OWL 2 ontologies and to exchange them among tools and applications. The primary exchange syntax for OWL 2 is RDF/XML [RDF Syntax]; this is indeed the only syntax that must be supported by all OWL 2 tools (see Section 2.1 of the OWL 2 Conformance document [OWL 2 Conformance]).
While RDF/XML provides for interoperability among OWL 2 tools, other concrete syntaxes may also be used. These include alternative RDF serializations, such as Turtle [Turtle]; an XML serialization [OWL 2 XML]; and a more "readable" syntax, called the Manchester Syntax [OWL 2 Manchester Syntax], that is used in several ontology editing tools. Finally, the functional-style syntax can also be used for serialization, although its main purpose is specifying the structure of the language [OWL 2 Structural Specification].
|Name of Syntax||Specification||Status||Purpose|
|RDF/XML||Mapping to RDF Graphs,|
|Mandatory||Interchange (can be written and read by all conformant OWL 2 software)|
|OWL/XML||XML Serialization||Optional||Easier to process using XML tools|
|Functional Syntax||Structural Specification||Optional||Easier to see the formal structure of ontologies|
|Manchester Syntax||Manchester Syntax||Optional||Easier to read/write DL Ontologies|
|Turtle||Mapping to RDF Graphs,|
|Optional, Not from OWL-WG||Easier to read/write RDF triples|
The OWL 2 Structural Specification document defines the abstract structure of OWL 2 ontologies, but it does not define their meaning. The Direct Semantics [OWL 2 Direct Semantics] and the RDF-Based Semantics [OWL 2 RDF-Based Semantics] provide two alternative ways of assigning meaning to OWL 2 ontologies, with a correspondence theorem providing a link between the two. These two semantics are used by reasoners and other tools, e.g., to answer class consistency, subsumption and instance retrieval queries.
The Direct Semantics assigns meaning directly to ontology structures, resulting in a semantics compatible with the model theoretic semantics of the SROIQ description logic—a fragment of first order logic with useful computational properties. The advantage of this close connection is that the extensive description logic literature and implementation experience can be directly exploited by OWL 2 tools. However, some conditions must be placed on ontology structures in order to ensure that they can be translated into a SROIQ knowledge base; for example, transitive properties cannot be used in number restrictions (see Section 3 of the OWL 2 Structural Specification document [OWL 2 Structural Specification] for a complete list of these conditions). Ontologies that satisfy these syntactic conditions are called OWL 2 DL ontologies. "OWL 2 DL" is used informally to refer to OWL 2 DL ontologies interpreted using the Direct Semantics [OWL 2 Direct Semantics].
The RDF-Based Semantics [OWL 2 RDF-Based Semantics] assigns meaning directly to RDF graphs and so indirectly to ontology structures via the Mapping to RDF graphs. The RDF-Based Semantics is fully compatible with the RDF Semantics [RDF Semantics], and extends the semantic conditions defined for RDF. The RDF-Based Semantics can be applied to any OWL 2 Ontology, without restrictions, as any OWL 2 Ontology can be mapped to RDF. "OWL 2 Full" is used informally to refer to RDF graphs considered as OWL 2 ontologies and interpreted using the RDF-Based Semantics.
The correspondence theorem in Section 7.2 of the RDF-Based Semantics Document [OWL 2 RDF-Based Semantics]) defines a precise, close relationship between the Direct and RDF-Based Semantics. This theorem states, in essence, that given an OWL 2 DL ontology, inferences drawn using the Direct Semantics will still be valid if the ontology is mapped into an RDF graph and interpreted using the RDF-Based Semantics.
OWL 2 Profiles [OWL 2 Profiles] are sub-languages (syntactic subsets) of OWL 2 that offer important advantages in particular application scenarios. Three different profiles are defined: OWL 2 EL, OWL 2 QL, and OWL 2 RL. Each profile is defined as a syntactic restriction of the OWL 2 Structural Specification, i.e., as a subset of the structural elements that can be used in a conforming ontology, and each is more restrictive than OWL DL. Each of the profiles trades off different aspects of OWL's expressive power in return for different computational and/or implementational benefits.
OWL 2 EL enables polynomial time algorithms for all the standard reasoning tasks; it is particularly suitable for applications where very large ontologies are needed, and where expressive power can be traded for performance guarantees. OWL 2 QL enables conjunctive queries to be answered in LogSpace (more precisely, AC0) using standard relational database technology; it is particularly suitable for applications where relatively lightweight ontologies are used to organize large numbers of individuals and where it is useful or necessary to access the data directly via relational queries (e.g., SQL). OWL 2 RL enables the implementation of polynomial time reasoning algorithms using rule-extended database technologies operating directly on RDF triples; it is particularly suitable for applications where relatively lightweight ontologies are used to organize large numbers of individuals and where it is useful or necessary to operate directly on data in the form of RDF triples.
Any OWL 2 EL, QL or RL ontology is, of course, also an OWL 2 ontology and can be interpreted using either the Direct or RDF-Based Semantics. When using OWL 2 RL, a rule-based implementation can operate directly on RDF triples and so can be applied to an arbitrary RDF graph, i.e., to any OWL 2 ontology. In this case, reasoning will always be sound (that is, only correct answers to queries will be computed), but it may not be complete (that is, it is not guaranteed that all correct answers to queries will be computed). Theorem PR1 of the Profiles document states, however, that (in general) when the ontology is consistent with the structural definition of OWL 2 RL, a suitable rule-based implementation performing ground atomic queries will be both sound and complete.
OWL 2 has a very similar overall structure to OWL 1. Looking at Figure 1, almost all the building blocks of OWL 2 were present in OWL 1, albeit possibly under different names.
The central role of RDF/XML, the role of other syntaxes, and the relationships between the Direct and RDF-Based semantics (i.e., the correspondence theorem) have not changed. More importantly, backwards compatibility with OWL 1 is, to all intents and purposes, complete: all OWL 1 Ontologies remain valid OWL 2 Ontologies, with identical inferences in all practical cases (see Section 4.2 of OWL 2 New Features and Rationale [OWL 2 New Features and Rationale]).
OWL 2 adds new functionality with respect to OWL 1. Some of the new features are syntactic sugar (e.g., disjoint union of classes) while others offer new expressivity, including:
OWL 2 also defines three new profiles [OWL 2 Profiles] and a new syntax [OWL 2 Manchester Syntax]. In addition, some of the restrictions applicable to OWL DL have been relaxed; as a result, the set of RDF Graphs that can be handled by Description Logics reasoners is slightly larger in OWL 2.
All of the above is documented in detail in the OWL 2 New Features and Rationale document [OWL 2 New Features and Rationale]. The OWL 2 Quick Reference Guide [OWL 2 Quick Guide] also provides an overview of the features of OWL 2, clearly indicating those that are new.
The OWL 2 ontology language is normatively defined by five core specification documents describing its conceptual structure, primary exchange syntax (RDF/XML), two alternative semantics (Direct and RDF-Based), and conformance requirements. Three additional specification documents describe optional features that may be supported by some implementations: the language profiles, and two alternative concrete syntaxes (OWL/XML and Manchester).
These documents are, however, all rather technical and mainly aimed at OWL 2 implementers and tool developers. Those looking for a more approachable guide to the features and usage of OWL 2 may prefer to consult one of the user documents (Primer, New Features and Rationale, and Quick Reference Guide).
|1||For Users||Document Overview. A quick overview of the OWL 2 specification that includes a description of its relationship to OWL 1. This it the starting point and primary reference point for OWL 2.|
|2||Core Specification||Structural Specification and Functional-Style Syntax defines the constructs of OWL 2 ontologies in terms of both their structure and a functional-style syntax, and defines OWL 2 DL ontologies in terms of global restrictions on OWL 2 ontologies.|
|3||Core Specification||Mapping to RDF Graphs defines a mapping of the OWL 2 constructs into RDF graphs, and thus defines the primary means of exchanging OWL 2 ontologies in the Semantic Web.|
|4||Core Specification||Direct Semantics defines the meaning of OWL 2 ontologies in terms of a model-theoretic semantics.|
|5||Core Specification||RDF-Based Semantics defines the meaning of OWL 2 ontologies via an extension of the RDF Semantics.|
|6||Core Specification||Conformance provides requirements for OWL 2 tools and a set of test cases to help determine conformance.|
|7||Specification||Profiles defines three sub-languages of OWL 2 that offer important advantages in particular applications scenarios.|
|8||For Users||OWL 2 Primer provides an approachable introduction to OWL 2, including orientation for those coming from other disciplines.|
|9||For Users||OWL 2 New Features and Rationale provides an overview of the main new features of OWL 2 and motivates their inclusion in the language.|
|10||For Users||OWL 2 Quick Reference Guide provides a brief guide to the constructs of OWL 2, noting the changes from OWL 1.|
|11||Specification||XML Serialization defines an XML syntax for exchanging OWL 2 ontologies, suitable for use with XML tools like schema-based editors and XQuery/XPath.|
|12||Specification||Manchester Syntax (WG Note) defines an easy-to-read, but less formal, syntax for OWL 2 that is used in some OWL 2 user interface tools and is also used in the Primer.|
|13||Specification||Data Range Extension: Linear Equations (WG Note) specifies an optional extension to OWL 2 which supports advanced constraints on the values of properties.|
This section summarizes the changes to this document since the Recommendation of 27 October 2009.
No changes have been made to this document since the Proposed Recommendation of 22 September, 2009.
This section summarizes the changes to this document since the Last Call Working Draft of 11 June, 2009.
The starting point for the development of OWL 2 was the OWL1.1 member submission, itself a result of user and developer feedback, and in particular of information gathered during the OWL Experiences and Directions (OWLED) Workshop series. The working group also considered postponed issues from the WebOnt Working Group.
This document has been produced by the OWL Working Group (see below), and its contents reflect extensive discussions within the Working Group as a whole. The editors extend special thanks to Ivan Herman (W3C/ERCIM), Ian Horrocks (Oxford University) and Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent) for their thorough reviews.
The regular attendees at meetings of the OWL Working Group at the time of publication of this document were: Jie Bao (RPI), Diego Calvanese (Free University of Bozen-Bolzano), Bernardo Cuenca Grau (Oxford University Computing Laboratory), Martin Dzbor (Open University), Achille Fokoue (IBM Corporation), Christine Golbreich (Université de Versailles St-Quentin and LIRMM), Sandro Hawke (W3C/MIT), Ivan Herman (W3C/ERCIM), Rinke Hoekstra (University of Amsterdam), Ian Horrocks (Oxford University Computing Laboratory), Elisa Kendall (Sandpiper Software), Markus Krötzsch (FZI), Carsten Lutz (Universität Bremen), Deborah L. McGuinness (RPI), Boris Motik (Oxford University Computing Laboratory), Jeff Pan (University of Aberdeen), Bijan Parsia (University of Manchester), Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent), Sebastian Rudolph (FZI), Alan Ruttenberg (Science Commons), Uli Sattler (University of Manchester), Michael Schneider (FZI), Mike Smith (Clark & Parsia), Evan Wallace (NIST), Zhe Wu (Oracle Corporation), and Antoine Zimmermann (DERI Galway). We would also like to thank past members of the working group: Jeremy Carroll, Jim Hendler, and Vipul Kashyap.