An owl:Class defines a group of individuals that belong together because they share some properties.

owl:Class is a subclass of rdfs:Class. The rationale for having a separate OWL class construct lies in the restrictions on OWL DL (and thus also on OWL Lite), which imply that not all RDFS classes are legal OWL DL classes. In OWL Full these restrictions do not exist and therefore owl:Class and rdfs:Class are equivalent in OWL Full.

EXAMPLE:    Deborah and Frank are both members of the owl:Class Person.


    <rdfs:Class rdf:ID="Class">


        <rdfs:subClassOf rdf:resource="&rdfs;Class"/>


Example listing


    og:ConsumableThing   rdf:type   owl:Class .  , where og: is (here) the namespace for the Owl Guide ontology.


Domain-specific root classes are defined by simply declaring a named class.

    <owl:Class rdf:ID="ConsumableThing"/>   (this asserts the above triple).

The syntax rdf:ID="ConsumableThing" is used to introduce a name, as part of its definition. This is the rdf:ID attribute  that is like the familiar ID attribute defined by XML. Within this document, the ConsumableThing class can now be referred to using #ConsumableThing, e.g. rdf:resource="#ConsumableThing". Other ontologies may reference this name using its complete form, "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#ConsumableThing".

    <owl:Class rdf:ID="PotableLiquid">

        <rdfs:subClassOf rdf:resource="#ConsumableThing" />



    <owl:Class rdf:ID="Wine">

        <rdfs:subClassOf rdf:resource="#PotableLiquid"/>

        <rdfs:label xml:lang="en">wine</rdfs:label>

        <rdfs:label xml:lang="fr">vin</rdfs:label>


Other information

The most basic concepts in a domain should correspond to classes that are the roots of various taxonomic trees. Every individual in the OWL world is a member of the class owl:Thing. Thus each user-defined class is implicitly a subclass of owl:Thing.

A class description describes an OWL class, either by a class name or by specifying the class extension of an unnamed anonymous class.

OWL distinguishes six types of class descriptions:

  1. a class identifier (a URI reference)
  2. an exhaustive enumeration of individuals that together form the instances of a class
  3. a property restriction
  4. the intersection of two or more class descriptions
  5. the union of two or more class descriptions
  6. the complement of a class description

The first type is special in the sense that it describes a class through a class name (syntactically represented as a URI reference). The other five types of class descriptions describe an anonymous class by placing constraints on the class extension.

Class descriptions of type 2-6 describe, respectively, a class that contains exactly the enumerated individuals (2nd type), a class of all individuals which satisfy a particular property restriction (3rd type), or a class that satisfies boolean combinations of class descriptions (4th, 5th and 6th type). Intersection, union and complement can be respectively seen as the logical AND, OR and NOT operators. The four latter types of class descriptions lead to nested class descriptions and can thus in theory lead to arbitrarily complex class descriptions. In practice, the level of nesting is usually limited.

Class descriptions form the building blocks for defining classes through class axioms. Class axioms typically contain additional components that state necessary and/or sufficient characteristics of a class. OWL contains three language constructs for combining class descriptions into class axioms:

Syntactically, these three language constructs are properties that have a class description as both domain and range.

OWL classes provide an abstraction mechanism for grouping resources with similar characteristics. Like RDF classes, every OWL class is associated with a set of individuals, called the class extension. The individuals in the class extension are called the instances of the class. A class has an intensional meaning (the underlying concept) which is related but not equal to its class extension. Thus, two classes may have the same class extension, but still be different classes.

In OWL Lite and OWL DL an individual can never be at the same time a class: classes and individuals form disjoint domains (as do properties and data values). OWL Full allows the freedom of RDF Schema: a class may act as an instance of another (meta)class.

owl:Classes can be organized in a specialization hierarchy using subClassOf.

There is a built-in most general owl:Class named Thing that is the class of all individuals and is a superclass of all OWL classes.

There is also a built-in most specific class named Nothing that is the class that has no instances and a subclass of all OWL classes.

In OWL Full the resource owl:Class is equivalent to rdfs:Class. This is different from OWL DL and OWL Lite, where owl:Class is a proper subclass of rdfs:Class (meaning that not all RDF classes are OWL classes in OWL DL and OWL Lite). OWL Full also allows classes to be treated as individuals.

Use in ISO 15926