- 1 Ontohub
- 2 User Interface
- 3 Common Tasks
- 4 Infrastructure
- 5 Glossary
- 6 References
Ontohub is an open ontology repository which supports organisation, collection, retrieval, development, mapping, translation, and evaluation of a wide array of ontologies formalised in diverse languages.
The Ontohub team is looking forward to providing technological infrastructure for the forthcoming FOIS 2014 Ontology Competition. Accordingly, several new features are going to be launched on the Ontohub soon.
This wiki entrance aims at providing instructions and support to the Ontohub users. See also FAQ.
The home page of Ontohub provides access to all public repositories, ontologies, symbols, logics and ontology mappings stored in this hub of distributed, and yet interconnected, ontology repositories. Recently updated repositories and ontologies are listed as well.
The full functionality of Ontohub (ontology and repository, creation, collaborative editing and development of ontologies, mapping across ontologies, visualisation, and evaluation) is available upon sign in. Every registered Ontohub user can modify and adjust its own version of interface, i.e. specific and highly personalised access to the repository content.
Besides serving as an ontology repository, Ontohub is also a hub that links other ontology repositories. Ontohub provides a single web interface to access various ontology repositories, either hosted or mirrored on Ontohub. The button Repositories (on the menu-bar) leads to the page where all public repositories are listed and the access to their content provided. In addition, Ontohub allows creation and hosting of new repositories, the function available to all registered Ontohub users. Along the opportunity of creating a new repository, Ontohub users can get advantage of the Ontohub collaborative environment in order to develop ontologies and/or repositories in either problem or domain oriented manner. Thus, Ontohub supports reuse of ontologies stored in other ontology repositories and creation of new repositories that organize ontologies resulting from the activities of a team focused around a particular project or a specific task.
It is also possible to create private repositories. These are visible only for users who have read-permission for the repository.
Ontology search can be performed either over whole Ontohub content ('Ontology' tab on the menu bar) or over ontologies stored within a particular Ontohub repository (Ontology browser on the page of a particular Ontohub repository).
Ontology retrieval is done by typing into the ontology browser one or many of the available search criteria:
- ontology name
- ontology acronym
- ontology language
- a symbol or a label that an ontology contains
- a particular domain (category) that an ontology belongs to (e.g. space, biology, etc.)
- ontology type (e.g. upper, domain, task, etc.) Please note that this feature has not been implemented yet.
Since the search engine uses metadata to retrieve an ontology, all Ontohub users are encouraged to specify metadata about their ontology during the ontology upload. Having described an ontology domain, type, task, etc. increases findability of an ontology.
Under the mappings tab, you can see all mappings. Mappings always have a source and a target ontology, and provide mappings or relations between the symbols of these ontologies.
Currently, new mappings can only be created using e.g. an interpretation or an alignment in a DOL file, and uploading that DOL file.
Submitting an ontology
The submission of a new ontology into Ontohub consists of the following steps:
a. Register/sign in ontohub.org
b. Select an existing repository that fits best your specific target domain, task, and ontology type; All public repositories are listed upon clicking on the 'Repository' button in the main menu; alternatively, it is possible to create a new repository (as described in section below); certain repositories are 'read-only' while others allow editing of the repository content;
c. If uploading an ontology to the existing repository you will need to get a permission via requesting the editing rights; the permission is provided by the administrator of the repository ('owner'); After selecting (or creating) an appropriate ontology repository and acquiring the editing rights, the ontology upload can proceed through the use of file system.
d. The 'Edit' button appears on the page of each repository for which you have the editing rights. 'Edit' button leads to the interface with the editing option. So, the first step in editing is to to confirm that you want to 'Update repository'. The next step is to go to the section 'Ontology files and related files', where you can upload your ontology as a new file. The information provided there in gets stored into the file system, which can afterwords be accessed at the 'Ontology files and related files'. You might want to upload your ontology into an already existing folder that stores ontologies of your interest. In that case, in the section 'Target directory' you will need to type the exact name of the directory in which you want to store your ontology file. Into the section 'Target file name' you will need to type the ontology name together with its correct extension, e.g. name.owl, name.clif etc. A message that accompanies upload is optional but desirable as it can be helpful in tracking the history of activities and changes in repository. The next step is to 'Upload file'.
e. Since your submitted file is recognised as an ontology (via its extension), you will need to provide metadata that describe your ontology: ontology name, category (domain), ontology type, formality level, and a specific description. The inserted metadata are helpful in classification of ontologies in repository and their easier, a task specific retrieval.
When selecting metadata that describe the domain of your ontology you can select multiple fields ('Categories') that will help to characterise your ontology as specific as possible. For instance, if an ontology is about anatomy of a biological species, then the appropriate categories would be 'biology' and 'space', while a geospatial ontology can be associated with the domains 'geography' and 'space', an ontology that describes chemical structures would be associated with 'chemistry' and 'space'.
'Ontology type' and 'Formality level' provide specification of your ontology as a domain ontology, an upper level ontology etc. Please note that the classification of ontology types and formality levels mostly follows the OMV specifications. Modifications and revisions to this classification are work in progress.
'Description' of ontology provides an important narrative, i.e. information that will additionally help users (people and machines) to capture the targets and aims of the ontology designer.
Editing an ontology
Evaluating an ontology
Creating an ontology repository
Every registered Ontohub user can create a new repository via the button 'Create repository'. The repository creator acquires administrative rights, i.e. management of repository, editing permissions, and visibility of repository (public or private).
While considering creation of a new repository, every Ontohub user should mind knowledge sharing as the driving force in ontology development. In oder words, private repositories are designed to serve the research purposes only. Accordingly, private repositories can be used to store work in progress. As soon as work on ontology development and mappings reach the stage to be published, it is recommended to make private repository and/or its content publicly available. It is also advisable to publish ontologies in already existing repositories that are domain or problem oriented, e.g. geospatial ontologies can be published in SOCoP or SpacePortal; biomedical ontologies in BioPortal etc. By following this policy, Ontohub users support joint efforts of ontology community in knowledge sharing and ontology reuse.
Maintaining an ontology repository
Ontohub infrastructure is powered by the open-source web framework Ruby on Rails for building dynamic web applications. Accordingly, Ontohub has a git structure that supports versioning and management of the Ontohub content.
In addition, the git structure of Ontohub supports stability of the system. Having separate branches for development and staging, software developers are introducing new features of Ontohub on its develop branch. After going through all necessary tests for stability, new features are merged to the staging (and master, i.e. visible website). In that way, the UI on the main page is always stable.
The parsing and inference backend of Ontohub is the Heterogeneous Tool Set (Hets). A detailed architecture of Ontohub you can find on page 8 of Ontohub preprint paper 
Ontohub accesses the Heterogeneous Tool Set Hets via a RESTful web service interface for having the structure of ontologies analyzed. Hets already supports a large number of basic ontology languages and logics, and is capable of describing the structural outline of an ontology from the perspective of DOL, which is not committed to one particular logic.
Distributed Ontology Language (DOL) covers all state-of-the-art ontology languages, and provides a meta level on top of these. This meta level allows for the representation of logically heterogeneous ontologies. DOL ontologies may comprise of modules written in ontology languages with different underlying logics. Moreover, the DOL meta level constructs allow for links between ontologies such as relative interpretations or conservative extensions. 
Since the Ontohub infrastructure supports DOL, it allows the Ontohub users
- to relate ontologies that are written in different formalisms;
- to re-use ontology modules even if they have been formulated in a different formalism;
- to re-use ontology tools like theorem provers and module extractors along translations between formalisms.
DOL is currently being standardised within the OntoIOp working group.
LoLa is an ontology of (ontology) Logics and Languages. Onthub implements LoLa for structuring the repository content. The OWL core of the LoLa ontology comprises classes for ontology languages, logics, mappings (translations or projections) between ontology languages and between logics, as well as serialisations. The LoLa properties relate all of the former classes to each other. Besides its OWL module, LoLa includes additional FOL axioms for closure rules not expressible in OWL, such as non-expressible role compositions and circumscription rules for minimising the extension of default translations. 
|Logical theory||set of expressions (like non-logical symbols, sentences and structuring elements) in a given logical language|
|Alignment||flexible, relational link that does not always have a formal, logic-based semantics|
|Matching||algorithmic procedure that generates an alignment for two given logical theories|
|Logical language||language that is used for writing down logical theories (e.g. formal ontologies, models and specification), equipped with a formal, declarative, logic-based semantics, plus non-logical annotations|
|Link||relationship between two logical theories, relating their non-logical symbols|
|Language translation||mapping from constructs in the source logical language to their equivalents in the target logical language|
|Interpretation||logical link that postulates a relation between two logical theories|
|Combination||aggregation of several logical theories along links to a new logical theory where (only) the linked non-logical symbols of the involved logical theeories are identified|
|Conservativity||property of an extension of theories, ensuring that the extension does not add new logical context|
|Basic logical theory||set of non-logical symbols, sentences, annotations about them, which is used as a building block for a larger logical theory|
|Axiom||sentence postulated to be valid (i.e. true in every model), party of a logical theory|
|Theorem||sentence that has been proven (in some logical theory) from other axioms and theorem|
|Structured logical theory||logical theory that results from other logical theories by import, union, combination, renaming or other structuring operations|
|Sentence||term that is either true or false in a given model, i.e. which is assigned a truth value in this model|
|Satisfaction relation||relation between models and sentences indicating which sentences hold true in the model|
|Non-logical symbol||atomic expression or syntactic constituent of a logical theory that requires an interpretation through a model|
|Module extraction||activity of obtaining from anlogical theory concrete modules to be used for a particular purpose (e.g. to contain a particular sub-signature of the original logical theory)|
|Module||subtheory that conservatively extends to the whole logical theory|
|Model||semantic interpretation of all non-logical symbols of a logical theory, satisfying the theory's axioms|
|Approximation||reduction of a theory to a less expressive logical language, such that the original theory implies the approximation|
- ↑ Mossakowski, Till, Oliver Kutz, and Mihai Codescu. "Ontohub - a repository engine for heterogeneous ontologies and alignments." preprint. PDF
- ↑ Mossakowski, Till, Christoph Lange, and Oliver Kutz. "Three Semantics for the Core of the Distributed Ontology Language." FOIS. 2012. PDF
- ↑ Lange, Christoph, Till Mossakowski, and Oliver Kutz. "LoLa: A Modular Ontology of Logics, Languages, and Translations." Workshop on Modular Ontologies (WoMO) 2012. 2012. PDF