mulgara - semantic store

skip navigation


Semantic Web

Now imagine that all the information on the World Wide Web (about bicycles and everything else), currently locked away in a series of unrelated HTML files, was somehow organized and linked in such a way as to be processable by computer applications. These computer applications could wade through the mountains of information available and present to you the specific information you require, in the format you desire. This is the vision of what people call The Semantic Web.

Going back to the bicycle example, this time using a Semantic Web browser (which does not exist yet, by the way), you specify the following criteria for the bicycle you want to buy:

Your Semantic Web browser returns for you:

How did the Semantic Web browser determine all this? First of all, the available information was organized and categorized in such a way as to be computer application processable. Secondly, using rules associated with the information, and the criteria you specified, inferences were made to determine the information to present to you.


Elements of the Semantic Web

How is data on the Semantic Web linked and organized? What are the rules and how are they specified?

All data on the Semantic Web is described using (among other things) Classes, SubClasses, Properties and Subproperties. How classes and properties fit together is described using Ranges and Domains.


Classes refer to a type or a category of something. Classes that are a subset of one or more classes are called subclasses. Individual resources that belong to a class are called instances of that class. Instances of a class, which is a subclass of another class, are automatically instances of the higher level class.

Using the bicycle example again, we have the following definitions:

Automatically, without any further definitions, we know that all instances of the RoadBicycle class also belong to the Bicycle class and the HumanPoweredVehicle class.

This is an example of inferencing. Knowing that a resource belongs to a class, which is a subclass of another class, we can deduce, or infer, that the resource also belongs to the higher level class.


Now that we have classes of things, we need to be able to describe them. Properties are the characteristics, or descriptions, of classes. Properties of high level classes also apply to all subclasses of the class.


The values a property can have are specified using Ranges. Properties can have zero or more ranges (where ranges are in fact defined as classes).

For example, we have the following definitions:

In order to specify the possible values for the Color property (red, white or blue), we define that the:


Properties are assigned to classes using Domains.

For example, to assign the Color property to the Bicycle class, we define that the Color property is in the domain of the Bicycle class. That is, bicycles have color.

Based on the above range and domain definitions, we have stated that all bicycles have color, and the color can be red, white or blue. From this, we can infer that all bicycles (road and mountain bicycles) come in three colors and three colors only: red, white and blue.

Note - There are no definitions regarding the other types of human powered vehicles besides bicycles. With no rules specified, we can not make any inferences about the color, for example, of row boats, kayaks or any other instances of the HumanPoweredVehicle class.

Additional Features for Describing Classes and Properties

There are many other features used in inferencing, some of which include:


Implementing Inferencing

The Semantic Web and inferencing is implemented using the features of the following languages:

The intent of this document is only to introduce the concept of inferencing. If you want to know more about inferencing and other Semantic Web related topics, the Semantic Web Best Practices and Deployment Working Group's Semantic Web Tutorials site provides many links to RDF, OWL, SOFA and other sources of information.

Valid XHTML 1.0 TransitionalValid CSS 3.0!