PROTON is a light-weight upper-level ontology that defines about 300 classes and 100 properties, covering most of the upper-level concepts, necessary for semantic annotation, indexing, and retrieval. It is separated into three modules:
|System module||contains a few meta-level primitives (5 classes and 5 properties). It introduces the notion of 'entity' that may have aliases. The primitives on this level are usually a few elements that have to be hard-coded in the ontology-based applications. This module can be considered as an application ontology.|
|Top module||the highest, most general, conceptual level, consisting of about 20 classes. They ensure a good balance of utility, domain independence, and ease of understanding and usage. The top layer is usually the best level for establishing alignment to other ontologies and schemata.|
|Upper module||over 200 general classes of entities, that often appear in multiple domains (E.g. various sorts of organizations, a comprehensive range of locations, etc.)|
The diagram below demonstrates the dependencies between the different modules of PROTON and the KIM specific modules. The strongest dependency is placed at the bottom of the diagram.
The diagram also illustrates potential extension/customization paths. You can easily extend or substitute (partially or completely) the proprietary PROTON Top and Upper modules with any other Top and Upper ontologies. (Here, this is represented by the Custom Top Ontology and Custom Upper Ontology). However, we expect the PROTON Top and Upper modules to be efficient, consistent, and generic enough to satisfy the needs in the majority of use cases.
Application Ontology and Domain Ontology are designators of the respective specific application and/or domain ontologies that will be mapped to PROTON as its extensions, depending on the requirements of each particular use case.
To summarize, in order to be recognized by KIM, any extensions to the ontology must be integrated with PROTON and KIMSO.