This document is the first in an exciting thirteen volume escapade through the syntaxes, sub-languages, along with other details behind OWL 2 and its differences from OWL 1.
Where does OWL Fit In?
In the realm of computing, an ontology defines the terms used to describe and represent an area of knowledge, typically by describing the relationships between the terms.
The use of ontologies makes OWL 2 essentially another piece of the toolset bringing the semantic web to life. Like RDF and RDFa, OWL's function is to aid machines in processing and making sense of web content. In this case, OWL 2 allows you to further define relationships in particular areas.
The logical portion of an OWL 2 ontology contains three "syntactic categories:"
- Entities - Classes, properties, individuals and others that are essentially elements of the domain being modeled. Led with the text a:
- Expressions - Complex notions of the domain being modeled.
- Axioms - Statements that are asserted to be true in the domain being modeled.
These elements are built using International Resource Identifiers (IRIs).
Let's take an example. Say that you have a dog (entity a:Dog) named Spot (entity a:Spot) who is of the breed Border Collie (entity a:Border_Collie).
Spot is a Border Collie, and a Border Collie is a breed of dog.
OWL 2 allows a computer to understand that Spot is both a Dog and a Border Collie. Here, Dog is a class of creature. Through an Axiom, we can say that it's true that a Border Collie is a sub-class of the class Dog. Class expressions that might be part of this ontology include:
ClassAssertion( a:Dog a:Spot )Spot is a dog.ClassAssertion( a:Spot a:Border_Collie )Spot is a Border Collie.IntersectionOf( a:Dog a:Border_Collie ) All Border Collies, which includes Spot.
From here, the ontology defined through OWL 2 can be mapped to an RDF graph and vice versa and then further simplified to RDFa if you wanted to do so. Of course, just this section is a fraction of the OWL 2 specification, but it should serve well enough as a teaser to get you started.
What's New in OWL 2
For those familiar with OWL 1, new functionality added to OWL 2 includes:
- Property chains
- Richer datatypes and data ranges
- Qualified cardinality restrictions
- Asymmetric, reflexive and disjoint properties
- Enhanced annotation capabilities
These additions move OWL's functional syntax closer to an RDF graph, also offering a formal equivalence to UML. The changes also allow for mapping from an RDF graph back to OWL, which was not possible before. There are also additional sub-languages available in OWL 2 that did not exist in OWL 1.
For more on the OWL Web Ontology Language, see the OWL Working Group site.