Web Ontology Language (OWL Lite, OWL DL, and OWL Full)
< Feature Synopsis Version 1.0
<
<
<
<
<
<
Web Ontology Language (OWL Lite, OWL DL, and OWL Full)
< Feature Synopsis Version 1.0
< Document superceeded by
< Web Ontology Language (OWL): Overview
<
< OWL (the Web Ontology Language)
< is being designed by the W3C Web Ontology Working Group to provide a
< language that can be used for applications that need to understand the content
< of information instead of just understanding the human-readable presentation of
< content. OWL facilitates greater machine readability of web content than
< that supported by XML,
< RDF, and RDF-S by providing additional vocabulary for term
< descriptions.
< The OWL language provides three increasingly expressive
< sublanguages: OWL Lite, OWL DL, and OWL Full.
< This document provides an introduction to OWL by first introducing the
< simplest language -- OWL Lite.
< OWL DL and OWL Full include the same complete OWL vocabulary
< however OWL DL is subject to some constraints discussed in
< the
< OWL Species discussion in the
< OWL Guide.
< Since OWL DL and OWL Full include the same vocabulary, they
< are handled together in this document.
<
<
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
< Recommendations and other technical reports is available at http://www.w3.org/TR/.
<
This document is a working document for the use by W3C Members and other
< interested parties. It may be updated, replaced or made obsolete by other
< documents at any time.
This document describes OWL (the Web Ontology Language)
< that is being designed by the W3C
< Web Ontology Working Group
< to provide a language that can be used for applications that need to understand
< the content of information, instead of presenting just presenting
< human-readable content. OWL can be used to explicitly
< represent term vocabularies and the relationships between entities in
< these vocabularies. This representation of terms and their interrelationships
< creates an ontology.
< The ontology language in OWL is more expressive than that in
< XML, RDF, and RDF-S, and thus OWL goes beyond these language in
< its ability to represent machine readable 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.
<
The goal of this document is to provide a simple introduction to OWL by
< providing a language feature listing with very brief feature descriptions.
< For a more complete description of OWL,
< see the OWL Reference,
< the
< OWL Guide,
< and the OWL
< Abstract Syntax and Semantics documents.
<
<
This document begins by describing a subset of the language, called OWL
< Lite. The goal of OWL Lite is to provide a language
< that is a simpler for tool builders to support than the full OWL language.
< One expectation is that tools will facilitate widespread adoption of OWL
< and thus the OWL language
< designers should attempt to create a language to which tool developers
< will flock.
< While it is widely appreciated that all of the features in languages such
< DAML+OIL are important to some users, it is also understood that languages as
< expressive as DAML+OIL may be daunting to some groups who are trying to support
< a tool suite for the entire language. In order to provide a language that is
< approachable to a wider audience, OWL Lite has been defined a subset of OWL.
< OWL Lite attempts to capture many of the commonly used
< features of OWL and DAML+OIL. It also attempts to describe a useful language
< that provides more than RDF-S meeting the goal of adding functionality that is
< important to support web applications.
<
<
< There are two interpretations for the full OWL vocabulary - one used in
< OWL DL that is more restricted and one used for OWL Full that is less restrictive.
< Since the vocabularies for OWL DL and OWL Full are identical, this document
< only distinguishes between the OWL Lite vocabulary and the full OWL vocabulary.
< For more on the motivation for OWL Lite, OWL DL, and OWL Full,
< see the
< OWL
< Guide.
< For more information about the interpretations for OWL DL and OWL Full,
< see the
< OWL Abstract Syntax and Semantics Document.
<
<
2. Language Synopsis
This section contains the
< language synopsis for OWL Lite, OWL DL, and OWL Full.
<
In this document, italicized terms are terms in OWL.
< Capitalization in OWL terms in this document is consistent with
< capitalization in the reference language document.
< Prefixes of rdf: or rdfs: are used when terms are in the RDF or
< RDF-S namespaces. Otherwise terms are in the OWL namespace.
<
2.1 OWL Lite Synopsis
< The list of OWL Lite language constructs is given below.
<
2.1.1 OWL Lite RDF Schema Features
< Synopsis
<
<
Class
<
rdf:Property
<
rdfs:subClassOf
<
rdfs:subPropertyOf
<
rdfs:domain
<
rdfs:range
<
Individual
<
2.1.2 OWL Lite Equality and Inequality
< Synopsis
<
<
sameClassAs
<
samePropertyAs
<
sameIndividualAs
<
differentIndividualFrom
<
2.1.3 OWL Lite Property Characteristics
< Synopsis
<
<
inverseOf
<
TransitiveProperty
<
SymmetricProperty
<
FunctionalProperty (unique)
<
InverseFunctionalProperty (unambiguous)
<
allValuesFrom (universal local range restrictions; previously
< toClass)
<
someValuesFrom (existential local range restrictions; previously
< hasClass)
<
2.1.4 OWL Lite Restricted Cardinality
< Synopsis
<
<
minCardinality (restricted to 0 or 1)
<
maxCardinality (restricted to 0 or 1)
<
cardinality (restricted to 0 or 1)
<
2.1.5 OWL Lite Datatypes Synopsis
<
Following the decisions of RDF Core.
<
<
2.1.6 OWL Lite Header Information Synopsis
<
<
imports
<
versionInfo
<
priorVersion
<
backwardCompatibleWith
<
incompatibleWith
<
<
2.2 OWL DL and Full Synopsis
< The list of OWL DL and OWL Full language constructs that are in addition to
< those of OWL Lite are given below.
<
2.2.1 OWL Class Axioms Synopsis
<
<
oneOf (enumerated classes)
<
disjointWith
<
sameClassAs applied to class expressions
<
rdfs:subClassOf applied to class expressions
<
2.2.2 OWL Boolean Combinations of Class
< Expressions Synopsis
<
<
unionOf
<
intersectionOf
<
complementOf
<
2.2.3 OWL Arbitrary Cardinality Synopsis
<
<
minCardinality
<
maxCardinality
<
cardinality
<
2.2.4 OWL Filler Information Synopsis
<
<
hasValue Descriptions can include specific value information
<
<
<
3. Language Description of OWL Lite
< This section provides an expanded description of
< the OWL Lite language features in English. An abstract syntax is used
< for presentation of the language. OWL Lite has a subset of
< the full OWL language
< constructors and has a few limitations. Unlike the full OWL language (and
< DAML+OIL), classes can only be defined in terms of named superclasses and only
< certain kinds of restrictions can be used.
< Equivalence between classes and subclass relationships between classes
< are only allowed to be stated on named classes.
< Similarly, property 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
< OWL can be viewed as an extension of a restricted view of the RDF language.
< Therefore every OWL document is an RDF document, but not all RDF documents are OWL
< documents. All terms are in the OWL namespace unless explicitly stated
< otherwise. Thus, the term Class is more precisely stated as
< owl:Class and rdfs:subPropertyOf indicates that
< subProperty is from
< the rdfs namespace. This document uses the term "individual"
< to refer
< to objects that belong to classes (e.g., the individual Deborah belongs to the
< class Person) as well as to objects that are datatypes (e.g., the individual 4
< is an integer).
<
< The following OWL Lite features related to RDF Schema are included.
<
<
Class: Classes can be made to be equivalent to or subclasses
< of intersections of other classes. There is a built-in most
< general class named Thing that is the class of all individuals and the
< superclass of all classes. We may choose to make a new subclass of the class
< Thing named Mammal. (Later we may choose to refine Mammal to include
< additional information.) We may also create a new class named Person that is a
< subclass of Mammal. From this a reasoner can deduce that any instance of the
< class Person is also an instance of the class Mammal. Note that there is no
< limitation on cycle creation in subclass hierarchies.
<
<
rdfs:Property: A term that will be used as a relationship
< between individuals is a property. Examples of properties include:
< hasChild, hasRelative, hasSibling, and hasAge. The first three
< relate an instance of a class Person to another instance of the
< class Person and the last one (hasAge) relates an instance
< of the class Person to an instance of the datatype Integer.
<
<
rdfs:subClassOf: Class hierarchies may be created by stating
< that classes are subclasses of other classes. For example, the class Person
< could be stated to be a subclass of the class Mammal.
< From this a reasoner can
< deduce that if X is a Person, then X is a Mammal.
<
rdfs:subPropertyOf: Property hierarchies may be created by
< stating that some properties are subproperties of other properties. For
< example, hasSibling may be stated to be a subproperty of hasRelative. From
< this a reasoner can deduce that if X is related to Y by the hasSibling
< property, then X is also related to Y by the hasRelative property.
<
rdfs:domain: Properties may be stated to have domains,
< (i.e., if X is related to Y by a property p with a domain class Z,
< then X must
< be an instance of the domain class Z). For example, the property hasChild may be
< stated to have the domain of Mammal. From this a reasoner can deduce that if X
< is related to Y by the hasChild property, i.e., Y is the child of X, then X is
< a Mammal. Note that these are called global restrictions since the restriction
< is stated on the property and not just on the property when it is associated
< with a particular class. See the discussion below on local restrictions for
< more information.
<
rdfs:range: Properties may be stated to have ranges, (i.e.,
< if X is related to Y by a property p with a range class Z,
< then Y must be an
< instance of the range class Z). For example, the property hasChild may be stated
< to have the range of Mammal. From this a reasoner can deduce that if Louise is
< related to Deborah by the hasChild property, i.e., Deborah is the child of
< Louise, then Deborah is a Mammal. Range is also a global restriction as is
< domain above. See the discussion below on local restrictions for more
< information.
<
Individual: Individuals may be described as an instance of a
< class,
< and properties may also be used to relate one individual to another. For
< example, an individual named Deborah may be described as an instance of the
< class Person and the property hasEmployer may be used to relate the individual
< Deborah to the individual StanfordUniversity.
<
<
3.2 OWL Lite Equality and Inequality
< The following OWL Lite features related to equality or inequality are included.
<
<
sameClassAs: Two classes may be stated to be the same (i.e.,
< they may be stated to be different names for the same set of individuals).
< Equality can be used to create synonymous classes. For example, Car can
< be stated to be sameClassAs Automobile. From this a reasoner can deduce
< that any individual that is an instance of Car is also an instance of
< Automobile and vice versa.
<
samePropertyAs: Two properties may be stated to be the same.
< Equality may be used to create synonymous properties.
< For example, hasLeader may
< be stated to be the samePropertyAs hasHead. From this a reasoner can
< deduce that if X is related to Y by the property hasLeader, X is also related
< to Y by the property hasHead and vice versa. A reasoner can also deduce that
< hasLeader is a subproperty of hasHead and hasHead is a subProperty of
< hasLeader.
<
<
sameIndividualAs: Two individuals may be stated to be the
< same. Equality may be used to create a number of different names that
< refer to the same individual. For example, the individual
< Deborah may be stated to be the same individual as DeborahMcGuinness.
<
<
differentIndividualFrom: Two individuals may be stated to be
< different from each other. For example, the individuals Frank and Deborah may
< be stated to be different from each other. From this inequality,
< a reasoner can deduce
< that Frank and Deborah refer to two unique individuals. Thus, if the
< individuals Frank and Deborah are both values for a property that is stated to
< be functional (thus the property has at most one value), then there is a
< contradiction. Stating differences can be important in systems such as OWL
< (and RDF) that do not assume that individuals have one and only one name. For
< example, with no additional information, a reasoner will not
< deduce that Frank and Deborah refer to distinct individuals.
<
3.3 OWL Lite Property Characteristics
There are
< special identifiers in OWL Lite that are used to provide information
< concerning properties and their values.
<
<
inverseOf: One property may be stated to be the inverse of
< another property. If the property P1 is stated to be the inverse
< of the property P2, then if X is related to Y by the P2 property, then Y is
< related to X by the P1 property. For example, if hasChild is the inverse of
< hasParent and Deborah hasParent Louise, then a reasoner can deduce that Louise
< hasChild Deborah.
<
TransitiveProperty: Properties may be stated to be
< transitive. If a property is transitive, then if the pair (x,y) is an
< instance
< of the transitive property P, and the pair (y,z) is an instance of P, then the
< pair (x,z) is also an instance of P. For example, if ancestor is stated to be
< transitive, and if Sara is an ancestor of Louise (i.e., (Sara,Louise) is an
< instance of the property ancestor)
< and Louise is an ancestor of Deborah (i.e.,
< (Louise,Deborah) is an instance of the property ancestor), then a reasoner can deduce that
< Sara is an ancestor of Deborah (i.e., (Sara,Deborah) is an instance of the
< property ancestor).
< The same OWL DL and DAML+OIL side conditions hold that restrict transitive
< properties (and their superproperties) from having an atmost1 or an exactly1
< restriction. See the property axiom section of the abstract syntax document
< for more information.
<
SymmetricProperty: Properties may be stated to be symmetric.
< If a property is symmetric, then if the pair (x,y) is an instance of the
< symmetric property P, then the pair (y,x) is also an instance of P. For
< example, friend may be stated to be a symmetric property. Then a reasoner that
< is given that Frank is a friend of Deborah can deduce that Deborah is a
< friend of Frank. Note that properties that are to be made symmetric
< may not have arbitrary domains and ranges.
<
FunctionalProperty : Properties may be stated to have a
< unique value.
< If a property is a FunctionalProperty, then it has no more than one
< value for each individual and it may have no values for an individual.
< This characteristic has been referred to
< as having a unique property.
< Alternatively, the property's minimum
< cardinality is zero and its maximum cardinality is 1. For example,
< hasPrimaryEmployer may be stated to be a FunctionalProperty.
< From this a reasoner may deduce that
< no individual may have more than one primary employer.
< This does not imply that every Person must
< have at least one primary employer however. OWL Lite includes the same
< side condition as is stated in the DAML+OIL specification and
< OWL DL that does not allow
< transitive properties nor any of their superproperties to be declared
< functional. For more information on the details of the limitation, see the
< Warning under the property element section of the DAML+OIL reference
< description or in a research
< paper by Horrocks, Sattler, and Tobies showing the undecidability that
< would follow from violating this restriction.
< See the semantics document for more information concerning the restrictions.
<
<
InverseFunctionalProperty:
< Properties may be
< stated to be inverse functional. If a property is inverse functional then the
< inverse of the property is functional. Thus the inverse of the property has at
< most one value for each individual.
< This characteristic has also been referred to as
< an unambiguous property. For
< example, hasUSSocialSecurityNumber (a unique identifier for United States
< residents) may be stated to be inverse functional (or unambiguous). The
< inverse of this property (which may be referred to as isTheSocialSecurityNumberFor) has
< at most one value for an individual.
< Thus any one person's social security number is the only
< value for their isTheSocialSecurityNumberfor property.
< From this a reasoner can
< deduce that no two different individual instances of Person have the identical
< US Social Security Number. Also, a reasoner can deduce that if two instances
< of Person have the same social security number, then those two instances refer
< to the same individual. See the Reference Document for more
< information.
<
3.4 OWL Lite Property Type Restriction
< OWL Lite allows restrictions to be placed on the type
< of values for a property.
< The following two restrictions are placed on properties with respect to a class
< and thus have the impact of limiting the extent of the class with the value
< restriction.
<
<
allValuesFrom (toClass in DAML+OIL):
< The restriction allValuesFrom is stated
< on a property with respect to a class. A property on a particular class may
< have a local range restriction associated with it. Thus if an
< individual instance of the class is related by the property to a second
< individual, then the second individual can be inferred to be an instance of
< the local range restriction class. For example, the class Person may have a
< property called hasOffspring restricted to have allValuesFrom the class
< Person. This means that if an individual person Louise is related by the
< property hasOffspring to the individual Deborah, then from this a reasoner can
< deduce that Deborah is an instance of the class Person. This
< restriction allows the
< property hasOffspring to be used with other classes, such as the class Cat,
< and have an appropriate value restriction associated with the use of the
< property on that class. In this case, hasOffspring would have the local range
< restriction of Cat when associated with the class Cat and would have the local
< range restriction Person when associated with the class Person. Note that a
< reasoner can not deduce from an allValuesFrom restriction alone that there is
< at least one value for the property.
<
<
someValuesFrom: (hasClass in DAML+OIL):
< The restriction someValuesFrom is stated on a property with respect to a class. A
< particular class may have a restriction on a property that at least one value
< for that property is of a certain type. For example, the class
< SemanticWebPaper may have a someValuesFrom restriction on the
< hasKeyword property that states that some value for the hasKeyword
< property should be an instance of the class SemanticWebTopic. This allows for
< the option of having multiple keywords and as long as one or more is an
< instance of the class SemanticWebTopic, then the paper would be consistent
< with the someValuesFrom restriction. Unlike allValuesFrom,
< someValuesFrom does not restrict all the values of the property to be
< instances of the same class. If myPaper is an individual instance of the
< SemanticWebPaper class, then myPaper is related by the hasKeyword
< property to at least one individual instance of the SemanticWebTopic class.
< Note that a reasoner can not deduce (as it could with allValuesFrom
< restrictions) that all values of hasKeyword are instances of the
< SemanticWebTopic class
<
<
3.5 OWL Lite Restricted Cardinality
<
A limited form of cardinality restrictions have been included in OWL Lite.
< 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 limit the cardinality of that property on instances of the 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 full OWL).
<
<
minCardinality: Cardinality is stated on a property with
< respect to a particular class. If a minCardinality of 1 is stated on a
< property with respect to a class, then any instance of that class will be
< related to at least one individual by that property. This restriction
< is another way of
< saying that the property is required for all individual instances of
< the class. For example, the class Person would not have any minimum cardinality
< restrictions stated on a hasOffspring property since not all person have offspring. The class Parent, however would have a minimum cardinality of 1
< on the hasOffspring property. If a reasoner knows that Louise is a Person, then nothing can be deduced about a minimum cardinality for her hasOffspring property. Once it is discovered that Louise is an instance of Parent, then a
< reasoner can deduce that Louise is related to at
< least one individual by the hasOffspring property. From this information
< alone, a reasoner can not deduce any maximum number of offspring for
< individual instances of the class parent. In OWL Lite the only minimum
< cardinalities allowed are 0 or 1. A minimum cardinality of zero on a property
< just states (in the absence of any more specific information) that the
< property is optional with respect to a class. For example, the property has
< Offspring may have a minimum cardinality of zero on the class Person (while it
< is stated to have the more specific information of minimum cardinality of one
< on the class Parent).
<
<
maxCardinality: Cardinality is stated on a property with
< respect to a particular class. If a maxCardinality of 1 is stated on a
< property with respect to a class, then any instance of that class will be
< related to at most one individual by that property. A maxCardinality 1 restriction is
< sometimes called a functional or unique property. For example, the property
< hasRegisteredVotingState on the class UnitedStatesCitizens may have a maximum
< cardinality of one (because people are only allowed to vote in only one
< state). From this a reasoner can deduce that individual instances of the class
< USCitizens may not be related to two or more distinct individuals through the
< hasRegisteredVotingState property. From a maximum cardinality one restriction
< alone, a reasoner can not deduce a minimum cardinality of 1. It may be useful
< to state that certain classes have no values for a particular property. For
< example, instances of the class UnmarriedPerson should not be related to
< any individuals by the property hasSpouse. This situation is
< represented by a maximum cardinality of zero on the hasSpouse property on
< the class UnmarriedPerson.
<
cardinality: Cardinality is provided as a convenience when
< it is useful to state that a property on a class has both
< minCardinality 0 and maxCardinality 0 or both
< minCardinality 1 and maxCardinality 1. For example, the class
< Person has exactly one value for the property hasBirthMother. From this a
< reasoner can deduce that no two distinct individual instances of the class
< Mother may be values for
< the hasBirthMother property of the same person.
<
< 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 publically 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 Datatypes
< Datatypes will be included OWL Lite. Thus, for
< example, a range could be stated to be XSD:decimal. The exact details
< of OWL datatypes are
< dependent upon the RDF Core Group's decisions on datatypes for RDF. See
< datatypeProperty and objectTypeProperty in the Reference specification for
< more information.
<
3.7 OWL Lite Header Information
< OWL supports standard notions of ontology referencing, inclusion, and
< meta-information. All three levels of OWL include ways of specifying
< ontologies to import,
< ontology version information,
< prior ontology version information,
< ontologies known to be backward compatible,
< and ontologies known to be incompatible.
<
< The reference document includes information in its ontology elements section
< describing these notions.
<
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. The semantics document explains the distinctions
< and limitations. We describe the OWL DL and OWL Full vocabulary that
< extends the constructions of
< OWL Lite with the following.
<
<
oneOf (enumerated classes): Classes can be described by
< enumeration of the individuals that make up the class. The members of the
< class are exactly the set of enumerated individuals; no more, no less. For
< example, the class of daysOfTheWeek can be described by simply enumerating the
< individuals Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
< From this a reasoner can deduce the maximum cardinality (7) of any property
< that has daysOfTheWeek as its allValuesFrom restriction.
<
hasValue (property values): A property can be required to
< have a certain individual as a value (also sometimes referred to as property
< values). For example, instances of the class of dutchCitizens can be
< characterized as those people that have theNetherlands as a value of their
< nationality. (TheNetherlands itself is an instance of the class of
< Nationalities).
<
disjointWith: Full OWL allows the statement
< that classes are disjoint.
< For example, in OWL Man and Woman can be stated to be disjoint
< classes. From this disjointWith statement, a reasoner can deduce
< an inconsistency when an individual is stated to be an instance of
< both and similarly a reasoner
< can deduce that if A is an instance of Man, then A is
< not an instance of Woman.
<
unionOf, complementOf, and intersectionOf (Boolean
< combinations): OWL allows arbitrary Boolean combinations of classes:
< IntersectionOf, UnionOf, and complementOf. For example, taking the
< intersection of the class of DutchCitizens with the class of SeniorCitizens
< describes the class of DutchSeniorCitizens.
< Using complement, we could state
< that Children are not SeniorCitizens (i.e. the class Children is a subclass
< of the complement of SeniorCitizens). Citizenship of the European Union could
< be described as the union of the citizenship of all member states.
<
minCardinality, maxCardinality, cardinality (full
< cardinality): While in OWL Lite, cardinalities are restricted to at least, at
< most or exactly 1 or 0, full OWL allows cardinality statements for arbitrary
< non-negative integers. For example the class of DINKs ("Dual Income, No Kids")
< would restrict the cardinality of the property hasIncome to a minimum
< cardinality of two (while the property hasChild would have be restricted to
< cardinality 0).
<
complex classes : In many constructs,
< OWL Lite restricts the syntax to
< single class names (e.g. in subClassOf or equivalentClass statements). Full
< OWL extends this restriction to allow arbitrarily complex class
< descriptions, consisting of enumerated classes, property restrictions, and
< Boolean combinations. OWL also includes a special "bottom" class with
< the name Nothing that is the empty class.
< Also, OWL full allows classes to be used as instances (and OWL DL and OWL Lite do
< not). For more on this topic, see the "Design for Use" section of the Guide document.
<
This document provides a high level
< description of OWL by providing a feature synopsis of OWL Lite
< and the full OWL vocabulary used in both OWL DL and OWL Full.
< It provides simple English descriptions of the
< constructs along with simple examples. It makes no attempt to include a
< syntax description.
< It references the OWL reference
< document, the
<
< OWL Guide, and the
< OWL Abstract Syntax and Semantics document for more details.
< Previous versions (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.
---
> Web Ontology Language (OWL): Overview
OWL (the Web Ontology Language)is intended to be used by applications that need to process the content of information instead of just presenting the human-readable content. OWL facilitates greater machine readability of web content than that supported by XML, RDF, and RDF Schema by providing additional vocabulary.The OWL language provides three increasingly expressive sublanguages: OWL Lite, OWL DL, and OWL Full.
This document is intended for readers who want to get a first impressionof the capabilities of OWL. It provides an introduction to OWL byinformally describing the features of each of the sublanguages of OWL.Some knowledge of RDF Schema is useful for understanding this document, butnot essential. After this document, interested readers may turn to theOWLGuide for a more detailed descriptions and extensive examples on thefeatures of OWL. The normative formal definition of OWL can be found inthe OWL Abstract Syntax and Semantics.
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 Recommendations and other technical reports is available at http://www.w3.org/TR/.
This Overview is a non-normative document, which means that it does notprovide a definitive specification of OWL. The examples and otherexplanatory material in the Overview are provided to help you understandOWL, but they may not always provide definitive or fully-completeanswers. The normative formal definition of OWL can be found inthe OWL Abstract Syntax and Semantics.
This document is a working document for the use by W3C Members and other interested parties. It may be updated, replaced or made obsolete by other documents at any time.
This document describes OWL (the Web Ontology Language).OWL is intended to be used by applications that need to process the content of information, instead of presenting just human-readable content. OWL can be used to explicitly represent term vocabularies and the relationships between entities in these vocabularies. This representation of terms and their interrelationshipscreates an ontology. The ontology language in OWL is more expressive than that inXML, RDF, and RDF-S, and thus OWL goes beyond these language inits ability to represent machine readable 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.
The goal of this document is to provide a simple introduction to OWL by providing a language feature listing with very brief feature descriptions. For a more complete description of OWL, see the OWL Reference,the OWL Guide for an extended example, and the OWL Abstract Syntax and Semantics document for the normative formaldescription of OWL.
1.1 Why OWL?
The Semantic Web is a vision for the future of the Web in whichinformation is given explicit meaning, making it easier for machines toautomatically process and integrate information available on theWeb. The Semantic Web will build on XML's ability to define customizedtagging schemes and RDF's flexible approach to representing data. Thenext element required for the Semantic Web is a Web Ontology Language(OWL) which can formally describe the meaning of the terminology usedin web documents. In order for machines to perform useful reasoningtasks on these documents, the language must go beyond the basicsemantics of RDF Schema. TheOWL Requirements Documentdiscusses more in detail "What is ontology", motivates the need for a Web Ontology Language in terms ofsix usecases", formulatesdesign goals,requirementsandobjectivesfor OWL.
OWL is part of a "stack" of Semantic Web related W3C recommendations, inthe following way:
is a datamodel for objects ("resources") and relations between them,provides a simple semantics for this datamodel, and these datamodels can berepresented in an XML syntax.
is a vocabulary for describing properties and classes ofRDF resources, with a semantics for generalisation-hierarchies of such properties and classes.
OWL
adds more vocabulary for describing properties and classes:among others, relations between classes (e.g. disjointness)cardinality (e.g. "exactly one"), equality, richer typing of properties,characteristics of properties (e.g. symmetry), and enumerated classes.
1.2 The three sublanguages of OWL
The OWL language provides three increasingly expressive sublanguagesdesigned for use by specific communities of implementers and users.
OWL Lite supports those users primarily needing a classification hierarchy and simple constraint features. For example, while it supports cardinality constraints, it only permits cardinality values of 0 or 1. It should be simpler to provide tool support for OWL Lite than its more expressive relatives, and provides a quick migration path for thesauri and other taxonomies. @@ Add link to RDF migration path if that will be published anywhere
OWL DL supports those userswho want the maximum expressiveness while their reasoning systemsmaintain computationalcompleteness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time).OWL DL includes all OWL language constructs,but they can be used only under certain restrictions(for example, a class cannot itself be a member of another class). OWL DL is so named due to its correspondence withdescription logics, a field of research that has studied the logics that form the formal foundation of OWL.
OWL Full is meant forusers who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees. For example, in OWL Full a class can be treated simultaneously as a collection of individuals and as an individual in its own right. OWL Full allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary. It is unlikely that any reasoning software will be able to support every feature ofOWL Full.
Each of these sublanguages is an extension of its simpler predecessor, bothin what can be legally expressed and in what can be validly concluded.The following set of relations hold. Their inverses do not.
Every legal OWL Lite ontology is a legal OWL DL ontology.
Every legal OWL DL ontology is a legal OWL Full ontology.
Every valid OWL Lite conclusion is a valid OWL DL conclusion.
Every valid OWL DL conclusion is a valid OWL Full conclusion.
Ontology developers adopting OWL should consider which species best suits their needs. The choice between OWL Lite and OWL DL depends on the extent to which users require the more expressive restriction constructs provided by the full language. The choice between OWL DL and OWL Full mainly depends on the extent to which users require the meta-modelling facilities of RDF Schema (e.g. defining classes of classes, attaching properties to classes). When using OWL Full as compared to OWL DL, reasoning support is less predictable.
1.3 The structure of this document
This document first describes the language elements from OWL Lite,followed by a description from the language elements that are added inOWL DL and OWL Full (OWL DL and OWL Full contain the same languageelements; OWL Full is more liberal about how these language elements canbe combined)
2. Language Synopsis
Thisprovides a quick index to all the language featuresfor 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 presentin RDF or RDF Schema. Otherwise terms are introduced by OWL.
2.1 OWL Lite Synopsis
The list of OWL Lite language constructs are given below. @@ These should all be hyperlinked to the relevant sections
The list of OWL DL and OWL Full language constructs that are in addition tothose of OWL Lite are given below. @@ These should all be hyperlinked to the relevant sections
This section provides an informal description ofthe OWL Lite language features in English. We do not discuss thespecific syntax of these features (see the OWL Guide for examples, and the OWL Reference for definitons). OWL Lite has a subset of the full OWL language constructors and has a few limitations w.r.t. OWL DL and OWL Full.Classes can only be defined in terms of named superclasses(superclasses cannot be arbitrary logical expressions), and only certain kinds of class restrictions can be used. Equivalence between classes and subclass relationships between classesare also only allowed to be stated on named classes,and not between arbitrary class expressions. Similarly, property 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
OWL can be viewed as an extension of a restricted view of the RDF language.Therefore every OWL document is an RDF document, but not all RDF documents are OWL documents. All terms are in the OWL namespace unless explicitly stated otherwise. Thus, the term Class is more precisely stated as owl:Class and rdfs:subPropertyOf indicates that subProperty is from the rdfs namespace. This document uses the term "individual"to refer to objects that belong to classes (e.g., the individual Deborah belongs to the class Person) as well as to objects that are datatypes (e.g., the individual 4 is an integer).
The following OWL Lite features related to RDF Schema are included.
Class: Classes can be made to be equivalent to or subclasses of intersections of other classes. There is a built-in most general class named Thing that is the class of all individuals and the superclass of all classes. We may choose to make a new subclass of the class Thing named Mammal. (Later we may choose to refine Mammal to include additional information.) We may also create a new class named Person that is a subclass of Mammal. From this a reasoner can deduce that any instance of the class Person is also an instance of the class Mammal. Note that there is no limitation on cycle creation in subclass hierarchies.
rdfs:Property: A term that will be used as a relationship between individuals is a property. Examples of properties include: hasChild, hasRelative, hasSibling, and hasAge. The first three relate an instance of a class Person to another instance of the class Person and the last one (hasAge) relates an instance of the class Person to an instance of the datatype Integer.
rdfs:subClassOf: Class hierarchies may be created by stating that classes are subclasses of other classes. For example, the class Person could be stated to be a subclass of the class Mammal. From this a reasoner can deduce that if X is a Person, then X is a Mammal.
rdfs:subPropertyOf: Property hierarchies may be created by stating that some properties are subproperties of other properties. For example, hasSibling may be stated to be a subproperty of hasRelative. From this a reasoner can deduce that if X is related to Y by the hasSibling property, then X is also related to Y by the hasRelative property.
rdfs:domain: Properties may be stated to have domains, (i.e., if X is related to Y by a property p with a domain class Z, then X must be an instance of the domain class Z). For example, the property hasChild may be stated to have the domain of Mammal. From this a reasoner can deduce that if X is related to Y by the hasChild property, i.e., Y is the child of X, then X is a Mammal. Note that these are called global restrictions since the restriction is stated on the property and not just on the property when it is associated with a particular class. See the discussion below on local restrictions for more information.
rdfs:range: Properties may be stated to have ranges, (i.e., if X is related to Y by a property p with a range class Z, then Y must be an instance of the range class Z). For example, the property hasChild may be stated to have the range of Mammal. From this a reasoner can deduce that if Louise is related to Deborah by the hasChild property, i.e., Deborah is the child of Louise, then Deborah is a Mammal. Range is also a global restriction as is domain above. See the discussion below on local restrictions for more information.
Individual: Individuals may be described as an instance of a class, and properties may also be used to relate one individual to another. For example, an individual named Deborah may be described as an instance of the class Person and the property hasEmployer may be used to relate the individual Deborah to the individual StanfordUniversity.
3.2 OWL Lite Equality and Inequality
The following OWL Lite features related to equality or inequality are included.
sameClassAs: Two classes may be stated to be the same (i.e., they may be stated to be different names for the same set of individuals). Equality can be used to create synonymous classes. For example, Car can be stated to be sameClassAs Automobile. From this a reasoner can deduce that any individual that is an instance of Car is also an instance of Automobile and vice versa.
samePropertyAs: Two properties may be stated to be the same. Equality may be used to create synonymous properties. For example, hasLeader may be stated to be the samePropertyAs hasHead. >From this a reasoner can deduce that if X is related to Y by the property hasLeader, X is also related to Y by the property hasHead and vice versa. A reasoner can also deduce that hasLeader is a subproperty of hasHead and hasHead is a subProperty of hasLeader.
sameIndividualAs: Two individuals may be stated to be the same. Equality may be used to create a number of different names that refer to the same individual. For example, the individual Deborah may be stated to be the same individual as DeborahMcGuinness.
differentIndividualFrom: Two individuals may be stated to be different from each other. For example, the individuals Frank and Deborah may be stated to be different from each other. From this inequality, a reasoner can deduce that Frank and Deborah refer to two unique individuals. Thus, if the individuals Frank and Deborah are both values for a property that is stated to be functional (thus the property has at most one value), then there is a contradiction. Stating differences can be important in systems such as OWL (and RDF) that do not assume that individuals have one and only one name. For example, with no additional information, a reasoner will not deduce that Frank and Deborah refer to distinct individuals.
3.3 OWL Lite Property Characteristics
There are special identifiers in OWL Lite that are used to provide information concerning properties and their values.
inverseOf: One property may be stated to be the inverse of another property. If the property P1 is stated to be the inverse of the property P2, then if X is related to Y by the P2 property, then Y is related to X by the P1 property. For example, if hasChild is the inverse of hasParent and Deborah hasParent Louise, then a reasoner can deduce that Louise hasChild Deborah.
TransitiveProperty: Properties may be stated to be transitive. If a property is transitive, then if the pair (x,y) is an instance of the transitive property P, and the pair (y,z) is an instance of P, then the pair (x,z) is also an instance of P. For example, if ancestor is stated to be transitive, and if Sara is an ancestor of Louise (i.e., (Sara,Louise) is an instance of the property ancestor) and Louise is an ancestor of Deborah (i.e., (Louise,Deborah) is an instance of the property ancestor), then a reasoner can deduce that Sara is an ancestor of Deborah (i.e., (Sara,Deborah) is an instance of the property ancestor). The same OWL DL and DAML+OIL side conditions hold that restrict transitive properties (and their superproperties) from having an atmost1 or an exactly1 restriction. See the property axiom section of the abstract syntax document for more information.
SymmetricProperty: Properties may be stated to be symmetric. If a property is symmetric, then if the pair (x,y) is an instance of the symmetric property P, then the pair (y,x) is also an instance of P. For example, friend may be stated to be a symmetric property. Then a reasoner that is given that Frank is a friend of Deborah can deduce that Deborah is a friend of Frank. Note that properties that are to be made symmetricmay not have arbitrary domains and ranges.
FunctionalProperty : Properties may be stated to have a unique value. If a property is a FunctionalProperty, then it has no more than one value for each individual and it may have no values for an individual. This characteristic has been referred to as having a unique property.Alternatively, the property's minimum cardinality is zero and its maximum cardinality is 1. For example, hasPrimaryEmployer may be stated to be a FunctionalProperty. From this a reasoner may deduce that no individual may have more than one primary employer. This does not imply that every Person must have at least one primary employer however. OWL Lite includes the same side condition as is stated in the DAML+OIL specification andOWL DL that does not allow transitive properties nor any of their superproperties to be declared functional. For more information on the details of the limitation, see the Warning under the property element section of the DAML+OIL reference description or in a research paper by Horrocks, Sattler, and Tobies showing the undecidability that would follow from violating this restriction. See the semantics document for more information concerning the restrictions.
InverseFunctionalProperty: Properties may be stated to be inverse functional. If a property is inverse functional then the inverse of the property is functional. Thus the inverse of the property has at most one value for each individual. This characteristic has also been referred to as an unambiguous property. For example, hasUSSocialSecurityNumber (a unique identifier for United States residents) may be stated to be inverse functional (or unambiguous). The inverse of this property (which may be referred to as isTheSocialSecurityNumberFor) has at most one value for an individual. Thus any one person's social security number is the only value for their isTheSocialSecurityNumberfor property. From this a reasoner can deduce that no two different individual instances of Person have the identical US Social Security Number. Also, a reasoner can deduce that if two instances of Person have the same social security number, then those two instances refer to the same individual. See the Reference Document for more information.
3.4 OWL Lite Property Type Restriction
OWL Lite allows restrictions to be placed on the type of values for a property. The following two restrictions are placed on properties with respect to a classand thus have the impact of limiting the extent of the class with the valuerestriction.
allValuesFrom (toClass in DAML+OIL): The restriction allValuesFrom is stated on a property with respect to a class. A property on a particular class may have a local range restriction associated with it. Thus if an individual instance of the class is related by the property to a second individual, then the second individual can be inferred to be an instance of the local range restriction class. For example, the class Person may have a property called hasOffspring restricted to have allValuesFrom the class Person. This means that if an individual person Louise is related by the property hasOffspring to the individual Deborah, then from this a reasoner can deduce that Deborah is an instance of the class Person. This restriction allows the property hasOffspring to be used with other classes, such as the class Cat, and have an appropriate value restriction associated with the use of the property on that class. In this case, hasOffspring would have the local range restriction of Cat when associated with the class Cat and would have the local range restriction Person when associated with the class Person. Note that a reasoner can not deduce from an allValuesFrom restriction alone that there is at least one value for the property.
someValuesFrom: (hasClass in DAML+OIL): The restriction someValuesFrom is stated on a property with respect to a class. A particular class may have a restriction on a property that at least one value for that property is of a certain type. For example, the class SemanticWebPaper may have a someValuesFrom restriction on the hasKeyword property that states that some value for the hasKeyword property should be an instance of the class SemanticWebTopic. This allows for the option of having multiple keywords and as long as one or more is an instance of the class SemanticWebTopic, then the paper would be consistent with the someValuesFrom restriction. Unlike allValuesFrom, someValuesFrom does not restrict all the values of the property to be instances of the same class. If myPaper is an individual instance of the SemanticWebPaper class, then myPaper is related by the hasKeyword property to at least one individual instance of the SemanticWebTopic class. Note that a reasoner can not deduce (as it could with allValuesFrom restrictions) that all values of hasKeyword are instances of the SemanticWebTopic class
3.5 OWL Lite Restricted Cardinality
A limited form of cardinality restrictions have been included in OWL Lite. 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 limit the cardinality of that property on instances of the class. OWL Lite cardinality restrictions are limited because they only allow statementsconcerning cardinalities of value 0 or 1 (they do not allow arbitrary values for cardinality, as is the case in full OWL).
minCardinality: Cardinality is stated on a property with respect to a particular class. If a minCardinality of 1 is stated on a property with respect to a class, then any instance of that class will be related to at least one individual by that property. This restriction is another way of saying that the property is required for all individual instances of the class. For example, the class Person would not have any minimum cardinalityrestrictions stated on a hasOffspring property since not all person have offspring. The class Parent, however would have a minimum cardinality of 1 on the hasOffspring property. If a reasoner knows that Louise is a Person, then nothing can be deduced about a minimum cardinality for her hasOffspring property. Once it is discovered that Louise is an instance of Parent, then a reasoner can deduce that Louise is related to at least one individual by the hasOffspring property. From this information alone, a reasoner can not deduce any maximum number of offspring for individual instances of the class parent. In OWL Lite the only minimum cardinalities allowed are 0 or 1. A minimum cardinality of zero on a property just states (in the absence of any more specific information) that the property is optional with respect to a class. For example, the property has Offspring may have a minimum cardinality of zero on the class Person (while it is stated to have the more specific information of minimum cardinality of one on the class Parent).
maxCardinality: Cardinality is stated on a property with respect to a particular class. If a maxCardinality of 1 is stated on a property with respect to a class, then any instance of that class will be related to at most one individual by that property. A maxCardinality 1 restriction is sometimes called a functional or unique property. For example, the property hasRegisteredVotingState on the class UnitedStatesCitizens may have a maximum cardinality of one (because people are only allowed to vote in only one state). From this a reasoner can deduce that individual instances of the class USCitizens may not be related to two or more distinct individuals through the hasRegisteredVotingState property. From a maximum cardinality one restriction alone, a reasoner can not deduce a minimum cardinality of 1. It may be useful to state that certain classes have no values for a particular property. For example, instances of the class UnmarriedPerson should not be related to any individuals by the property hasSpouse. Th individuals by the property hasSpouse. This situation is represented by a maximum cardinality of zero on the hasSpouse property on the class UnmarriedPerson.
cardinality: Cardinality is provided as a convenience when it is useful to state that a property on a class has both minCardinality 0 and maxCardinality 0 or both minCardinality 1 and maxCardinality 1. For example, the class Person has exactly one value for the property hasBirthMother. From this a reasoner can deduce that no two distinct individual instances of the class Mother may be values for the hasBirthMother property of the same person.
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 publically available webont mail archives with the most relevant message athttp://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0063.html.
3.6 OWL Lite Datatypes
Datatypes will be included OWL Lite. Thus, for example, a range could be stated to be XSD:decimal. The exact details of OWL datatypes are dependent upon the RDF Core Group's decisions on datatypes for RDF. See datatypeProperty and objectTypeProperty in the Reference specification for more information.
3.7 OWL Lite Header Information
OWL supports standard notions of ontology referencing, inclusion, and meta-information. All three levels of OWL include ways of specifyingontologies to import, ontology version information,prior ontology version information, ontologies known to be backward compatible,and ontologies known to be incompatible. The reference document includes information in its ontology elements sectiondescribing these notions.
4. Incremental Language Description of OWL DL and OWL FULL
Both OWL DL and OWL Full use the same vocabulary although OWL DL is subjectto some restrictions. Roughly, OWL DL requirestype separation (a class can not also be an individual or property, aproperty can not also be an individual or class). This implies thatrestrictions cannot be applied to the language elements of OWL itself(something that is allowed in OWL Full). Furthermore, OWL DL requiresthat properties are either ObjectProperties or DatatypeProperties: DatatypeProperties arerelations between instances of classes and RDF literals and XML Schemadatatypes, while ObjectProperties are relations between instances of twoclasses. The semantics document explains the distinctionsand limitations. We describe the OWL DL and OWL Full vocabulary that extends the constructions of OWL Lite with the following.
oneOf (enumerated classes): Classes can be described by enumeration of the individuals that make up the class. The members of the class are exactly the set of enumerated individuals; no more, no less. For example, the class of daysOfTheWeek can be described by simply enumerating the individuals Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. From this a reasoner can deduce the maximum cardinality (7) of any property that has daysOfTheWeek as its allValuesFrom restriction.
hasValue (property values): A property can be required to have a certain individual as a value (also sometimes referred to as property values). For example, instances of the class of dutchCitizens can be characterized as those people that have theNetherlands as a value of their nationality. (TheNetherlands itself is an instance of the class of Nationalities).
disjointWith: Full OWL allows the statement that classes are disjoint. For example, in OWL Man and Woman can be stated to be disjoint classes. From this disjointWith statement, a reasoner can deduce an inconsistency when an individual is stated to be an instance of both and similarly a reasoner can deduce that if A is an instance of Man, then A is not an instance of Woman.
unionOf, complementOf, and intersectionOf (Boolean combinations): OWL allows arbitrary Boolean combinations of classes: IntersectionOf, UnionOf, and complementOf. For example, taking the intersection of the class of DutchCitizens with the class of SeniorCitizens describes the class of DutchSeniorCitizens. Using complement, we could state that Children are not SeniorCitizens (i.e. the class Children is a subclass of the complement of SeniorCitizens). Citizenship of the European Union could be described as the union of the citizenship of all member states.
minCardinality, maxCardinality, cardinality (full cardinality): While in OWL Lite, cardinalities are restricted to at least, at most or exactly 1 or 0, full OWL allows cardinality statements for arbitrary non-negative integers. For example the class of DINKs ("Dual Income, No Kids") would restrict the cardinality of the property hasIncome to a minimum cardinality of two (while the property hasChild would have be restricted to cardinality 0).
complex classes : In many constructs, OWL Lite restricts the syntax to single class names (e.g. in subClassOf or equivalentClass statements). Full OWL extends this restriction to allow arbitrarily complex class descriptions, consisting of enumerated classes, property restrictions, and Boolean combinations. OWL also includes a special "bottom" class with the name Nothing that is the empty class.Also, OWL full allows classes to be used as instances (and OWL DL and OWL Lite donot). For more on this topic, see the "Design for Use" section of the Guide document.
This document provides a high level description of OWL by providing a feature synopsis of OWL Lite and the full OWL vocabulary used in both OWL DL and OWL Full.It provides simple English descriptions of the constructs along with simple examples. It makes no attempt to include a syntax description.It references the OWL reference document, theOWL Guide, and the OWL Abstract Syntax and Semantics document for more details. Previous versions (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.