• Ingen resultater fundet

Introduction to ontologies

PART V. APPENDICES

4.2 Introduction to ontologies

Ontologies have become more and more common on the WWW in recent years. Its development has moved from the realm of Artificial Intelligence to the desktops of domain experts.

4.2.1 Why to develop an ontology?

There are several reasons for developing ontologies [10]; some of them are for instance:

¾ To share common understanding of the structure of information - This is probably the more common reason to develop ontologies. This sharing of common vocabulary can be done not only among people but also among software agents.

For example, if some web sites that have the same type of content (for instance DVDs, music CDs and books) were sharing a common underlying ontology of the terms they use, then computer agents could extract and aggregate information from those sites and use it to answer user queries, make price comparisons and so on.

¾ To enable reuse of domain knowledge – This was one of the main reasons of the recent increase in ontology research. A lot of domains need to represent common notions like for example the notion of time. An ontology about this can be developed in detail and then simply be reused in other domains. Another reuse case is when a general ontology is extended to describe a particular domain of interest o when an ontology (or more) is integrated in another one to describe a portion of a large domain.

¾ To separate domain knowledge from the operational knowledge – This is another common use of ontologies. For example, it can be possible to have an ontology of PC-components and then “feed” it to a separate program that configures PCs according to some specifications (made to order computers).

Then it could also be possible to “feed the” same algorithm with another ontology, an escalator-components one for instance.

¾ To analyze domain knowledge – This is possible once a declarative specification of the terms is available.

Semantic Web & Ontology Survey

Sometimes to develop an ontology of a particular domain is not a objective in itself, it is more important to define the structure of data for other programs to use it.

4.2.2 Types of ontologies

There is not consensus when it comes the time of defining the types of ontologies.

Some researches propose different kinds of ontologies taking several criteria into account, such the formality of the language or the level of dependence on a particular task or point of view. Guarino [17] for instance considers the last approach to classify ontologies and identifies the next basic types:

Top level ontologies - describe general concepts like space, time, matter, object, event or action, concepts which do not depend of a particular problem or domain. However, the development of an enough general top level ontology has not been accomplished yet.

Domain ontologies – describe the vocabulary related to a generic domain (like medicine or vehicles for instance) by means of specializing the terms introduced in the top-level ontology.

Task ontologies - describe the vocabulary for a generic task or activity (such as selling) by means of specializing the terms introduced in the top-level ontology.

Application ontologies - describe concepts which depend on both a particular domain and task. The concepts often respond to roles played by domain entities while performing certain task. This is the most specific type of ontology.

The following figure shows the different kinds of ontologies according to their level or generality (arrows represent specialization relationships).

Figure 4.1 – Types of ontologies [17]

Semantic Web & Ontology Survey

Dutra [18] on the other hand, identifies five kinds of ontologies. Note their similarity to the ones used in Guarino’s classification.

Upper-Level ontology, defines the base concepts upon which other ontologies are created.

Domain ontology (also called classic ontology), defines the terminology and concepts relevant to a particular topic or area of interest.

Process ontology, defines the inputs, outputs, constraints, relations, terms, and sequencing information relevant to a particular business process or set of processes.

Interface ontology, defines the structure and content restrictions relevant for a particular interface (e.g., application programming interface (API), database, scripting language, etc.).

Role-based ontology, defines terminology and concepts relevant for a particular end-user.

This classification could easily fit in Guarino’s classification, which seems clearer and more general.

4.2.3 Ontology languages

Ontologies have languages for representation. RDF/RDFS is one of these languages.

Ontology languages, like many other programming standards and languages, have evolved through the recent years. Among the early languages are Ontolingua and LOOM, to later ones like RDF/RDFS. The most frequently used at this time are probably DAML+OIL followed by RDF/RDFS. DAML+OIL is a joined force of DAML, an RDF Schema based language, and OIL for better performance [15].

OWL is a language derived from DAML+OIL and is still a working draft at W3C [I].

All these languages are based on the previous ones and extend their properties. Key features of OWL, compared to the previous languages, are that it adds more vocabulary for describing properties and classes. Examples of this are new relations between classes, like disjointness, cardinality, equality and richer typing properties.

OWL is only supported by a very few number of the currently available ontology editors, because of still being a working draft. There are some free converters that can transform an ontology into OWL format.

Here is a table containing some brief information about the more relevant ontology languages nowadays.

UML RDF(s) DAML+OIL OWL Description Universal

Modelling Language

Resource Description Framework

DARPA ML + Ontology Inference

Web Ontology Language Years since >5 >3 3 or less 3 or less

Semantic Web & Ontology Survey

Open Source Support

√ √ √ Coming

Figure 4.2 – Ontology Languages summary