Navigation:  Introduction >

Introduction to Ontologies

Previous pageReturn to chapter overviewNext page

Before you can start using the Semantic Search Engine and in order to get the most out of it, some background information is necessary to get better acquainted with ontology-driven knowledge bases. This is necessary as having some basic understanding of how ontologies work and how metadata are stored in the knowledge base is vital in taking advantage of the Semantic Search Engine functionality and formulating complex queries.

Ontologies background

Ontologies describe formally a domain of discourse and embody some sort of world view with respect to the given domain. Typically, an ontology consists of a finite list of terms (e.g. entities, attributes, and processes), their definitions and inter-relationships. The terms denote important concepts (classes of objects) of the domain. This is generally referred to as a conceptualization.

For example in a library setting, books, members, staff members and loans are some important concepts.The relationships include typically hierarchies of classes. A hierarchy specifies a class C to be a subclass of another class C' if every object in C is also included in C'. For example, all books are loan items.

In the ontology, classes encapsulate the meaning of concepts. In other words, a class describes all those features that define the concept in the domain. An instance of a class in the ontology represents a specific object whose type is characterized by the concept in the domain. For example, "Ender's game" could be an instance of the class Book in the library ontology and "Tom Gruber" could be an instance of the class Member.

Apart from subclass relationships, ontologies may include information such as:

properties (X loans Y).
value restrictions (only library members can loan books).
specification of logical relationships between objects (every member can loan at most 10 books at any given time).

Properties

Relations between classes are defined by properties and describe the kind of associations that are possible between classes. Properties are also used to describe features of a class and represent attributes that have a specific type such as boolean, integer, string, etc. Examples of such properties are phone, title, age, etc. Restrictions can be imposed both on classes and on properties in order to refine their semantics.

For more details on restrictions refer to Property Restrictions.

Value types

A value-type describes what types of values a property can take. Here is a list of the more common value types:

String

String is the simplest value type which is used for properties such as name.

Number

It describes slots with numeric values. More specific value types of Float and Integer are frequently used. For example, the phone number of a member in a library can have a value type Integer.

Boolean

Boolean slots are simple true–false flags. For example, if we choose not to represent faculty members as a separate class (subclass of members), whether or not a member is part of a faculty can be represented as a value of a Boolean property: if the value is true the member is a faculty member and if the value is false the member does not belong to a faculty.

Instance

Instance-type properties allow the definition of relationships between classes. Properties with value type of Instance must also define a list of allowed classes from which the instances can come. For example, a property loanedBy for the class Book may have instances of the class Member as its values. Instance-type properties are also called object properties because they link objects, or relations because the relate classes of objects.

Domain and Range of Properties

Allowed classes for properties of type Instance are often called the range of the property. In the example where the property loanedBy relates classes Book and Member, the class Member (the third element in the triple; see also the next section explaining triple forms) represents the range of the loanedBy property.

On the other hand, the classes to which a property is attached or which the property describes, are called the domain of the property. The Book class is the domain of the loanedBy property.

If a class is the domain or rage of a property, all of its subclasses also constitute the domain or range of that property and can be associated with that property without explicitly specifying this. For example, if we wanted to retrieve all objects associated through the property loanedBy to objects of the class Book, we would retrieve objects of the class Member. We would also retrieve, however, objects of all subclasses of Member that satisfy the criteria (i.e. are related with some object of Member through the property loanedBy). So if FacultyMember is a subclass of Member it is implicitly associated with the class Book through the property loanedBy.

Triples

Concepts and their relationships are recorded in ontologies as conceptual triples (also called statements) in the form:

subject - predicate - object

In triples the subject corresponds to some class in the ontology while the object can either correspond to a class or to a basic data type such as int, string, boolean, etc.

In the first case the predicate represents a relation between classes in the ontology and is called an object property, while in the second case it represents an attribute of the class corresponding to the subject in the triple and is called a datatype property.

The notion of triples is important when formulating queries in the Semantic Search Engine. The simplest query we can create is comprised of one concept, whose objects we would like to retrieve from the repository. For example, if we wanted to retrieve all members in the library ontology setting we would have to specify the class Member.

If we wanted to refine the query we would specify the concept Member and also a restriction on a property associated with this concept, effectively making the search more specific. For instance, if there was a property hasLoaned relating the concept Member to the concept Book we could impose a restriction on this property so as to formulate a query such as "searching for members which have loaned some books".

For more details on query restrictions refer to Property Restrictions.
For more details on formulating queries refer to Query Formulation.

See also:

Property Restrictions

Query Formulation