Ontology of Ontology (O3)
by Xiaoshu Wang
Introduction
Ontology of Ontology (O3) is created to classify ontologies according to the conceptualization that an ontology offers. Here, we take the an ontology'symbol/model dichontomy to account for its extension/intensional conceptualization because it allows us to objectively classify ontology and perform normalization for the sake of ontology sharing and reuse.
First, O3 partitions all ontology into three categories depending on the type of conceptualization that an ontology addresses.
Vocabulary only addresses extension conceptualization in the sense they only offers the binding of URI to a concept; Profile on the other hand, only address intensional conceptualization. In other words, a profile's namespace is an empty set. ConcreteOntologies addresses both. ConcreteOntologies are further divided into LocalOntologies and ComplexOntology. Local Ontology does not import foreign concepts whereas ComplexOntology does. Here is the design of the O3 (Figure 1).

Figure 1 The design of Ontology of Ontology (O3) in DLG2
Ontology Normalization
Intension Normalization
ComplexOntology should be avoided because it create a strong dependency between ontologies. It introduces the developers bias and makes the ontology less sharable. ComplexOntologies should be nornalized into LocalOntologies and Profiles. By this normalization, ontology creation is separated from ontology merging. The normalization will increase system's robustness because the change in ontology won't affect other ontologies but the few dependent profiles. In addition, it also maximize system's expressive power because ontologies can now be combined in anyway users wants.
Extension normalization
An o3:LocalOntology can be normalized into a o3:Vocabulary and o3:Profile. Extension normalization is useful if ontology's lexical consistency must be preserved when the intensional account of a local ontology needs to be overturned. But if there is no need for URI to outlive its intensional conceptualization, extension normalization is not necessary because using a local ontology will be more convenient.
Vocabularies
Classes
Vocabulary
An o3:Vocabulary is an Ontology that binds a domain concepts with a URI but offers no further description. Although an ontology's symbol space is governed by its XML namespace while its model is by RDF model. It is in fact impossible to completely separate them in practice because there is always a default statement of "_:foo a rdf:Resource". Hence, a vocabulary should be more precisely defined as the ontology that (1) has a non-empty namespace and (2) has an RDF model composed of tautologies. Statement made of AnnontationProperty should be considered a tautology in the sense that they won't have any inference consequences. In addition, OntologyProerpty should also be treated differently.
Profile
In contrast to Vocabulary, an o3:Profile does not bind a domain concept with URI. A Profile's namespace therefore is an empty set. An o3:Profile combine a number of ontologies and reinterprete/merge the conceptualization of individual ontologies into a particular viewpoint of the world.
ConcreteOntology
An o3:ConcreteOntology is defined to be those ontologies that is neither a Vocabulary nor a Profile. The o3:Vocabulary, o3:ConcreteOntology and o3:Profile are disjoint with each other.
LocalOntology
Local Ontology does not use foreign concepts, i.e., (1) no owl:import (2) no direct reference of any foreign concepts. Please note, foreign concepts do not include rdf, rdfs, owl. AnnotationProperty are excluded as well because they will not affect ontologies conceptualization.
ComplexOntology
Complex Ontology is an ontology, which namespace is a non-empty set and references foreign concepts
Properties
useProfile
Because no resources are associated with o3:Profile's namespace, explicit import the statement in resources are needed. The o3:useProfile is created for this purpose. The rdfs:domain of o3:useProfile can be any resources but its rdfs:range must be an o3:Profile.
