Download (direct link):
The OWL developers began with DAML+OIL as the initial candidate for an expressive Web ontology language, and evaluated DAML+OIL with respect to its known problems and the sufficiency of its semantic expressivity for developing ontologies usable on the Web. Initially, use cases were developed to drive out requirements, then the requirements for an ontology language were codified.24 An abstract syntax and semantics, then the full language syntax (at least, up to this point; there are still some issues under discussion), and its semantics were defined.25
OWL has three levels of language: OWL Lite, OWL DL (for description logic), and OWL Full. These three levels are in increasing order of expressivity. The higher levels of the language contain the lower levels and so are said to extend the lower levels. A valid conclusion in OWL Lite is still a valid conclusion in
24Heflin et al. (2002).
25The important documents are a feature synopsis of OWL, McGuinness and van Harmelen (2002); the OWL guide, Smith et al. (2002); the OWL v1.0 language reference, Dean et al. (2002); OWL abstract syntax and semantics, Patel-Schneider et al. (2002); OWL test cases, Carroll and De Roo (2002). An additional semantics document may be developed.
OWL DL and OWL Full, and a valid conclusion in OWL DL is a valid conclusion in OWL Full, but not necessarily in OWL Lite. A valid conclusion in OWL Full is not necessarily a valid conclusion in either OWL DL or OWL Lite. Table 8.10 depicts the levels of language in OWL.
Overview of OWL
OWL builds on the conception and design of DAML+OIL. Similar to DAML+OIL, OWL has classes (and subclasses), properties (and subproperties), property restrictions, and both class and property individuals. Like DAML+OIL, OWL allows for class information and data-type information (from XML Schema), defines class constructs such as subClassOf, disjointWith, permits the boolean combination of class expressions (intersectionOf, unionOf, complementOf), as well as enumerated (listed) classes. OWL also has quantifier forms. The universal quantifier (All) is present as owl:allValuesFrom as a restriction (owl:Restriction) on (owl:onProperty) a specific property (property name identified by a URI): For each instance of the class or data type so restricted, every value for the specified property must belong to the instance. The existential quantifier (some) is present as owl:someValuesFrom: For each instance of the class of data type so restricted, at least one value for the specified property must belong to the instance.
Some differences between OWL and DAML+OIL include the following:
■ Additions to RDF/S since the definition of DAML+OIL were included.
■■ Qualified restrictions in DAML+OIL were removed from OWL (http:// www.daml.org/language/features.html).
■■ Some semantically equivalent forms were renamed (for example: daml:hasClass is renamed owl:someValuesFrom).
■■ Various synonyms of RDF/S classes and properties that were in DAML+OIL were removed from OWL.
■■ Daml:disjointUnionOf was removed because it can be derived from other OWL constructs.
■■ Owl:symmetricProperty was added.
■■ Owl:functionalProperty and owl:inverseFunctionalProperty act as global cardinality restrictions. The former is equivalent to an owl:maxCardinality restriction of 1.
■■ Daml:equivalentTo is now owl:sameAs (with sameClassAs favored because it is a subproperty of rdfs:subClassOf). Note that there are comparable similarity constructs for properties and individuals: same-PropertyAs and sameIndividualAs, respectively.
■■ The namespace is now http://www.w3.org/2002/07/owl.
Table 8.10 OWL Language Levels
The complete OWL. For example, a class can be considered both as a collection of individuals and an individual itself.
OWL DL (description logic)
Slightly constrained OWL. Properties cannot be individuals, for example. More expressive cardinality constraints.
A simpler language, but one that is more expressive than RDF/S. Simple cardinality constraints only (0 or 1).
OWL can be viewed as a collection of RDF triples, but those triples that use the OWL vocabulary have a specific OWL-defined meaning. If a given RDF graph (or subgraph) instantiates the OWL specification, then OWL provides a semantic interpretation for the components of that graph or subgraph. Other portions of the RDF graph that do not follow the OWL specification have no OWL semantic interpretation—though, of course, they will have an RDF interpretation.
OWL Lite enables you to define an ontology of classes and properties and the instances (individuals) of those classes and properties. This and all OWL levels use the rdfs:subClassOf relation to defined classes that are subclasses of other classes and that thus inherit those parent classes properties, forming a subsumption hierarchy (or equivalently, as we've seen, a subclass taxonomy), with multiple parents allowed for child classes. Properties can be defined using the owl:objectProperty (for asserting relations between elements of distinct classes) or owl:datatypeProperty (for asserting relations between class elements and XML data types), owl:subproperty, owl:domain, and owl:range constructs.