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:label>Class</rdfs:label>
<rdfs:subClassOf rdf:resource="&rdfs;Class"/>
</rdfs:Class>
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>
<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>
</owl:Class>
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:
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:
rdfs:subClassOf allows one to say
that the class extension of a class description is a subset of the class
extension of another class description.
owl:equivalentClass allows
one to say that a class description has exactly the same class extension as
another class description.
owl:disjointWith allows one to
say that the class extension of a class description has no members in common
with the class extension of another class description. 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.