Why develop an ontology? There are several possible answers to this question; first of all to capture the knowledge about some domain of interest in order to be able to separate the operative and dichiarative knowledge. Moreover the development of an ontology allows to share a common language/understanding of a particular information structure between men and/or sw agents laying the basis for the domain knowledge reusability and getting in an formal way the assumptions about the domain of interest.
From a practical point of view the definition of an ontology is based on its classes definition, their gerarchic taxonomical organization (subclass, superclass), their property definition, their allowed values and the instances creation with their associated values. There is not a given formula to model a domain of knowledge as the ontology has to mirror the real world that is going to model. The best solution relies on the application of the ontology and future extensions. The development of an ontology is an iterative process: the concepts should be similar to the objects and relations of the domain of interest. The concepts are equivalent to the names used in the domain of knowledge and the relations to the verbs.
To create an ontology we should ask ourselves some preliminary questions and find the proper answers. The most important one is "What is the domain of the ontology?" or in other words what are the main concepts we should start working on, what are the basic concepts we can take for granted, how deep we have to develop correlation fields, if there are meaninful relations but the inheritance. Another question we cannot leave apart is "What will be the ontology ultimate usage?": this has an impact on all what refer to information coding, the search engine; if we should define attributes also for relations; what the instances will be. An important aspect to answer is who is going to use and maintain the ontology? Another step, essential to the creation of an ontology, is to write typical queries, i.e. typical questions the ontology we are developing is going to answer and in which detail.
The creation of an ontology has not been an Hobson's choice, on the contrary it has been a thoughtful choice. As we have already pointed out, we could have developed a database but this would has implied some limitations as for example that it would has been accessible by the author only. With regard to that, if we would have obtained the same results to a given query done on our ontology we should have at least transcript all the mathematical books of the De expetendis rebus. Moreover a classical web search approach done with Google would have returned with a lot of outside the context answers.
The World-Wide-Web (WWW) as it is structured today is just like a black box that contains a lot of information but without any order or any availability of maps that guide to find the right information. A normal experienced user has just one strategy to follow to find information in the WWW, this is based on syntactical search of key words. The obtained results will contain all the sources also the ones that make use of those key words in another context. The problem to point out is not the existence of the information in the net but the possibility to recover it by means of a search engine. If a search engine returns an enormous and heterogeneous amount of information then this is alike to no information at all; moreover the returned information should be really available for consulting and understandable.
Ontologies are a new instrument that allows adding the semantic to the resources available on the net. By mean of the ontologies is possible to build web based semantic maps usable by both computer and people. In fact ontologies allow to formally explicit concepts and relations for a given knowledge domain.
The Web extended with the use of ontologies is refereed as ``Semantic Web''. His inventor Tim Tim Berners-Lee, describes it with the following words: The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation . Following Tim Berners-Lee idea, the Semantic Web should be structured at least on 4 main separate levels:
HTML (HyperText Markup Language) has been the first language developed for the Web. It is a very simple language easily to use, but at the same time it is not suitable for advanced applications. Its main defect it is that it defines only data format, by defining the appearance they should have on the screen. The XML (eXtensible Markup Language) has been developed to overcome these limitations and in particular to separate the content markup from the formatting. This language can be used to create structured documents but it is not able to manage the semantic of the contents and for this reason it has been used in conjunction with advanced ones. One of them is the RDF (Resource Description Framework), a standard developed by the W3C to manage metadata and the semantic web; the RDF language is based on XML and it allows describing resources in terms of properties and values. The Semantic Web is built on XML and RDF languages.
Metadata are special data types that give information about quality, the structure and the content of the data itself. Annotations are the keys element of the Semantic Web. They are a way to insert and associate metadata to a Web resource and for this reason they are used to introduce the semantic in a web document and they allow the support of ontologies.
Ontology was in the origin a philosophical subject that dealt with the study of existence, of its fundamental categories and it is one of the main branches of metaphysic. In the field of ``artificial intelligence communities'' an ontology can be defined as an ``explicit specification of a shared knowledge'' that is a formal description (i.e. it should be ``machine-readable'') and moreover it is an explicit description (i.e. all the concepts and constraints are well defined) of a knowledge domain.
This site is conformal to HTML 4.01 - W3C.