Ontology of Ontology (O3)

URI:http://dfdf.inesc-id.pt/ont/o3

Editors

Abstract

This document defines an ontology that can be used to classify ontologies. The RDF/XML document of this ontology can be retrieved either through HTTP content negotiation for "application/rdf+xml", or through this link.


1. Background

1.1 Some history

The concepts described in this document was initially developed at Charleston Core, which in retrospect contains certain ambiguities and undefined concepts. Here, we further refine the developed concepts and add some new ones. The goal is to used the concepts developed here to aid the process of Ontology Normalization.

1.2 What is an ontology in the Semantic Web?

Conceptually, what is an ontology is very much debatable subject [1]. But engineeringly and in the web, an ontology is simply the RDF graph associated with a URI. Although this definition seems too generalall, all existing definitions are subjective because they tend to define ontology from the role it will serve in an application. But within the web, we do not know, at least not for sure, how an RDF is going to be used in an application. Hence, any web resource is, in fact, an ontology. Even for the resources that do an have an RDF representation, they can be implicitly associated with an RDF assertion of "<> a rdfs:Resource". But in general, we consider an ontology to be the resource that defines the conceptualization of a group of closely related ontological terms.

1.3 The intensional vs. extensional meaning

Each ontological term carries two kinds of meanings. The first kind is extensional. Extensional meaning is carried by the name, i.e., URI, of the term because the meaning refers to the extensional entity refered by the URI. The second kind of meaning of an ontological term is intensional. Intensional meaning refers to the logical constrains put on the term's relations to other. Take rdfs:subClassOf as an example. Its extensional meaning is the concept of "subclass", whatever it is in human knowledge. Its intensional meaning is the constrains that both its rdfs:domain and rdfs:range must be a rdfs:Class.

The interpretation of the extensional meaning is made by humans but that of intensional meaning is by machine, typically a reasoner. In general, no extensional entity can be completely identified through a logic theory. The two kinds of meanings do not match each other exactly. Usually, the logic theory, i.e., the intensional meaning, is more general than its intended use, i.e., the extensional meaning, of a resource.

Please note that an RDF graph does not have to be backed by a logic. RDF is simply a language that is used to making assertions (not necessarily formal assertions) about resource.

1.4 Classifications

Ontologies are classified along several semantic dimensions. First, we make distinctions between the ontologies that defines the concept of a logic language (Logic vs. DomainOntology). Second, ontologies are classified according to if they serve as pure namespaces, or a domain theory specified in a logic language, or both (Vocabulary, Theory, and ConcreteOntology). Third, ontologies are classified according to if the ontology's conceptualizations require the domain knowledge deployed elsewhere (Local vs. Complex). The detailed semantics of each term is explained in the next section.

Ontology of Ontologies

Figure 1: Ontology of Ontologies. The graphical syntax uses DLG2 and one of its extensions.

2. Ontologies

Logic

An o3:Logic is an ontology that specifies the primitive constructs of a logic language. By definition, o3:Logicdisjoints with o3:DomainOntology .

RDFS, OWL can be considered cases of o3:Logic.

DomainOntology

An ontology that is not an o3:Logic can be considered a o3:DomainOntology. Most ontologies should belong to this category. By definition, o3:DomainOntology disjoints with o3:Logic.

Vocabulary

An ontology is a vocabulary if it only serves as a namespace. In other words, the RDF graph retrieved from the ontology's URI does not contain any logical assertions. An o3:Vocabulary, in effect, ground extensional entities into the web but does not restrict the use of thoese URIs. The semantics of these URI shouuld only be specified in human language through the use of owl:AnnotationProperty, such as rdfs:label and rdfs:comment etc., An o3:Vocabulary should be completely inference-free. Using terms defined in an o3:Vocabulary, therefore, can never lead to a logical contradition. By extension, any o3:Vocabulary instance is an o3:Local. An example of o3:Vocabulary is the DFDF vocabularies.

An o3:Vocabulary is disjoint with o3:Theory and o3:ConcreteOntology.

Note. It seems that o3:Vocabulary can be specified to have zero imports. But such a restriction would prohibit using an ontology that defines only AnnotationProperties. In addition, it also exclude the case when we only uses the AnnotationProperty of a logic language, such as using rdfs:label and rdfs:comments.

Theory

In contrast to o3:Vocabulary, an o3:Theory only carries the logical constraints of ontological term but does not serve as a namespace. An example o3:Theory is the DFDF core ontology, where part of DFDF vocabularies are logically constrained.

It is worth noting that whether an Ontology is a o3:Theory depends on the designated logic language. If, for instance, we disregard all the logical constains of OWL terminologies, an RDF graph described in OWL is simply a set of informal RDF statements. In other words, there can be many different subClass of Theory, such as RDFS Theory, OWL Theory etc.

An o3:Theory is disjoint with o3:Vocabulary and o3:ConcreteOntology.

ConcreteOntology

A ConcreteOntology serves as both a namespace and a logic theory. This ontology that you are reading is, in fact, an o3:ConcreteOntology. So, does RDFS, OWL, and Dublin Core Metadata Elements.

Local

An o3:Local is an ontology, whose logical theory does not dependent upon conceptualization developed and deployed elsewhere. Therefore, an o3:Local can only import o3:Logic and nothingelse, such as RDFS and OWL.

Complex

In contrast to o3:Local, o3:Complex is an ontology, whose domain theory depends upon conceptualization deployed elsewhere. In other words, an o3:Complex imports ontologies other than o3:Logic.

LocalTheory

If an ontology is both o3:Local and o3:Theory, it is a o3:LocalTheory. A case in point is DFDF core ontology.

LocalOntology

If an ontology is both an o3:Local and an o3:ConcreteOntology, it is a o3:LocalOntology. A case in point is Dublin Core Metadata Elements.

ComplexTheory

If an ontology is both o3:Complex and o3:Theory, it is a o3:ComplexTheory. A case in point is DFDF Stream ontology.

ComplexOntology

If an ontology is both an o3:Local and an o3:ConcreteOntology, it is a o3:ComplexOntology.

Profile

The conceptualization of Profile is intially developed at Charleston Core, where its semantics, however, was not specified quite clearly. Profile was developed so to make the definition of intensional normalization clear. But in Charleston Core, we only considered the case of intensionally normalize a ComplexOntology. But intensionally normalization can be applied to a ComplexTheory as well.

Every RDF statements in an o3:Profile is composed with concepts defined from at least two o3:Locals. In other words, for any RDF statement (s, p, o) in an o3:Profile, the conceptualizations of s, p, and o must NOT come from the same LocalOntologies.


1. Guarino, N. and Giaretta, P. 1995. Ontologies and Knowledge Bases: Towards a Terminological Clarification.
In N. Mars (ed.) Towards Very Large Knowledge Bases: Knowledge Building and Knowledge Sharing 1995. IOS Press, Amsterdam: 25-32.